2 Replies Latest reply on Sep 21, 2019 7:27 PM by fehers

    Reports 12c using Windows TTF font problem on linux




      I have a WLS stack with Forms and Reports 12c on a OEL7.

      WLS, Forms and Reports in-process server are up and running. I call a sample report from forms (picked up from my production environment) using RUN_REPORT_OBJECT.

      The next barrier I face to now is the latin2 chars in my reports.


      Steps I do the following.


      0. Copied c:\windows\fonts\*.ttf to wls server $DOMAIN_HOME/reports/fonts dir.

      1. Open the rdf file under my Windows 10 machine and set Arial font on the item.

      2. Save it, copy to wls server

      3. Compile it with rwconverter.sh

      4. run report from form


      The result:


      If I don't set NLS_LANG in rwserver.sh then latin2 characters are partially bad.

      If I set NLS_LANG any other than AMERICAN_AMERICA.WE8ISO8859P1 then GREEK characters comes in the picture.

      My charset should be EE8ISO8859P2 or EE8MSWIN1250.


      Whether or not comment arial font mapping in unifont.ali the result is the same.


      I followed the steps described at https://support.oracle.com/epmos/faces/DocumentDisplay?parent=DOCUMENT&sourceId=300416.1&id=852698.1  with no success.


      If I run directly the report without forms the result is also the same.


      Report Builder: Release


      Relevant variables:


      declare -x DISPLAY="localhost:1"

      declare -x DOMAIN_BASE="/opt/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains"

      declare -x DOMAIN_HOME="/opt/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain"

      declare -x FORMS_BUILDER_CLASSPATH="/opt/oracle/Oracle/Middleware/Oracle_Home/jlib:/opt/oracle/Oracle/Middleware/Oracle_Home/jlib/frmbld.jar:/opt/oracle/Oracle/Middleware/Oracle_Home/jlib/importer.jar:/opt/oracle/Oracle/Middleware/Oracle_Home/jlib/debugger.jar:/opt/oracle/Oracle/Middleware/Oracle_Home/jlib/utj.jar:/opt/oracle/Oracle/Middleware/Oracle_Home/oracle_common/jlib/ewt3.jar:/opt/oracle/Oracle/Middleware/Oracle_Home/oracle_common/modules/oracle.bali.share/share.jar:/opt/oracle/Oracle/Middleware/Oracle_Home/jlib/dfc.jar:/opt/oracle/Oracle/Middleware/Oracle_Home/oracle_common/modules/oracle.help/ohj.jar:/opt/oracle/Oracle/Middleware/Oracle_Home/oracle_common/modules/oracle.help/help-share.jar:/opt/oracle/Oracle/Middleware/Oracle_Home/oracle_common/modules/oracle.help/oracle_ice.jar:/opt/oracle/Oracle/Middleware/Oracle_Home/oracle_common/modules/oracle.bali.jewt/jewt4.jar:/opt/oracle/Oracle/Middleware/Oracle_Home/forms/java/frmwebutil.jar:/opt/oracle/Oracle/Middleware/Oracle_Home/forms/java/frmall.jar"

      declare -x FR_HOME="/opt/oracle/Oracle/Middleware/Oracle_Home"

      declare -x FR_INST="/opt/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/config/fmwconfig/components/FORMS/instances/forms1"

      declare -x HOME="/opt/oracle/Oracle/Middleware/Oracle_Home"

      declare -x HOSTNAME="wlstest"

      declare -x LANG="hu_HU.UTF-8"

      declare -x LD_LIBRARY_PATH="/opt/oracle/Oracle/Middleware/Oracle_Home/oracle_common/jdk/jre/lib/amd64:/opt/oracle/Oracle/Middleware/Oracle_Home/lib:/opt/oracle/Oracle/Middleware/Oracle_Home/oracle_common/lib:/opt/oracle/Oracle/Middleware/Oracle_Home/oracle_common/jdk/jre/lib/amd64/server"

      declare -x ORACLE_HOME="/opt/oracle/Oracle/Middleware/Oracle_Home"

      declare -x ORACLE_INSTANCE="/opt/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/config/fmwconfig/components/FORMS/instances/forms1"

      declare -x PATH=".:/opt/oracle/Oracle/Middleware/Oracle_Home/bin:/opt/oracle/Oracle/Middleware/Oracle_Home/forms/mesg:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/oracle/Oracle/Middleware/Oracle_Home/.local/bin:/opt/oracle/Oracle/Middleware/Oracle_Home/bin:/opt/oracle/Oracle/Middleware/Oracle_Home/bin"

      declare -x PWD="/opt/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/reports"

      declare -x USER="oracle"

      declare -x WLS_HOME="/opt/oracle/Oracle/Middleware/Oracle_Home/wlserver"




      TIA, Sandor

        • 1. Re: Reports 12c using Windows TTF font problem on linux
          Matthew D.

          I usually follow these steps to get latin2 in reports:


          1. Copy TTF fonts used in Reports from Windows to unix box where the Reports server runs.



          2. Modify uifont.ali file and add a mapping for all fonts used

          by Reports in section PDF:Subset.






          [ PDF:Subset ]

          courier = "ean13.ttf"

          times..Italic.Bold.. = "timesbi.ttf"

          times...Bold.. = "timesbd.ttf"

          times..Italic... = "timesi.ttf"

          times..... = "times.ttf"

          helvetica..... = "helr45w.ttf"



          3. Add a directory where TTF files were copied to REPORTS_PATH



          4. Set NLS_LANG, e.g. NLS_LANG=american_america.ee8iso8859p2



          5. Modify uiprint.txt

          Any of these options is possible to use:



          a. Verify that only this line is uncommented:

          Not A Printer:ASCII:1:Configure your uiprint.txt file:none:



          b. Comment out all lines with printer description, so that there will be no printer

          definitions left



          c. Leave uiprint.txt unchanged and set env variable

          TK_PRINT_STATUS="echo '%n' is valid"



          6. Modify Tk2Motif.rgb



          Tk2Motif*fontMapCs: iso8859-2=EE8ISO8859P2



          350971.1 'Repairing Garbled Fonts When Using the WE8ISO8859P15 Character Set' (Greek characters)



          This problem may occur for character sets other than WEISO8859P15 (UTF8 , EE8ISO8859P2, ...).

          Here is an example of a script to modify the EncodingScheme value in the AFM files:



          1) Create a new directory AFM2 under $ORACLE_HOME/guicommon/tk/admin

          2) Create the following script in the directory $ORACLE_HOME/guicommon/tk/admin/AFM



              for filename in *


                  sed "s/EncodingScheme AdobeStandardEncoding/EncodingScheme FontSpecific/" $filename >  ../AFM2/$filename



          3) Save the script and give execute permissions (In the example below, the script is called  change_encoding.sh):

                    chmod a+x change_encoding.sh

          4) Execute the script  change_encoding.sh


          5) Change the name of the directory AFM into AFM_backup :

                 cd $ORACLE_HOME/guicommon/tk/admin

                 mv AFM AFM_backup


          6) Change the name of the directory AFM2 into AFM :

                 cd $ORACLE_HOME/guicommon/tk/admin

                 mv AFM2 AFM  



          Don't forget to restart WLS_REPORTS and report server after modifications.




          1 person found this helpful
          • 2. Re: Reports 12c using Windows TTF font problem on linux

            Thank you so much for the help! Change encoding script did the trick. Now my reports are in good shape .