Leaked source code of windows server 2003
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.

352 lines
13 KiB

  1. /*************************************************
  2. * winar30.rc *
  3. * *
  4. * Copyright (C) 1995-1999 Microsoft Inc. *
  5. * *
  6. *************************************************/
  7. #include <winuser.h>
  8. //LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
  9. LANGUAGE 0x04, 0x01
  10. #pragma code_page(950)
  11. #include "winar30.rcv"
  12. #include "imeattr.h"
  13. #include "imerc.h"
  14. #include "ime.rc"
  15. IDBM_CMODE_NATIVE BITMAP Chinese.bmp
  16. IDIC_IME_ICON ICON IME.ICO
  17. IDRC_VALIDCHAR RCDATA
  18. BEGIN
  19. // DWORD dwVersion
  20. 0, 1,
  21. // WORD fwProperties1
  22. #ifdef UNICODE
  23. IMEPROP_UNICODE|
  24. #endif
  25. 0x0000,
  26. // WORD fwProperties2
  27. 0x0000,
  28. // WORD nMaxKey;
  29. #ifdef UNICODE
  30. 5,
  31. #else
  32. 4,
  33. #endif
  34. // WORD nSeqCode;
  35. 0x1E,
  36. // WORD fChooseChar[6];, bit 15 -> 0xF, bit 0 -> 0x0
  37. // when this bit == 1, this char can be entered in choosing candidates
  38. // 20-2F /.-, +*)( '&%$ #"!
  39. 0xD001, // 1101 0000 0000 0001
  40. // 30-3F ?>=< ;:98 7654 3210
  41. 0xDBFF, // 1101 1011 1111 1111
  42. // 40-4F ONML KJIH GFED CBA@
  43. 0xFFFE, // 1111 1111 1111 1110
  44. // 50-5f _^]\ [ZYX WVUT SRQP
  45. 0x07FF, // 0000 0111 1111 1111
  46. // 60-6F onml kjih gfed cba`
  47. 0x0000, // 0000 0000 0000 0000
  48. // 70-7F ~}| {zyx wvut srqp
  49. 0x0000, // 0000 0000 0000 0000
  50. // WORD wReserved1[2];
  51. 0x0000, 0x0000,
  52. // WORD fCompChar[6]; bit 15 -> 0xF, bit 0 -> 0x0
  53. // when this bit == 1, this char can be entered in composing char
  54. // 20-2F /.-, +*)( '&%$ #"!
  55. 0xD401, // 1101 0100 0000 0001
  56. // 30-3F ?>=< ;:98 7654 3210
  57. 0x8800, // 1000 1000 0000 0000
  58. // 40-4F ONML KJIH GFED CBA@
  59. 0xFFFE, // 1111 1111 1111 1110
  60. // 50-5F _^]\ [ZYX WVUT SRQP
  61. 0x07FF, // 0000 0111 1111 1111
  62. // 60-6F onml kjih gfed cba`
  63. 0x0000, // 0000 0000 0000 0000
  64. // 70-7F ~}| {zyx wvut srqp
  65. 0x0000, // 0000 0000 0000 0000
  66. // WORD wReserved2[2];
  67. 0x0000, 0x0000,
  68. // WORD wCandPerPage;
  69. 0x000A,
  70. // WORD wCandStart;
  71. 0x0001,
  72. // WORD wCandRangeStart;
  73. 0x0000,
  74. // WORD wReserved3[1];
  75. 0x0000,
  76. // WORD wSeq2CompTbl[64];
  77. // 0 1 2 3 4 5 6 7 8 9 A B C D E F - sequence code
  78. // "�@1-5v3v3-3^4-5-6-8^7-8-9-7v6v9^", // comp char
  79. // 0xFF0E, 0xFF0F, 0xFF1B, 0xFF0C,
  80. 0x3000, 0xFF0C,0xFF0E,0xFF0F,0xFF1B,
  81. 0xFF21, 0xFF22, 0xFF23, 0xFF24, 0xFF25, 0xFF26, 0xFF27,
  82. 0xFF28, 0xFF29, 0xFF2A, 0xFF2B, 0xFF2C, 0xFF2D, 0xFF2E, 0xFF2F,
  83. // 101112131415161718191A1B1C1D1E1F
  84. // "0^1^4^2-5^7^4v2^2v6^1v9v0v0-8v�@",
  85. 0xFF30, 0xFF31, 0xFF32, 0xFF33, 0xFF34, 0xFF35, 0xFF36, 0xFF37,
  86. 0xFF38, 0xFF39, 0xFF3A, 0x3000,
  87. // 202122232425262728292A2B2C2D2E2F
  88. // "�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@",
  89. 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000,
  90. 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000,
  91. // 303132333435363738393A3B3C3D3E3F
  92. // "�@�@�@�@�@�@�@�@�@�@�@�@�@�@�H��",
  93. 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000,
  94. 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x20AC, 0xFF1F, 0xFF0A,
  95. // WORD wChar2SeqTbl[0x42];
  96. // ' ' ! " # $ % & ' - char code
  97. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // sequence code
  98. // ( ) * + , - . /
  99. 0x00, 0x00, 0x3F, 0x00, 0x01, 0x00, 0x02, 0x03,
  100. // 0 1 2 3 4 5 6 7
  101. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  102. // 8 9 : ; < = > ?
  103. 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x3E,
  104. // @ A B C D E F G
  105. 0x00, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b,
  106. // H I J K L M N O
  107. 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13,
  108. // P Q R S T U V W
  109. 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b,
  110. // X Y Z [ \ ] ^ _
  111. 0x1c, 0x1d, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00,
  112. // ` a
  113. 0x3D, 0x00,
  114. // WORD wReserved4[2];
  115. 0x0000, 0x0000,
  116. #if 0
  117. // WORD wSymbol[10][4]
  118. 0xA374, 0xA3BF, 0x0000, 0x0000, 0xA141, 0xA15C, 0x0000, 0x0000,
  119. 0xA15D, 0xA1AC, 0x0000, 0x0000, 0xA1AD, 0xA1CE, 0x0000, 0x0000,
  120. 0xA1CF, 0xA1EF, 0x0000, 0x0000, 0xA1F0, 0xA242, 0x0000, 0x0000,
  121. 0xA243, 0xA261, 0x0000, 0x0000, 0xA262, 0xA2AE, 0x0000, 0x0000,
  122. 0xA2B9, 0xA2CE, 0x0000, 0x0000, 0xA344, 0xA373, 0x0000, 0x0000
  123. #endif
  124. // WORD wSymbol
  125. // '0'
  126. #ifdef UNICODE
  127. 0x0030, 0x3105, 0x3106, 0x3107, 0x3108, 0x3109, 0x310A, 0x310B,
  128. 0x310C, 0x310D, 0x310E, 0x310F, 0x3110, 0x3111, 0x3112, 0x3113,
  129. 0x3114, 0x3115, 0x3116, 0x3117, 0x3118, 0x3119, 0x311A, 0x311B,
  130. 0x311C, 0x311D, 0x311E, 0x311F, 0x3120, 0x3121, 0x3122, 0x3123,
  131. 0x3124, 0x3125, 0x3126, 0x3127, 0x3128, 0x3129, 0x02D9, 0x02C9,
  132. 0x02CA, 0x02C7, 0x02CB,
  133. #else
  134. "\0000�t�u�v�w�x�y�z�{�|�}�~��������������������������������������������������������������",
  135. // 0x0030, 0xA374, 0xA375, 0xA376, 0xA377, 0xA378, 0xA379, 0xA37A,
  136. // 0xA37B, 0xA37C, 0xA37D, 0xA37E, 0xA3A1, 0xA3A2, 0xA3A3, 0xA3A4,
  137. // 0xA3A5, 0xA3A6, 0xA3A7, 0xA3A8, 0xA3A9, 0xA3AA, 0xA3AB, 0xA3AC,
  138. // 0xA3AD, 0xA3AE, 0xA3AF, 0xA3B0, 0xA3B1, 0xA3B2, 0xA3B3, 0xA3B4,
  139. // 0xA3B5, 0xA3B6, 0xA3B7, 0xA3B8, 0xA3B9, 0xA3BA, 0xA3BB, 0xA3BC,
  140. // 0xA3BD, 0xA3BE, 0xA3BF,
  141. #endif
  142. // '1'
  143. #ifdef UNICODE
  144. 0x0031, 0xFF0C, 0x3001, 0x3002, 0xFF0E, 0x2022, 0xFF1B, 0xFF1A,
  145. 0xFF1F, 0xFF01, 0xFE30, 0x2026, 0x2025, 0xFE50, 0xFE51, 0xFE52,
  146. 0x00B7, 0xFE54, 0xFE55, 0xFE56, 0xFE57, 0xFF5C, 0x2013, 0xFE31,
  147. // ??????
  148. 0x2014, 0xFE33, 0x2574, 0xFE34, 0xFE4F,
  149. #else
  150. //"\0001�A�B�C�D�E�F�G�H�I�J�K�L�M�N�O�P�Q�G�S�T�U�V�W�X�Y�Z�[�\",
  151. // 0x0031, 0xA141, 0xA142, 0xA143, 0xA144, 0xA145, 0xA146, 0xA147,
  152. // 0xA148, 0xA149, 0xA14A, 0xA14B, 0xA14C, 0xA14D, 0xA14E, 0xA14F,
  153. // 0xA150, 0xA151, 0xA152, 0xA153, 0xA154, 0xA155, 0xA156, 0xA157,
  154. // 0xA158, 0xA159, 0xA15A, 0xA15B, 0xA15C,
  155. #endif
  156. // '2'
  157. #ifdef UNICODE
  158. 0x0032, 0xFF08, 0xFF09, 0xFE35, 0xFE36, 0xFF5B, 0xFF5D, 0xFE37,
  159. 0xFE38, 0x3014, 0xFF3D, 0xFE39, 0xFE3A, 0x3010, 0x3011, 0xFE3B,
  160. 0xFE3C, 0x300A, 0x300B, 0xFE3D, 0xFE3E, 0x3008, 0x3009, 0xFF3E,
  161. 0xFE40, 0x300C, 0x300D, 0xFE41, 0xFE42, 0x300E, 0x300F, 0xFE43,
  162. 0xFE44, 0xFE59, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFF40,
  163. 0xFF07, 0x201C, 0xFF02, 0x301D, 0x301E, 0x2035, 0x2032,
  164. #else
  165. "\0002�]�^�_�`�a�b�c�d�e�f�g�h�i�j�k�l�m�n�o�p�q�r�s�t�u�v�w�x�y�z�{�|�}�~������������������������",
  166. // 0x0032, 0xA15D, 0xA15E, 0xA15F, 0xA160, 0xA161, 0xA162, 0xA163,
  167. // 0xA164, 0xA165, 0xA166, 0xA167, 0xA168, 0xA169, 0xA16A, 0xA16B,
  168. // 0xA16C, 0xA16D, 0xA16E, 0xA16F, 0xA170, 0xA171, 0xA172, 0xA173,
  169. // 0xA174, 0xA175, 0xA176, 0xA177, 0xA178, 0xA179, 0xA17A, 0xA17B,
  170. // 0xA17C, 0xA17D, 0xA17E, 0xA1A1, 0xA1A2, 0xA1A3, 0xA1A4, 0xA1A5,
  171. // 0xA1A6, 0xA1A7, 0xA1A8, 0xA1A9, 0xA1AA, 0xA1AB, 0xA1AC,
  172. #endif
  173. // '3'
  174. #ifdef UNICODE
  175. 0x0033, 0xFF03, 0xFF06, 0xFF0A, 0x203B, 0x00A7, 0x3003, 0x25CB,
  176. 0x25CF, 0x25B3, 0x25B2, 0x25CE, 0x2606, 0x2605, 0x25C7, 0x25C6,
  177. 0x25A1, 0x25A0, 0x25BD, 0x25BC, 0x32A3, 0x2105, 0x00AF, 0xFFE3,
  178. 0xFF3F, 0x02CD, 0xFE49, 0xFE4A, 0xFE4D, 0xFE4E, 0xFE4B, 0xFE4C,
  179. 0xFE5F, 0xFE60, 0xFE61,
  180. #else
  181. "\0003�������������������������������������������¡áġšơǡȡɡʡˡ̡͡�",
  182. // 0x0033, 0xA1AD, 0xA1AE, 0xA1AF, 0xA1B0, 0xA1B1, 0xA1B2, 0xA1B3,
  183. // 0xA1B4, 0xA1B5, 0xA1B6, 0xA1B7, 0xA1B8, 0xA1B9, 0xA1BA, 0xA1BB,
  184. // 0xA1BC, 0xA1BD, 0xA1BE, 0xA1BF, 0xA1C0, 0xA1C1, 0xA1C2, 0xA1C3,
  185. // 0xA1C4, 0xA1C5, 0xA1C6, 0xA1C7, 0xA1C8, 0xA1C9, 0xA1CA, 0xA1CB,
  186. // 0xA1CC, 0xA1CD, 0xA1CE,
  187. #endif
  188. // '4'
  189. #ifdef UNICODE
  190. 0x0034, 0xFF0B, 0xFF0D, 0x00D7, 0x00F7, 0x00B1, 0x221A, 0xFF1C,
  191. 0xFF1E, 0xFF1D, 0x2266, 0x2267, 0x2260, 0x221E, 0x2252, 0x2261,
  192. 0xFE62, 0xFE63, 0xFE64, 0xFE65, 0xFE66, 0xFF5E, 0x2229, 0x222A,
  193. 0x22A5, 0x2220, 0x221F, 0x22BF, 0x33D2, 0x33D1, 0x222B, 0x222E,
  194. 0x2235, 0x2234,
  195. #else
  196. "\0004�ϡСѡҡӡԡա֡סء١ڡۡܡݡޡߡ�������������������������������",
  197. // 0x0034, 0xA1CF, 0xA1D0, 0xA1D1, 0xA1D2, 0xA1D3, 0xA1D4, 0xA1D5,
  198. // 0xA1D6, 0xA1D7, 0xA1D8, 0xA1D9, 0xA1DA, 0xA1DB, 0xA1DC, 0xA1DD,
  199. // 0xA1DE, 0xA1DF, 0xA1E0, 0xA1E1, 0xA1E2, 0xA1E3, 0xA1E4, 0xA1E5,
  200. // 0xA1E6, 0xA1E7, 0xA1E8, 0xA1E9, 0xA1EA, 0xA1EB, 0xA1EC, 0xA1ED,
  201. // 0xA1EE, 0xA1EF,
  202. #endif
  203. // '5'
  204. #ifdef UNICODE
  205. 0x0035, 0x2640, 0x2642, 0x2641, 0x2609, 0x2191, 0x2193, 0x2190,
  206. 0x2192, 0x2196, 0x2197, 0x2199, 0x2198, 0x2225, 0x2223, 0xFF0F,
  207. 0xFF3C, 0x2215, 0xFE68,
  208. #else
  209. "\0005�������������������������������@�A�B",
  210. // 0x0035, 0xA1F0, 0xA1F1, 0xA1F2, 0xA1F3, 0xA1F4, 0xA1F5, 0xA1F6,
  211. // 0xA1F7, 0xA1F8, 0xA1F9, 0xA1FA, 0xA1FB, 0xA1FC, 0xA1FD, 0xA1FE,
  212. // 0xA240, 0xA241, 0xA242,
  213. #endif
  214. // '6'
  215. #ifdef UNICODE
  216. 0x0036, 0xFF04, 0xFFE5, 0x3012, 0x00A2, 0x00A3, 0xFF05, 0xFF20,
  217. 0x2103, 0x2109, 0x20AC, 0xFE69, 0xFE6A, 0xFE6B, 0x33D5, 0x339C,
  218. 0x339D, 0x339E, 0x33CE, 0x33A1, 0x338E, 0x338F, 0x33C4, 0x00B0,
  219. 0x5159, 0x515B, 0x515E, 0x515D, 0x5161, 0x5163, 0x55E7, 0x74E9,
  220. 0x7CCE,
  221. #else
  222. "\0006�C�D�E�F�G�H�I�J�K<Euro>�L�M�N�O�P�Q�R�S�T�U�V�W�X�Y�Z�[�\�]�^�_�`�a",
  223. // 0x0036, 0xA243, 0xA244, 0xA245, 0xA246, 0xA247, 0xA248, 0xA249,
  224. // 0xA24A, 0xA24B, 0xA24C, 0xA24D, 0xA24E, 0xA24F, 0xA250, 0xA251,
  225. // 0xA252, 0xA253, 0xA254, 0xA255, 0xA256, 0xA257, 0xA258, 0xA259,
  226. // 0xA25A, 0xA25B, 0xA25C, 0xA25D, 0xA25E, 0xA25F, 0xA260, 0xA261,
  227. #endif
  228. // '7'
  229. #ifdef UNICODE
  230. 0x0037, 0x2581, 0x2582, 0x2583, 0x2584, 0x2585, 0x2586, 0x2587,
  231. 0x2588, 0x258F, 0x258E, 0x258D, 0x258C, 0x258B, 0x258A, 0x2589,
  232. 0x253C, 0x2534, 0x252C, 0x2524, 0x251C, 0x2594, 0x2500, 0x2502,
  233. 0x2595, 0x250C, 0x2510, 0x2514, 0x2518, 0x256D, 0x256E, 0x2570,
  234. // 0x256F 0x256F 0x256F 0x256F
  235. 0x256F, 0x2550, 0x255E, 0x256A, 0x2561, 0x25E2, 0x25E3, 0x25E5,
  236. 0x25E4, 0x2571, 0x2572, 0x2573,
  237. #else
  238. "\0007�b�c�d�e�f�g�h�i�j�k�l�m�n�o�p�q�r�s�t�u�v�w�x�y�z�{�|�}�~�������������뢨������������",
  239. // 0x0037, 0xA262, 0xA263, 0xA264, 0xA265, 0xA266, 0xA267, 0xA268,
  240. // 0xA269, 0xA26A, 0xA26B, 0xA26C, 0xA26D, 0xA26E, 0xA26F, 0xA270,
  241. // 0xA271, 0xA272, 0xA273, 0xA274, 0xA275, 0xA276, 0xA277, 0xA278,
  242. // 0xA279, 0xA27A, 0xA27B, 0xA27C, 0xA27D, 0xA27E, 0xA2A1, 0xA2A2,
  243. // 0xA2A3, 0xA2A4, 0xA2A5, 0xA2A6, 0xA2A7, 0xA2A8, 0xA2A9, 0xA2AA,
  244. // 0xA2AB, 0xA2AC, 0xA2AD, 0xA2AE,
  245. #endif
  246. // '8'
  247. #ifdef UNICODE
  248. 0x0038, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166,
  249. 0x2167, 0x2168, 0x2169, 0x3021, 0x3022, 0x3023, 0x3024, 0x3025,
  250. 0x3026, 0x3027, 0x3028, 0x3029, 0x5341, 0x5344, 0x5345,
  251. #else
  252. "\0008�������������������¢âĢŢƢǢȢɢʢˤQ�ͤ�",
  253. // 0x0038, 0xA2B9, 0xA2BA, 0xA2BB, 0xA2BC, 0xA2BD, 0xA2BE, 0xA2BF,
  254. // 0xA2C0, 0xA2C1, 0xA2C2, 0xA2C3, 0xA2C4, 0xA2C5, 0xA2C6, 0xA2C7,
  255. // 0xA2C8, 0xA2C9, 0xA2CA, 0xA2CB, 0xA2CC, 0xA2CD, 0xA2CE,
  256. #endif
  257. // '9'
  258. #ifdef UNICODE
  259. 0x0039, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
  260. 0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F,
  261. 0x03A0, 0x03A1, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8,
  262. 0x03A9, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7,
  263. 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF,
  264. 0x03C0, 0x03C1, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8,
  265. 0x03C9, 0x0030
  266. #else
  267. "\0009�D�E�F�G�H�I�J�K�L�M�N�O�P�Q�R�S�T�U�V�W�X�Y�Z�[�\�]�^�_�`�a�b�c�d�e�f�g�h�i�j�k�l�m�n�o�p�q�r�s",
  268. // 0x0039, 0xA344, 0xA345, 0xA346, 0xA347, 0xA348, 0xA349, 0xA34A,
  269. // 0xA34B, 0xA34C, 0xA34D, 0xA34E, 0xA34F, 0xA350, 0xA351, 0xA352,
  270. // 0xA353, 0xA354, 0xA355, 0xA356, 0xA357, 0xA358, 0xA359, 0xA35A,
  271. // 0xA35B, 0xA35C, 0xA35D, 0xA35E, 0xA35F, 0xA360, 0xA361, 0xA362,
  272. // 0xA363, 0xA364, 0xA365, 0xA366, 0xA367, 0xA368, 0xA369, 0xA36A,
  273. // 0xA36B, 0xA36C, 0xA36D, 0xA36E, 0xA36F, 0xA370, 0xA371, 0xA372,
  274. // 0xA373, 0x0030
  275. #endif
  276. END
  277. IDRC_TABLEFILES RCDATA
  278. BEGIN
  279. #ifdef UNICODE
  280. // szTblFile[6][16]
  281. L"ARRAY30.TAB\0 456", L"ARRAYHW.TAB\0 456",
  282. L"\0 34567890123456", L"\0 34567890123456",
  283. L"ARPTR.TBL\0 23456", L"ARPHR.TBL\0 45656",
  284. #else
  285. // szTblFile[6][32]
  286. "ARRAY30.TAB\0 4567890123456789012", "ARRAYHW.TAB\0 4567890123456789012",
  287. "\0 345678901234567890123456789012", "XUSRAR30.TBL\0 567890123456789012",
  288. "ARPTR.TBL\0 234567890123456789012", "ARPHR.TBL\0 234567890123456789012",
  289. #endif
  290. END
  291. STRINGTABLE
  292. BEGIN
  293. IDS_IMENAME, "���C"
  294. IDS_IMEUICLASS, "WINAR30"
  295. IDS_IMECOMPCLASS, "CompWINAR30"
  296. IDS_IMECANDCLASS, "CandWINAR30"
  297. IDS_IMESTATUSCLASS, "StatusWINAR30"
  298. IDS_IMEOFFCARETCLASS, "OffWINAR30"
  299. IDS_IMECMENUCLASS, "CMenuWINAR30"
  300. END