Text wird ohne Umlaute dargestellt


communities.bentley.com/.../wiki_5F00_files.zip

Produkt(e):MicroStation
Version(en):CONNECT, V8i
Umgebung:N\A
Produktbereich:Text
Produktunterbereich:Schriftarten

Problem

In diversen DGNs sind Texte mit einem RSC-Font erstellt worden, als Beispiel hier die Schriftart "working". Welche Schriftart ein Text hat, kann man mit der Elementinformation herausfinden.Es werden in der Ansicht jedoch Umlaute nur als * angezeigt. Was kann unternommen werden, um auch Umlaute anzuzeigen?

Problemlösung

Man kann den betroffenen Texten in den Zeichnungen per Stapelverarbeitung einen neuen Font zuweisen, der Umlaute unterstützt. Mit der Funktion Stapelverarbeitung können Befehle für jede hierfür ausgewählte Datei ausgeführt werden. Es sollte idealerweise ein TrueType-Font (*.ttf) von Windows verwendet werden, da diese auch in anderen Systemen unterstützt werden und i.a.R. Umlaute kennen.

1. Es muss eine Programmierung per MVBA vorgenommen werden, da teilweise keine direkten Befehle für das Vorhaben existieren. Das gilt in diesem Falle für die Einstellungen des Befehls Textattribute ändern (Modify Text). Die Routine dazu sieht wie folgt aus; in diesem Falle würde "Arial" als Ersatzfont zugewiesen; die Routine heißt hier schriftart_aendern.mvba:

Sub Schriftart_aendern()
    Dim startPoint As Point3d
    Dim point As Point3d, point2 As Point3d
    Dim lngTemp As Long

'   Start a command
    CadInputQueue.SendCommand "CHOOSE ALL"

    CadInputQueue.SendCommand "MODIFY TEXT"
   
    CadInputQueue.SendKeyin "Active font Arial"
'   Alternative: CadInputQueue.SendKeyin "Active font 1025"

'   Set a variable associated with a dialog box
    SetCExpressionValue "gUseChangeAnnotationScale", 0, "MODIFY"
    SetCExpressionValue "tcb->msToolSettings.changeText.just", 0, "MODIFY"
    SetCExpressionValue "tcb->msToolSettings.changeText.viewind", 0, "MODIFY"
    SetCExpressionValue "tcb->msToolSettings.changeText.vertical", 0, "MODIFY"
    SetCExpressionValue "tcb->msToolSettings.changeText.underline", 0, "MODIFY"
    SetCExpressionValue "tcb->msToolSettings.changeText.slant", 0, "MODIFY"
    SetCExpressionValue "tcb->msToolSettings.changeText.interchar", 0, "MODIFY"
    SetCExpressionValue "tcb->msToolSettings.changeText.linespacetype", 0, "MODIFY"
    SetCExpressionValue "tcb->msToolSettings.changeText.linespace", 0, "MODIFY"
    SetCExpressionValue "tcb->msToolSettings.changeText.width", 0, "MODIFY"
    SetCExpressionValue "tcb->msToolSettings.changeText.height", 0, "MODIFY"
    SetCExpressionValue "tcb->msToolSettings.changeText.textstyle", 0, "MODIFY"
    SetCExpressionValue "tcb->msToolSettings.changeText.font", 1, "MODIFY"

'   Send a data point to the current command
    CadInputQueue.SendCommand "SELVIEW 1"
    CadInputQueue.SendCommand "CHOOSE NONE"

    CommandState.StartDefaultCommand
End Sub


2. Rufen Sie in einer leeren Datei im Pulldownmenü Extras die Stapelverarbeitung auf. Die Funktion wird eingehender auch in der Hilfe beschrieben. Wenn der Dialog geöffnet ist, kann durch Drücken von F1 (in MSV8i) eine kontextbezogene Hilfe aufgerufen werden. Für MicroStation CONNECT Edition https://docs.bentley.com/LiveContent/web/MicroStation%20Help-v14/de/GUID-F25D8ABF-8CFF-F5A6-8F84-C99632B31A6A.html. Diese ist zwar für MS CE Update 12, passt aber auch auf spätere Updates.

3. Fügen Sie die gewünschten Dateien / Verzeichnisse in der Liste der zu verarbeitenden Dateien ein.

4. Erstellen Sie eine Befehlsdatei für den Prozess. Es ist eine einfache Textdatei, in diesem Beispiel heißt sie Stapelverarbeitung_Befehlsdatei_schriftart_aendern.txt. Sie muss die Zeile

choose all;vba run [schriftart_aendern]schriftart_aendern

enthalten. Es kann auch der Pfad zur VBA-Datei angegeben werden, falls die Datei nicht in das zuständige
MS-Verzeichnis ..\Workspace\System\macros\ kopiert wurde. Der KeyIn lautet
choose all;macro <LW>:\<Pfad>\vba run [schriftart_aendern]schriftart_aendern

5. Führen Sie nun die Stapelverarbeitung mit der erstellten Befehlsdatei Stapelverarbeitung_Befehlsdatei_schriftart_aendern.txt aus. Die Dateien aus der Liste werden nacheinander verarbeitet. Bitte beachten Sie, dass die Dateien direkt geändert werden und es nicht rückgängig gemacht werden kann. Ein Backup sollte immer vorhanden sein!

6. Falls man dies noch öfter ausführen möchte, kann die Stapelverarbeitung auch abgespeichert werden, z.B. als Stapelverarbeitung_schriftart_aendern.bprc.

Im Anhang der Wiki finden Sie Beispieldateien für die MVBA-Datei und die Befehlsdatei.

Sehen Sie hierzu auch

https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0033217

https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0031480

https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0034779

https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0028825

https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0029064

https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0034767

https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0031043

https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0031473

https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0028128

https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0031385

Anderssprachige Quelle

N/A