Font in MicroStation


 Product:MicroStation
 Version:V8 XM, V8i, CONNECT
 Environment:N\A
 Area:Annotation
 Subarea:N/A

Font in MicroStation

Questa è una raccolta di informazioni relative ai font in MicroStation.

Perché i miei font non sono disponibili nel selezionatore di font?

Di seguito sono riportati alcuni motivi comuni per cui è possibile che i font non vengano visualizzati nei selezionatori di font e/o che vengano visualizzati messaggi di avviso di sostituzione dei font nel centro messaggi.

Nascondere i nomi di font duplicati

Riepilogo: I font RSC nascondono i font SHX e sia i font RSC che SHX nascondono i font TrueType (per nome).

Cosa fare: Disattivare completamente il mascheramento dei font, oppure nascondere manualmente i font indesiderati in modo che siano visibili quelli desiderati. Vedere la sezione "File di configurazione dei font" nel topic della guida di MicroStation: 'Composizione di disegni' > 'Annotazioni' > 'Uso dei caratteri'.

MicroStation V8i introduce la possibilità di nascondere i font con nomi duplicati; questo è il comportamento predefinito. Questo può accadere se si hanno font di differenti tipologie (RSC - font di risorse MicroStation, SHX - font di AutoCAD e font TrueType), ma con lo stesso nome (ad esempio "Arial").

RSC nasconde SHX perché MicroStation è in grado di generare font SHX allo scopo di esportare in DWG; ciò significa che in genere si desidera utilizzare il font RSC appropriato e ignorare le varianti SHX, a meno che non si debba lavorare direttamente con il file DWG. SHX (e RSC) nascondono i TrueType perché nel corso degli anni, molti font RSC e SHX possono essere stati convertiti in equivalenti TrueType per vari motivi. Preferire i font TrueType potrebbe potenzialmente impedire l'uso di molti font SHX e/o RSC.

Il mascheramento dei font può essere disabilitato completamente (trovare l'elemento HideDuplicateNames nel file di configurazione e modificare il suo valore da 'true' a 'false') o solo per font specifici. Vedere la pagina Wiki File di configurazione dei font di MicroStation. Nascondere font specifici può essere l'opzione migliore, in quanto preserva il comportamento previsto sopra, ma consente di scegliere il font corretto in scenari specifici.

Come nota a margine, può anche essere preferibile rimuovere i font di livello inferiore non utilizzato. Font come "Arial" (normalmente TrueType) sono talvolta nascosti a causa di equivalenti RSC legacy; i font TrueType hanno molti vantaggi e le versioni TrueType, quando esistono, sono raccomandate in sostituzione delle versioni RSC (o SHX).

 

Le definizioni dei Font non sono state trovate

Riepilogo: il centro messaggi di MicroStation dice che sta sostituendo i font perché non possono essere trovati, oppure si ritiene che il font dovrebbe essere disponibile ma non è nascosto come indicato precedentemente.

Cosa fare: Assicurarsi che i font siano localizzati in posizioni che MicroStation possa rilevare; queste posizioni possono variare in base al tipo di font (vedere sotto). MS_FONTPATH può essere usato come percorso di ricerca per tutti i tipi di font.

Font TrueType: Sono normalmente installati a livello di sistema e si trovano nella directory dei font di Windows (%SYSTEMROOT%\Fonts, ad esempio C:\Windows\Fonts). Per installare i font TrueType a questo livello è necessario essere amministratori del computer. V8i consente anche di aggiungere percorsi di ricerca tramite la variabile di configurazione MS_FONTPATH. V8i cercherà anche nella stessa directory del file di progettazione se il font non viene trovato da nessun'altra parte (solo TrueType e SHX). Per installare un font TrueType, vedere: Aggiungere un tipo di carattere (microsoft.com)

Font RSC: Questi font non possono essere installati a livello di sistema e devono trovarsi in una posizione individuata dalle variabili di configurazione. I font RSC sono raccolti in librerie di font RSC (file *.RSC) e sono in genere inclusi in un workspace o nella directory 'system' dell'area di lavoro locale. MicroStation cercherà tutti i file di destinazione nelle directory individuate tramite le seguenti variabili di configurazione: MS_SYMBRSRC e MS_FONTPATH.

MicroStation costruisce un elenco di file prima di MS_SYMBRSRC e poi di MS_FONTPATH. Quando legge i font RSC, se ci sono conflitti nel numero di font, quello aggiunto per ultimo all'elenco di file avrà la precedenza. Se ci sono più librerie di font nella stessa directory, l'ordine sarà alfabetico.

API: Cos'è un numero di font (e perché è meglio non usarlo)

La maggior parte delle informazioni seguenti proviene dal file di intestazione FontManager.h dell'API pubblica, che contiene anche informazioni aggiuntive.

I font sono identificati dal loro nome e tipo. Tuttavia, sarebbe inefficiente memorizzare una copia del nome del font ogni volta che si fa riferimento ad esso all'interno di un file di disegno. Per questo motivo MicroStation memorizza una "Tabella Font" nell'area di archiviazione non-modello dei file di disegno. La Tabella Font memorizza una mappatura tra il "Numero di font" e il nome. Quindi, per un dato file di progetto, tutti gli elementi che fanno riferimento a un dato numero di font si riferiscono allo stesso font. Tuttavia, dovrebbe essere ovvio che gli elementi di un file di progettazione diverso possono fare riferimento allo stesso font attraverso un numero di font diverso. Inoltre, occorre ricordare che esiste un'unica tabella di font per l'intero file di disegno, in modo che tutti gli elementi di tutti i modelli utilizzino la stessa tabella di font. Per trovare un oggetto Font dal numero di font di un elemento, la procedura è la seguente:

1 - ottenere il DgnFile che contiene (o conterrà) l'elemento

2 - Ottenere la FontNumMap da quel DgnFile tramite uno dei metodi del FontManager

3 - Richiamare GetFont o ResolveFont sulla FontNumMap per ottenere un puntatore a quel font.

Esiste un metodo pratico su FontManager per restituire una FontNumMap da un DgnModelRef, dato che spesso è il metodo più comodo per trovare un DgnFile. Si noti che questo è solo un metodo di praticità e non implica l'esistenza di una FontNumMap associata ai DgnModelRef. I DgnModelRef sono associati ai DgnFile e i DgnFile hanno delle FontNumMap. Pertanto, tutte le richieste di GetFontMap tramite DgnModelRef dallo stesso DgnFile restituiranno lo stesso valore.

Si può creare un po' di confusione sui numeri di font legati alle API precedenti. Ad esempio:

Domande comuni sul numero di font

D: Dato un font, come si ottiene il suo numero di font?

R: La domanda non ha senso. Lo stesso font può essere referenziato con molti numeri di font diversi da diversi file di progettazione. Se la domanda è "Come posso determinare se una font esiste nella tabella dei font di un file di progetto e, in caso affermativo, con quale numero?", allora la risposta è ottenendo la FontNumMap per quel file e consultando GetFontNumber.

D: Dato un numero di font, come si ottiene una font?

R: La domanda non ha senso a meno che non si identifichi il numero di font con un DgnFile. In tal caso, ottenete la FontNumMap per il file e richiamate GetFont o ResolveFont.

Vedi inoltre

Missing Fonts:
https://communities.bentley.com/products/microstation/w/microstation__wiki/14552/missing-font

Install TrueType fonts:
Add a font (microsoft.com)

Articolo in lingua originale

Inglese