Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1. #ifndef _CHARDEFS_H
  2. #define _CHARDEFS_H
  3. /* chardefs.h */
  4. /*****************************************************************************/
  5. /* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only                     */
  6. /*                                                                           */
  7. /* AS-Portierung                                                             */
  8. /*                                                                           */
  9. /* system-dependant definition of national-specific characters               */
  10. /*                                                                           */
  11. /* History:  2001-10-13 /AArnold - created this header                       */
  12. /*                                                                           */
  13. /*****************************************************************************/
  14.  
  15. typedef enum
  16. {
  17.   eCH_ae,
  18.   eCH_ee,
  19.   eCH_ie,
  20.   eCH_oe,
  21.   eCH_ue,
  22.   eCH_Ae,
  23.   eCH_Ee,
  24.   eCH_Ie,
  25.   eCH_Oe,
  26.   eCH_Ue,
  27.   eCH_sz,
  28.   eCH_e2,
  29.   eCH_mu,
  30.   eCH_agrave,
  31.   eCH_Agrave,
  32.   eCH_egrave,
  33.   eCH_Egrave,
  34.   eCH_igrave,
  35.   eCH_Igrave,
  36.   eCH_ograve,
  37.   eCH_Ograve,
  38.   eCH_ugrave,
  39.   eCH_Ugrave,
  40.   eCH_aacute,
  41.   eCH_Aacute,
  42.   eCH_eacute,
  43.   eCH_Eacute,
  44.   eCH_iacute,
  45.   eCH_Iacute,
  46.   eCH_oacute,
  47.   eCH_Oacute,
  48.   eCH_uacute,
  49.   eCH_Uacute,
  50.   eCH_acirc,
  51.   eCH_Acirc,
  52.   eCH_ecirc,
  53.   eCH_Ecirc,
  54.   eCH_icirc,
  55.   eCH_Icirc,
  56.   eCH_ocirc,
  57.   eCH_Ocirc,
  58.   eCH_ucirc,
  59.   eCH_Ucirc,
  60.   eCH_ccedil,
  61.   eCH_Ccedil,
  62.   eCH_ntilde,
  63.   eCH_Ntilde,
  64.   eCH_aring,
  65.   eCH_Aring,
  66.   eCH_aelig,
  67.   eCH_Aelig,
  68.   eCH_oslash,
  69.   eCH_Oslash,
  70.   eCH_iquest,
  71.   eCH_iexcl,
  72.   eCH_cnt
  73. } tNLSCharacter;
  74.  
  75. #ifdef __cplusplus
  76. # include "cppops.h"
  77. DefCPPOps_Enum(tNLSCharacter)
  78. #endif
  79.  
  80. typedef char tNLSCharacterTab[eCH_cnt][2];
  81.  
  82. typedef enum
  83. {
  84.   eCodepageASCII,
  85.   eCodepageISO8859_1,
  86.   eCodepageISO8859_15,
  87.   eCodepageKOI8_R,
  88.   eCodepage437,
  89.   eCodepage850,
  90.   eCodepage866,
  91.   eCodepage1251,
  92.   eCodepage1252,
  93.   eCodepageUTF8,
  94.   eCodepageCnt
  95. } tCodepage;
  96.  
  97. #ifdef __cplusplus
  98. # include "cppops.h"
  99. DefCPPOps_Enum(tCodepage)
  100. #endif
  101.  
  102. #include "datatypes.h"
  103.  
  104. extern const tNLSCharacterTab *GetCharacterTab(tCodepage Codepage);
  105.  
  106. extern const char NLS_HtmlCharacterTab[eCH_cnt][9];
  107.  
  108. extern int CharTab_GetLength(const tNLSCharacterTab *pTab, tNLSCharacter Character);
  109.  
  110. extern const char *CharTab_GetNULTermString(const tNLSCharacterTab *pTab, tNLSCharacter Character, char *pBuffer);
  111.  
  112. extern LongWord UTF8ToUnicode(const char* *ppChr);
  113.  
  114. extern void UnicodeToUTF8(char* *ppChr, LongWord Unicode);
  115.  
  116. extern unsigned as_wcwidth(unsigned codepoint);
  117.  
  118. #endif /* _CHARDEFS_H */
  119.