Skip to Content

# instead of special char in EN SmartForm


I am printing a SmartForm, and if the SmartForm is in domestic language (HR)everything prints fine. However, when the same form is printed in EN, special characters get replaced with #. They are not part of static text but rather come from variables (personal names, address etc).

Is there a way to print special characters even in EN form? I was thinking of replacing characters in variable with SAP Special characters like <nnn>, but don't know how to see all available (non-displayable) characters. I can't find mine in "displayable". Is there SmartForm equivalent to program SHOWICON, which displays all non-displayable characters?



Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • avatar image
    Former Member
    Jun 14, 2007 at 03:28 PM

    it looks like the problem with printer, the printer should have special character conversion to print the same on paper.



    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Igor Barbaric


      See this note it may be useful

      OSS Note: 776507



      Documents printed via SAPscript or SmartForms do not print with correct special characters, e.g. ### prints instead of Japanese or Russian characters. What to do?

      Other terms

      SAPscript, SmartForms, printing, device types, OTF

      Reason and Prerequisites

      Help required to choose proper fonts in a SAPscript or SmartForm


      When using SAPscript or SmartForms to print (or email or fax) a form from a business application, many factors influence the outcome of the actual text within the form. All these factors must be checked in order to ensure a correct printout:

      1) The language version of the form used to produce the printout.

      Example: If you want to print a French invoice, you need to have a FR version of your SAPscript or SmartForms invoice form RVINVOICE01. And the application program must specify the corresponding language key (FR) when calling the SAPscript or SmartForms API.

      2) The font selections specified in the form (possibly also in a SAPscript style or SmartStyle used in a form).

      Example: In a SAPscript form or a SmartStyle you need to specify HELVE if you want to print German text in Helvetica (or similar) font. If you want to print Japanese text, HELVE is not a valid choice but you need to specify a Japanese font like JPMINCHO in your Japanese form.

      3) The output character set of the device type

      Every printer in transaction SPAD has a "device type" assigned. Device types used by the spooler for printing support only one single specific output character set. All text from the form has to be converted (using SAP's built-in character conversion mechanism) to this output character set.

      A character set can typically support either a single language (e.g. Shift-JIS which supports only Japanese) or a set of languages (e.g. ISO 8859-1, which supports Western-European languages). It is possible that a given language (such as German) can be supported by several output character sets, e.g. you may use either ISO 8895-1 (Latin-1) or ISO 8859-2 (Latin-2) to represent German text. This is so because both character sets contain the special characters used in German.

      Example: HPLJ4000 is a HP LaserJet device type supporting the ISO 8859-1 (Latin-1) character set. ISO 8859-1 can be used to represent e.g. Dutch, English, French, German, Spanish, Swedish but NOT Russian or Japanese.

      As a consequence, it is ok to use HPLJ4000 to print English, German French etc. but not for Japanese or Russian.

      4) The set of available printer fonts for a given device type

      When formatting a document, SAPscript and SmartForms perform an automatic mapping of the font definitions in the form (e.g. "HELVE 14 point bold") and the available printer fonts of the device type. A replacement printer font is chosen, should the specified font selection not be available in the device type. Now this replacement can be problematic if a language-specific font, such as Chinese CNSONG, is specified in a form and it gets replaced by a font which does not support this language, e.g. COURIER.

      To solve this problem, font families in SE73 have language attribute assigned, e.g. some fonts are characterized as being suitable only for certain languages. And when a replacement has to be chosen because the original font from the form is not available in the device type, a replacement font is chosen which has the same language attributes.

      If no fonts for the language in question exist in the device type, the resulting font will not be able to print the special characters and you will see "wrong" output characters in the printout.

      Note on SAPscript/SmartForms Print Preview:

      The OTF Print Preview available in Windows GUI (e.g. from transaction SP01) will sometimes not show the "wrong" characters which appear on the final printout. Here is the reason: since the Print Preview runs in Windows environment, it will use Windows fonts to represent the actual printer fonts. A Windows font typically has more available characters (i.e. covers more character sets) than are actually available in a printer's resident font.

      A typical example where the Print Preview will differ from the printout is here: if you have a Chinese PCL5 printer such as CNHPLJ4 and use the Western Latin font COURIER in your document, the print preview will show you Chinese characters if you (by accident) tried to format Chinese characters in COURIER font. This is because Windows will automatically choose a font that can output Chinese characters (which is actually not Courier). But when you print the job on an actual PCL5 printer with resident Western and Chinese fonts, the Courier font will not print any Chinese characters but Western special characters instead, because the printer's resident Courier font does not include Chinese characters.

      Rule of thumb: all Asian device types (e.g. CNHPLJ4, JPHPLJ4, JPPOST, KPHPLJ4) support not only Asian fonts but also COURIER, HELVE and TIMES fonts. But these Latin fonts can only be used to print English text, not Chinese/Japanese/Korean characters.

      Which fonts are suitable for a given language?

      Language(s): Font family to use in a form:

                              • Latin-1 (Western Europe/Americas) *******

                              DE,EN,FR,ES,NL,SV COURIER, HELVE, TIMES

                              (LETGOTH, LNPRINT)

                                                      • Latin-2 (Central Europe) ****************

                                                      PL, CZ COURIER, HELVE, TIMES

                                                                              • ISO 8859-4 (Baltic) *********************

                                                                              ET, LT, LV COURIER, HELVE, TIMES

                                                                                                      • ISO 8859-5 (Cyrillic) *******************

                                                                                                      BG, RU, SR, UK COURCYR, HELVCYR, TIMECYR

                                                                                                                              • ISO 8859-7 (Greek) **********************

                                                                                                                              EL COUR_I7, HELV_I7, TIME_I7

                                                                                                                                                      • ISO 8859-8 (Hebrew) *********************

                                                                                                                                                      HE COURIER, HELVE, TIMES

                                                                                                                                                                              • ISO 8859-9 (Turkish) ********************

                                                                                                                                                                              TR COURIER, HELVE, TIMES

                                                                                                                                                                                                      • Simplified Chinese **********************

                                                                                                                                                                                                      ZH CNHEI, CNKAI, CNSONG

                                                                                                                                                                                                                              • Japanese ********************************

                                                                                                                                                                                                                              JA JPMINCHO, DBMINCHO, DBGOTHIC

                                                                                                                                                                                                                                                      • Korean **********************************

                                                                                                                                                                                                                                                      KP KPBATANG, KPDODUM, KPGULIM

                                                                                                                                                                                                                                                      KPGUNGSE, KPSAMMUL

                                                                                                                                                                                                                                                                              • Traditional Chinese *********************

                                                                                                                                                                                                                                                                              ZF TWDPHEI, TWMING, TWSONG

                                                                                                                                                                                                                                                                                                      • Thai ************************************

                                                                                                                                                                                                                                                                                                      TH THANGSAN, THDRAFT, THVIJIT

                                                                                                                                                                                                                                                                                                                              • Arabic (Unicode systems only) ***********

                                                                                                                                                                                                                                                                                                                              AR ANDALE_J

                                                                                                                                                                                                                                                                                                                              Verify your output by examining the OTF data

                                                                                                                                                                                                                                                                                                                              When analysing printing problems of this type, be sure to check the OTF data which gets produced by SAPscript or SmartForms. OTF or "Output Text Format" is the intermediate page-description format generated from SAPscript or SmartForms. OTF will contain the final printer font names and character set/language identifiers which help to solve the problem. OTF will even name the form and the language of the form used to create the output.

                                                                                                                                                                                                                                                                                                                              The easiest way to do this is to create a spool request from your application, run transaction SP01, use menu

                                                                                                                                                                                                                                                                                                                              Goto->Display Requests->Settings

                                                                                                                                                                                                                                                                                                                              and choose

                                                                                                                                                                                                                                                                                                                              Display Mode: Raw

                                                                                                                                                                                                                                                                                                                              Now display your spool request. If this is a SAPscript or SmartForms spool request, you will see OTF data. Each line represents one OTF command, every command starts with a 2-character cmd identifier and possibly some cmd parameters follow.

                                                                                                                                                                                                                                                                                                                              Here is an excerpt from a sample OTF file where we highlight the most interesting commands:

                                                                                                                                                                                                                                                                                                                              //XHPLJ8000 0700 00000000001



                                                                                                                                                                                                                                                                                                                              OPDINA4 P 144 240 1683811906000010000100001




                                                                                                                                                                                                                                                                                                                              FCHELVE 120 00109XSF100SF101110000067E X

                                                                                                                                                                                                                                                                                                                              UL +0000000000000



                                                                                                                                                                                                                                                                                                                              ST0453037Dieses SF hat Stil ALEXTEST_ZEBRA mit


                                                                                                                                                                                                                                                                                                                              The 1st line with the // (Control) command reveals the device type usedto print: HPLJ8000

                                                                                                                                                                                                                                                                                                                              //XHPLJ8000 0700 00000000001

                                                                                                                                                                                                                                                                                                                              The 2nd line (IN = Info command) shows the name and (internal 1-char)language key of the form:


                                                                                                                                                                                                                                                                                                                              In this case it is the English (E = EN) SmartForm ALEXTEST_ZEBRA

                                                                                                                                                                                                                                                                                                                              The OP-line (OP = Open Page) gives the page format used in the form, it is DINA4 Portrait orientation:

                                                                                                                                                                                                                                                                                                                              OPDINA4 P 144 240 1683811906000010000100001

                                                                                                                                                                                                                                                                                                                              The CP (CodePage) cmd shows the SAP system codepage used to code the text and the active language. In our case it is codepage 1100 and language E = EN = English.


                                                                                                                                                                                                                                                                                                                              Finally, the FC-cmd (Font Call) lists a printer font selected within SmartForms. Please note that every SmartForm has a designated default SmartStyle under "Form Attributes->Output Options". In addition, every text node can have a SmartStyle attached (which will override the definitions from the default style for the text). In our case the resulting printer font that was selected is HELVE 12.0 pt bold-off, italic-off.

                                                                                                                                                                                                                                                                                                                              FCHELVE 120 00109XSF100SF101110000067E X

                                                                                                                                                                                                                                                                                                                              Header Data

                                                                                                                                                                                                                                                                                                                              Release Status: Released for Customer

                                                                                                                                                                                                                                                                                                                              Released on: 22.08.2005 09:57:20

                                                                                                                                                                                                                                                                                                                              Priority: Recommendations/additional info

                                                                                                                                                                                                                                                                                                                              Category: Customizing

                                                                                                                                                                                                                                                                                                                              Primary Component: BC-CCM-PRN Print and Output Management

                                                                                                                                                                                                                                                                                                                              Secondary Components: BC-SRV-SCR SAPscript

                                                                                                                                                                                                                                                                                                                              BC-SRV-SSF Smart Forms

                                                                                                                                                                                                                                                                                                                              Reward points for useful Answers



                                                                                                                                                                                                                                                                                                                          • avatar image
                                                                                                                                                                                                                                                                                                                            Former Member
                                                                                                                                                                                                                                                                                                                            Jun 26, 2007 at 09:53 AM


                                                                                                                                                                                                                                                                                                                            Select Displayble characters, in that screen you will find a button namely non-displayble characters.

                                                                                                                                                                                                                                                                                                                            Click on it.

                                                                                                                                                                                                                                                                                                                            Choose from the list hust enter 156 it will make an entry <156> in the editor.

                                                                                                                                                                                                                                                                                                                            You will not see it in preview instead you can see once you take a print out.

                                                                                                                                                                                                                                                                                                                            Also read the Oss note given , it has solution in SPAD for new versions.

                                                                                                                                                                                                                                                                                                                            <b>Reward points</b>


                                                                                                                                                                                                                                                                                                                            Add comment
                                                                                                                                                                                                                                                                                                                            10|10000 characters needed characters exceeded

                                                                                                                                                                                                                                                                                                                            • Anji,

                                                                                                                                                                                                                                                                                                                              If the form language is HR, <b><u>everything</u></b> prints perfectly. I think that by this we can exclude problems with fonts and character sets. The problem arises when special characters attempt to print in language which they are not supposed to be printed in (EN).


                                                                                                                                                                                                                                                                                                                              I know how to insert non-displayable characters into a form. However, I can't find only by code and description such as "<710> SAPding46" which particular ones suit me. What I need is to see them all how they will actually appear in the form. Then I'll know which particular ones to use. There are too many of them to go and insert one by one just to see how they look. Perhaps my characters are not there at all, but I would like to know.




                                                                                                                                                                                                                                                                                                                          • Aug 16, 2007 at 09:07 AM

                                                                                                                                                                                                                                                                                                                            The data which printed incorrectly was entered on the PC with incorrect code page. User re-entered data and everything printed fine. Thanks for your effort!

                                                                                                                                                                                                                                                                                                                            Add comment
                                                                                                                                                                                                                                                                                                                            10|10000 characters needed characters exceeded