Jump to page titleUNITED STATES
hp.com home products and services support and drivers solutions how to buy
» contact hp


more options
 
hp.com home
End of Jump to page title
HP Services Software Patches
Jump to content


» software & drivers
» ask Compaq
» reference library
» forums & communities
» support tools
» warranty information
» contact support
» parts
» give us feedback

patches by topic
» DOS
» OpenVMS
» Security
» Tru64 Unix
» Ultrix 32
» Windows
» Windows NT

associated links
» what's new
» contract access
» browse patch tree
» search patch tree
» join mailing list

connection tools
» nameserver lookup
» traceroute
» ping


Find Support Information and Customer Communities for Presario.
Content starts here
OpenVMS VAXVMSI18N01_071 VAX V7.1 European Currency Symbols CRTL ECO Summary
 
Modification Date:  24-DEC-98
Modification Type:  New Kit
                            
NOTE:  An OpenVMS saveset or PCSI installation file is stored
       on the Internet in a self-expanding compressed file.
       The name of the compressed file will be kit_name-dcx_vaxexe
       for OpenVMS VAX or kit_name-dcx_axpexe for OpenVMS Alpha.
 
       Once the file is copied to your system, it can be expanded
       by typing RUN compressed_file.  The resultant file will
       be the OpenVMS saveset or PCSI installation file which
       can be used to install the ECO.
 
Copyright (c) Compaq Computer Corporation 1998.  All rights reserved.

OP/SYS:     DIGITAL OpenVMS VAX

COMPONENT:  Euro I18N Components 
            DEC C RTL

SOURCE:     Compaq Computer Corporation

ECO INFORMATION:

     ECO Kit Name:  VAXVMSI18N01_071
     ECO Kits Superseded by This ECO Kit:  None 
     ECO Kit Approximate Size:  1890 Blocks
     Kit Applies To:  OpenVMS VAX V7.1 
     System/Cluster Reboot Necessary:  No
     Rolling Re-boot Supported:  Not Applicable 
     Installation Rating:  INSTALL_2
                           2 - To be installed on all systems running
                               the listed version(s) of OpenVMS and
                               using the following feature(s):

                               Euro currency sign


     Kit Dependencies:

       The following remedial kit(s) must be installed BEFORE
       installation of this kit:

         None 

       In order to receive all the corrections listed in this
       kit, the following remedial kits should also be installed:

         None 


ECO KIT SUMMARY:

An ECO kit exists for the Euro I18N Components in the DEC C RTL on 
OpenVMS VAX V7.1.  This kit addresses the following problems: 

  o  For OpenVMS V7.2, Euro I18N Components are shipped with
     VMSI18N072 kit.  The VAXVMSI18N01_071 kit brings the I18N Euro
     support to OpenVMS V7.1.

     Euro I18N Components from the current kit are aimed at
     applications based on X/Open internationalization model
     according to which currency and international currency symbols
     are retrieved at run-time from the current program's locale
     using the C Run-Time Library functions.

     The primary objective of this kit is to ease the conversion to
     the Euro currency sign, for those applications which are
     currently using locales based on the ISO8859-1 (Latin-1)
     character set.  This is because ISO8859-1 is the character set
     used by most (if not all) countries affected by Euro.

  o  There are two standard character sets which include Euro 
     sign:

      +  ISO8859-15 (Latin 1)

      +  Unicode.

     ISO8859-15 is similar to ISO8859-1, but not identical.  The
     problem with the ISO8859-15 character set is that it redefines
     not only the 0xa4 codepoint, which is defined as CURRENCY SIGN
     in ISO8859-1 and as EURO SIGN in ISO8859-15, but also a number
     of other characters.  If an ISO8859-1-based application
     switches to ISO8859-15, it can result in different behavior
     (output, strings collation, etc.) not only for the currency
     symbol, which is expected, but also for those characters which
     are defined differently in ISO8859-1 and ISO8859-15.

     To address this compatibility problem, COMPAQ introduced a
     proprietary character set:  ISO8859-1-Euro which is the same
     as ISO8859-1 except for the 0xa4 codepoint which is defined as
     EURO SIGN in ISO8859-1-Euro, the same definition as that in
     ISO8859-15.

     Since ISO8859-1-Euro and ISO8859-1 differ only by the 0xa4
     codepoint, for a ISO8859-1-based application, a switch to
     the ISO8859-1-Euro character set means a change in the
     currency symbol, and nothing else.

  o  Applications following the X/Open internationalization model 
     select character sets through locales.  Each locale is based 
     on a particular character set.  By setting a current  
     programs locale via a call to the setlocale() C Run-Time 
     Library function, the application sets its execution character 
     set to that the locale is based on.

     Beginning with OpenVMS V6.2, OpenVMS provides the following
     set of locales based on the ISO8859-1character set:

       DA_DK_ISO8859-1 (Danish)
       DE_CH_ISO8859-1 (Swiss German)
       DE_DE_ISO8859-1 (German)
       EN_GB_ISO8859-1 (Great Britain)
       EN_US_ISO8859-1 (U.S.A)
       ES_ES_ISO8859-1 (Spanish)
       FI_FI_ISO8859-1 (Finnish)
       FR_BE_ISO8859-1 (Belgian French)
       FR_CA_ISO8859-1 (Canadian French)
       FR_CH_ISO8859-1 (Swiss French)
       FR_FR_ISO8859-1 (French)
       IS_IS_ISO8859-1 (Icelandic)
       IT_IT_ISO8859-1 (Italian)
       NL_BE_ISO8859-1 (Belgian Dutch)
       NL_NL_ISO8859-1 (Dutch)
       NO_NO_ISO8859-1 (Norwegian)
       PT_PT_ISO8859-1 (Portuguese)
       SV_SE_ISO8859-1 (Swedish)

     The locales above are shipped in the VMSI18N0nn kit where nn
     indicates  the version of OpenVMS.  For example, VMSI18N071 is
     for OpenVMS V7.1.

     What the Euro I18N Components kit adds to the OpenVMS I18N
     infrastructure is a "shadow" set of locales based on the
     ISO8859-1-Euro character set.  Throughout this document,
     locales based on the ISO8859-1-Euro character set are referred
     to as Euro locales.  For each ISO8859-1 based locale, the
     present kit adds a corresponding Euro locale.

     The difference between a "non-Euro" locale and its Euro
     counterpart is not only the character set the locale is based
     on; the locales also provide different definitions for the
     currency_symbol and int_curr_symbol items from the LC_MONETARY
     category.

     While a "non-Euro" locale defines currency and international
     currency symbols in a country-specific manner, all Euro
     locales define the currency symbol to be the Euro sign and the
     international currency symbol as a "EUR" string.

     For example, the EN_GB_ISO8859-1 locale contains the following
     definitions:

                        ##############

                        LC_MONETARY
                        ##############
                        int_curr_symbol  "GBP"
                        currency_symbol  "£"

     while its EN_GB_ISO8859-1-EURO counterpart has the following:


                        ##############
                        LC_MONETARY
                        ##############
                        int_curr_symbol  "EUR"
                        currency_symbol  ""

     The only thing the application using the strfmon() C Run-Time
     Library function for monetary values needs to do, in order to
     switch to Euro, is to set the Euro locale.  This is shown in
     the following example:

          TEST.C
          ======
          #include 
          #include 
          #include 

          main()
          {
              char buffer[80];
              ssize_t res;
              double amount = 1.0; /* one Euro */

              /*
              ** set locale according to the setting
              ** of the environment variables
              */

              if ( setlocale(LC_ALL,"" ) == NULL )
                 perror("cannot set locale");

              */
              ** call strfmon using the %i format specifier
              ** to get international currency symbol
              */
              res = strfmon(buffer, sizeof(buffer), "%i", amount);
              if ( res == -1 )
                  perror("strfmon failed");
              else
                printf("output from strfmon: '%s'\n", buffer);
          }
          $ define/nolog lang EN_GB_ISO8859-1
          $ r test
          output from strfmon: '+GBP 1.00'
          $ define/nolog lang EN_GB_ISO8859-1-EURO
          $ r test
          output from strfmon: '+EUR 1.00'
          $

     Note that strfmon() is not the only function which retrieves 
     a currency symbol from the current program's locale; 
     nl_langinfo(CRNCYSTR) can also be used to get a locale-specific 
     currency symbol.  The LOCALE SHOW utility can be used to display 
     information about a particular locale.  For example:

                    $ define/nolog lang FR_FR_ISO8859-1
                    $ locale show value int_curr_symbol
                    "FRF"
                    $ define/nolog lang FR_FR_ISO8859-1-EURO
                    $ locale show value int_curr_symbol
                    "EUR"
                      $

     The VAXVMSI18N01_071 kit provides the following set of Euro
     locales: a Euro locale for each ISO8859-1 - based locale:

       DA_DK_ISO8859-1-EURO (Danish Euro)
       DE_CH_ISO8859-1-EURO (Swiss German Euro)
       DE_DE_ISO8859-1-EURO (German Euro)
       EN_GB_ISO8859-1-EURO (Great Britain Euro)
       EN_US_ISO8859-1-EURO (U.S.A Euro)
       ES_ES_ISO8859-1-EURO (Spanish Euro)
       FI_FI_ISO8859-1-EURO (Finnish Euro)
       FR_BE_ISO8859-1-EURO (Belgian French Euro)
       FR_CA_ISO8859-1-EURO (Canadian French Euro)
       FR_CH_ISO8859-1-EURO (Swiss French Euro)
       FR_FR_ISO8859-1-EURO (French Euro)
       IS_IS_ISO8859-1-EURO (Icelandic Euro)
       IT_IT_ISO8859-1-EURO (Italian Euro)
       NL_BE_ISO8859-1-EURO (Belgian Dutch Euro)
       NL_NL_ISO8859-1-EURO (Dutch Euro)
       NO_NO_ISO8859-1-EURO (Norwegian Euro)
       PT_PT_ISO8859-1-EURO (Portuguese Euro)
       SV_SE_ISO8859-1-EURO (Swedish Euro)

     The VAXVMSI18N01_071 kit provides binary locale files along
     with locale source files and a ISO8859-1-EURO.CMAP character
     set description file (a.k.a cmap file).  If a Euro locale
     needs to be customized, the locale source file can be modified
     and the new binary locale file can be created using the LOCALE
     COMPILE utility.  See the DEC C Run-Time Library Utilities
     Reference Manual for format of the locale source file and the
     description of the LOCALE COMPILE utility.  In the future,
     COMPAQ is planning to add Unicode-based Euro locales and
     locales based on the ISO8859-15 character set.

  o  The VAXVMSI18N01_071 kit provides Unicode codeset converters
     for both the proprietary ISO8859-1-EURO character set and the
     standard ISO8859-15 character set.  These codeset converters
     facilitate data exchange between OpenVMS systems and systems
     using Unicode based and ISO8859-15 based solutions for Euro.
     The codeset converters convert data coded in ISO8859-1-EURO
     and ISO8859-15 character sets to/from any flavor of Unicode
     encoding supported by OpenVMS, as follows:

          ICONV files and corresponding codeset conversions
          -------------------------------------------------


          ICONV file                    codeset conversion
          ---------------               -----------------------
          ISO8859-1-EURO_UCS-2.ICONV    from ISO8859-1-EURO to UCS-2
          ISO8859-1-EURO_UCS-4.ICONV    from ISO8859-1-EURO to UCS-4
          ISO8859-1-EURO_UTF-8.ICONV    from ISO8859-1-EURO to UTF-8
          UCS-2_ISO8859-1-EURO.ICONV    from UCS-2 to ISO8859-1-EURO
          UCS-4_ISO8859-1-EURO.ICONV    from UCS-4 to ISO8859-1-EURO
          UTF-8_ISO8859-1-EURO.ICONV    from UTF-8 to ISO8859-1-EURO
          ISO8859-15_UCS-2.ICONV        from ISO8859-15 to UCS-2
          ISO8859-15_UCS-4.ICONV        from ISO8859-15 to UCS-4
          ISO8859-15_UTF-8.ICONV        from ISO8859-15 to UTF-8
          UCS-2_ISO8859-15.ICONV        from UCS-2 to ISO8859-15
          UCS-4_ISO8859-15.ICONV        from UCS-4 to ISO8859-15
          UTF-8_ISO8859-15.ICONV        from UTF-8 to ISO8859-15

     The codeset converters can be used by DEC C Run-Time Library
     functions from the iconv family of functions or by ICONV
     CONVERT utility.  See the DEC C Run-Time Library Utilities
     Reference Manual for the description of the ICONV CONVERT
     utility.


INSTALLATION NOTES:

The system does not need to be rebooted after this kit is installed.

All trademarks are the property of their respective owners.

Files on this server are as follows:
»vaxvmsi18n01_071.README
»vaxvmsi18n01_071.CHKSUM
»vaxvmsi18n01_071.CVRLET_TXT
»vaxvmsi18n01_071.a-dcx_vaxexe
privacy statement using this site means you accept its terms