28. April 2010

Ändern des Character Sets auf UTF8, Schritt 3

Applikationen ohne Reports sind nutzlos :-)

Daraus folgt, dass wir nun auch einige Änderungen in den Umgebungsvariablen des Report-Servers vornehmen müssen, damit UTF8 in PDFs sauber angezeigt wird.

Erstens

editieren wir auf dem OAS im Report-Server die Report-Konfiguration:




Wir können beliebig neue Bereiche erstellen, die wir mit "environment id" beginnen lassen. In diesem Fall nutzen wir je einen Bereich für Entwicklung, einen für Test und einen für Produktion. Danach können wir dann in jedem Bereich unseren eigenen NLS_LANG und Report-Pfad definieren.

Zweitens

Diese neuen Bereiche können von Forms beim Start des Reports genutzt werden. Dazu wird die Parameterliste um einen Parameter erweitert:

Add_Parameter (V_ParamListe, 'ENVID', TEXT_PARAMETER, 'NLS-PROD');

Dadurch kontrollieren wir die NLS_LANG des Reportservers.


Drittens

Zuletzt müssen wir noch das Mapping zwischen unseren Report-Fonts und unseren TrueType-Fonts herstellen (in diesem Beispiel nutzen wir einen OAS unter Windows)

Die Datei "uifont.ali" im Verzeichnis \tools\common wird im Bereich [ PDF:Subset ] um folgende Einträge erweitert:
Arial..Italic.Bold..             = "c:\windows\fonts\arialbi.ttf"
Arial...Bold..                   = "c:\windows\fonts\arialbd.ttf"
Arial..Italic...                 = "c:\windows\fonts\ariali.ttf"
Arial.....                       = "c:\windows\fonts\arial.ttf"

"Courier New"..Italic.Bold..     = "c:\windows\fonts\courbi.ttf"
"Courier New"...Bold..           = "c:\windows\fonts\courbd.ttf"
"Courier New"..Italic...         = "c:\windows\fonts\couri.ttf"
"Courier New"                    = "c:\windows\fonts\cour.ttf"

"Times New Roman"..Italic.Bold.. = "c:\windows\fonts\timesbi.ttf"
"Times New Roman"...Bold..       = "c:\windows\fonts\timesbd.ttf"
"Times New Roman"..Italic...     = "c:\windows\fonts\timesi.ttf"
"Times New Roman"                = "c:\windows\fonts\times.ttf"


In diesem Beispiel liegen die Fonts im Verzeichnis c:\windows\fonts\

Viel Spass damit
Gerd


Es geht weiter mit Ändern des Character Sets auf UTF8, Anmerkung zu Schritt 3

Zurück zum Teil 2 des Artikels

7. April 2010

Ändern des Character Sets auf UTF8, Schritt 2

Nachdem wir nun die NLS auf UTF8 geändert haben, könnte es sein, dass die bisherigen Hotkeys nicht mehr funktionieren.

Der NLS-Wechsel auf UTF8 hat bewirkt, dass im Hintergrund nun eine andere Ressourcen-Datei benutzt wird. Statt fmrwebd.res wird nun fmrweb_utf8d.res benutzt. Die Datei befindet sich im Forms-Home-Verzeichnis.

Falls otherparams in der formsweb.cfg den Parameter "term" nutzt, dann wird auf diese Weise eine Ressourcen-Datei hartkodiert zugewiesen. Hier könnte man nun a) den Wert des Parameters auf eine andere Datei schauen lassen oder b) den Inhalt der Datei überarbeiten.

z.B. Änderung des Parameters:
alt: otherParams=term=\fmrwebd.res
neu: otherParams=term=\fmrweb_utf8d.res

Nach diesen Änderungen arbeiten die Hotkeys wieder wie zuvor.


Es geht weiter mit Ändern des Character Sets auf UTF8, Schritt 3

Zurück zum Teil 1 des Artikels