You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

162 lines
6.3 KiB

10 years ago
  1. package mahonia
  2. var jis0201ToUnicode = [256]uint16{
  3. 0x20: 0x0020, // SPACE
  4. 0x21: 0x0021, // EXCLAMATION MARK
  5. 0x22: 0x0022, // QUOTATION MARK
  6. 0x23: 0x0023, // NUMBER SIGN
  7. 0x24: 0x0024, // DOLLAR SIGN
  8. 0x25: 0x0025, // PERCENT SIGN
  9. 0x26: 0x0026, // AMPERSAND
  10. 0x27: 0x0027, // APOSTROPHE
  11. 0x28: 0x0028, // LEFT PARENTHESIS
  12. 0x29: 0x0029, // RIGHT PARENTHESIS
  13. 0x2A: 0x002A, // ASTERISK
  14. 0x2B: 0x002B, // PLUS SIGN
  15. 0x2C: 0x002C, // COMMA
  16. 0x2D: 0x002D, // HYPHEN-MINUS
  17. 0x2E: 0x002E, // FULL STOP
  18. 0x2F: 0x002F, // SOLIDUS
  19. 0x30: 0x0030, // DIGIT ZERO
  20. 0x31: 0x0031, // DIGIT ONE
  21. 0x32: 0x0032, // DIGIT TWO
  22. 0x33: 0x0033, // DIGIT THREE
  23. 0x34: 0x0034, // DIGIT FOUR
  24. 0x35: 0x0035, // DIGIT FIVE
  25. 0x36: 0x0036, // DIGIT SIX
  26. 0x37: 0x0037, // DIGIT SEVEN
  27. 0x38: 0x0038, // DIGIT EIGHT
  28. 0x39: 0x0039, // DIGIT NINE
  29. 0x3A: 0x003A, // COLON
  30. 0x3B: 0x003B, // SEMICOLON
  31. 0x3C: 0x003C, // LESS-THAN SIGN
  32. 0x3D: 0x003D, // EQUALS SIGN
  33. 0x3E: 0x003E, // GREATER-THAN SIGN
  34. 0x3F: 0x003F, // QUESTION MARK
  35. 0x40: 0x0040, // COMMERCIAL AT
  36. 0x41: 0x0041, // LATIN CAPITAL LETTER A
  37. 0x42: 0x0042, // LATIN CAPITAL LETTER B
  38. 0x43: 0x0043, // LATIN CAPITAL LETTER C
  39. 0x44: 0x0044, // LATIN CAPITAL LETTER D
  40. 0x45: 0x0045, // LATIN CAPITAL LETTER E
  41. 0x46: 0x0046, // LATIN CAPITAL LETTER F
  42. 0x47: 0x0047, // LATIN CAPITAL LETTER G
  43. 0x48: 0x0048, // LATIN CAPITAL LETTER H
  44. 0x49: 0x0049, // LATIN CAPITAL LETTER I
  45. 0x4A: 0x004A, // LATIN CAPITAL LETTER J
  46. 0x4B: 0x004B, // LATIN CAPITAL LETTER K
  47. 0x4C: 0x004C, // LATIN CAPITAL LETTER L
  48. 0x4D: 0x004D, // LATIN CAPITAL LETTER M
  49. 0x4E: 0x004E, // LATIN CAPITAL LETTER N
  50. 0x4F: 0x004F, // LATIN CAPITAL LETTER O
  51. 0x50: 0x0050, // LATIN CAPITAL LETTER P
  52. 0x51: 0x0051, // LATIN CAPITAL LETTER Q
  53. 0x52: 0x0052, // LATIN CAPITAL LETTER R
  54. 0x53: 0x0053, // LATIN CAPITAL LETTER S
  55. 0x54: 0x0054, // LATIN CAPITAL LETTER T
  56. 0x55: 0x0055, // LATIN CAPITAL LETTER U
  57. 0x56: 0x0056, // LATIN CAPITAL LETTER V
  58. 0x57: 0x0057, // LATIN CAPITAL LETTER W
  59. 0x58: 0x0058, // LATIN CAPITAL LETTER X
  60. 0x59: 0x0059, // LATIN CAPITAL LETTER Y
  61. 0x5A: 0x005A, // LATIN CAPITAL LETTER Z
  62. 0x5B: 0x005B, // LEFT SQUARE BRACKET
  63. 0x5C: 0x00A5, // YEN SIGN
  64. 0x5D: 0x005D, // RIGHT SQUARE BRACKET
  65. 0x5E: 0x005E, // CIRCUMFLEX ACCENT
  66. 0x5F: 0x005F, // LOW LINE
  67. 0x60: 0x0060, // GRAVE ACCENT
  68. 0x61: 0x0061, // LATIN SMALL LETTER A
  69. 0x62: 0x0062, // LATIN SMALL LETTER B
  70. 0x63: 0x0063, // LATIN SMALL LETTER C
  71. 0x64: 0x0064, // LATIN SMALL LETTER D
  72. 0x65: 0x0065, // LATIN SMALL LETTER E
  73. 0x66: 0x0066, // LATIN SMALL LETTER F
  74. 0x67: 0x0067, // LATIN SMALL LETTER G
  75. 0x68: 0x0068, // LATIN SMALL LETTER H
  76. 0x69: 0x0069, // LATIN SMALL LETTER I
  77. 0x6A: 0x006A, // LATIN SMALL LETTER J
  78. 0x6B: 0x006B, // LATIN SMALL LETTER K
  79. 0x6C: 0x006C, // LATIN SMALL LETTER L
  80. 0x6D: 0x006D, // LATIN SMALL LETTER M
  81. 0x6E: 0x006E, // LATIN SMALL LETTER N
  82. 0x6F: 0x006F, // LATIN SMALL LETTER O
  83. 0x70: 0x0070, // LATIN SMALL LETTER P
  84. 0x71: 0x0071, // LATIN SMALL LETTER Q
  85. 0x72: 0x0072, // LATIN SMALL LETTER R
  86. 0x73: 0x0073, // LATIN SMALL LETTER S
  87. 0x74: 0x0074, // LATIN SMALL LETTER T
  88. 0x75: 0x0075, // LATIN SMALL LETTER U
  89. 0x76: 0x0076, // LATIN SMALL LETTER V
  90. 0x77: 0x0077, // LATIN SMALL LETTER W
  91. 0x78: 0x0078, // LATIN SMALL LETTER X
  92. 0x79: 0x0079, // LATIN SMALL LETTER Y
  93. 0x7A: 0x007A, // LATIN SMALL LETTER Z
  94. 0x7B: 0x007B, // LEFT CURLY BRACKET
  95. 0x7C: 0x007C, // VERTICAL LINE
  96. 0x7D: 0x007D, // RIGHT CURLY BRACKET
  97. 0x7E: 0x203E, // OVERLINE
  98. 0xA1: 0xFF61, // HALFWIDTH IDEOGRAPHIC FULL STOP
  99. 0xA2: 0xFF62, // HALFWIDTH LEFT CORNER BRACKET
  100. 0xA3: 0xFF63, // HALFWIDTH RIGHT CORNER BRACKET
  101. 0xA4: 0xFF64, // HALFWIDTH IDEOGRAPHIC COMMA
  102. 0xA5: 0xFF65, // HALFWIDTH KATAKANA MIDDLE DOT
  103. 0xA6: 0xFF66, // HALFWIDTH KATAKANA LETTER WO
  104. 0xA7: 0xFF67, // HALFWIDTH KATAKANA LETTER SMALL A
  105. 0xA8: 0xFF68, // HALFWIDTH KATAKANA LETTER SMALL I
  106. 0xA9: 0xFF69, // HALFWIDTH KATAKANA LETTER SMALL U
  107. 0xAA: 0xFF6A, // HALFWIDTH KATAKANA LETTER SMALL E
  108. 0xAB: 0xFF6B, // HALFWIDTH KATAKANA LETTER SMALL O
  109. 0xAC: 0xFF6C, // HALFWIDTH KATAKANA LETTER SMALL YA
  110. 0xAD: 0xFF6D, // HALFWIDTH KATAKANA LETTER SMALL YU
  111. 0xAE: 0xFF6E, // HALFWIDTH KATAKANA LETTER SMALL YO
  112. 0xAF: 0xFF6F, // HALFWIDTH KATAKANA LETTER SMALL TU
  113. 0xB0: 0xFF70, // HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
  114. 0xB1: 0xFF71, // HALFWIDTH KATAKANA LETTER A
  115. 0xB2: 0xFF72, // HALFWIDTH KATAKANA LETTER I
  116. 0xB3: 0xFF73, // HALFWIDTH KATAKANA LETTER U
  117. 0xB4: 0xFF74, // HALFWIDTH KATAKANA LETTER E
  118. 0xB5: 0xFF75, // HALFWIDTH KATAKANA LETTER O
  119. 0xB6: 0xFF76, // HALFWIDTH KATAKANA LETTER KA
  120. 0xB7: 0xFF77, // HALFWIDTH KATAKANA LETTER KI
  121. 0xB8: 0xFF78, // HALFWIDTH KATAKANA LETTER KU
  122. 0xB9: 0xFF79, // HALFWIDTH KATAKANA LETTER KE
  123. 0xBA: 0xFF7A, // HALFWIDTH KATAKANA LETTER KO
  124. 0xBB: 0xFF7B, // HALFWIDTH KATAKANA LETTER SA
  125. 0xBC: 0xFF7C, // HALFWIDTH KATAKANA LETTER SI
  126. 0xBD: 0xFF7D, // HALFWIDTH KATAKANA LETTER SU
  127. 0xBE: 0xFF7E, // HALFWIDTH KATAKANA LETTER SE
  128. 0xBF: 0xFF7F, // HALFWIDTH KATAKANA LETTER SO
  129. 0xC0: 0xFF80, // HALFWIDTH KATAKANA LETTER TA
  130. 0xC1: 0xFF81, // HALFWIDTH KATAKANA LETTER TI
  131. 0xC2: 0xFF82, // HALFWIDTH KATAKANA LETTER TU
  132. 0xC3: 0xFF83, // HALFWIDTH KATAKANA LETTER TE
  133. 0xC4: 0xFF84, // HALFWIDTH KATAKANA LETTER TO
  134. 0xC5: 0xFF85, // HALFWIDTH KATAKANA LETTER NA
  135. 0xC6: 0xFF86, // HALFWIDTH KATAKANA LETTER NI
  136. 0xC7: 0xFF87, // HALFWIDTH KATAKANA LETTER NU
  137. 0xC8: 0xFF88, // HALFWIDTH KATAKANA LETTER NE
  138. 0xC9: 0xFF89, // HALFWIDTH KATAKANA LETTER NO
  139. 0xCA: 0xFF8A, // HALFWIDTH KATAKANA LETTER HA
  140. 0xCB: 0xFF8B, // HALFWIDTH KATAKANA LETTER HI
  141. 0xCC: 0xFF8C, // HALFWIDTH KATAKANA LETTER HU
  142. 0xCD: 0xFF8D, // HALFWIDTH KATAKANA LETTER HE
  143. 0xCE: 0xFF8E, // HALFWIDTH KATAKANA LETTER HO
  144. 0xCF: 0xFF8F, // HALFWIDTH KATAKANA LETTER MA
  145. 0xD0: 0xFF90, // HALFWIDTH KATAKANA LETTER MI
  146. 0xD1: 0xFF91, // HALFWIDTH KATAKANA LETTER MU
  147. 0xD2: 0xFF92, // HALFWIDTH KATAKANA LETTER ME
  148. 0xD3: 0xFF93, // HALFWIDTH KATAKANA LETTER MO
  149. 0xD4: 0xFF94, // HALFWIDTH KATAKANA LETTER YA
  150. 0xD5: 0xFF95, // HALFWIDTH KATAKANA LETTER YU
  151. 0xD6: 0xFF96, // HALFWIDTH KATAKANA LETTER YO
  152. 0xD7: 0xFF97, // HALFWIDTH KATAKANA LETTER RA
  153. 0xD8: 0xFF98, // HALFWIDTH KATAKANA LETTER RI
  154. 0xD9: 0xFF99, // HALFWIDTH KATAKANA LETTER RU
  155. 0xDA: 0xFF9A, // HALFWIDTH KATAKANA LETTER RE
  156. 0xDB: 0xFF9B, // HALFWIDTH KATAKANA LETTER RO
  157. 0xDC: 0xFF9C, // HALFWIDTH KATAKANA LETTER WA
  158. 0xDD: 0xFF9D, // HALFWIDTH KATAKANA LETTER N
  159. 0xDE: 0xFF9E, // HALFWIDTH KATAKANA VOICED SOUND MARK
  160. 0xDF: 0xFF9F, // HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
  161. }