OS2/国際化/Unicode_API

OS2/国際化/Unicode_API

OS/2 Unicode API Documentation http://users.socis.ca/~ataylo00/os2/toolkits/uls/index.html

コードページ名

環境変数 ULSPATH で指定されたパス(セミコロンで区切って複数指定可)の下の CODEPAGE ディレクトリ(Warp V3 だと ULSPATH のディレクトリそのもの)内に変換テーブルの実体ファイルがある。

OS/2 Warp V4 だとデフォルトの ULSPATH は OS/2 インストールドライブの \LANGUAGE に設定されている。 \LANGUAGE\CODEPAGE の下にある表(dir /b \LANGUAGE\CODEPAGE\IBM* で出力)

IBM1004
IBM1006
IBM1008
IBM1025
IBM1026
IBM1027
IBM1028
IBM1038
IBM1041
IBM1043
IBM1046
IBM1047
IBM1051
IBM1088
IBM1089
IBM1092
IBM1097
IBM1098
IBM1112
IBM1114
IBM1115
IBM1116
IBM1117
IBM1118
IBM1119
IBM1122
IBM1123
IBM1124
IBM1140
IBM1141
IBM1142
IBM1143
IBM1144
IBM1145
IBM1146
IBM1147
IBM1148
IBM1200
IBM1207
IBM1208
IBM1250
IBM1251
IBM1252
IBM1253
IBM1254
IBM1255
IBM1256
IBM1257
IBM1275
IBM1276
IBM1277
IBM1280
IBM1281
IBM1282
IBM1283
IBM1381
IBM1383
IBM259
IBM273
IBM277
IBM278
IBM280
IBM282
IBM284
IBM285
IBM290
IBM293
IBM297
IBM300
IBM301
IBM361
IBM363
IBM367
IBM37
IBM382
IBM383
IBM385
IBM386
IBM387
IBM388
IBM389
IBM391
IBM392
IBM393
IBM394
IBM395
IBM420
IBM424
IBM437
IBM500
IBM813
IBM819
IBM829
IBM833
IBM834
IBM835
IBM836
IBM837
IBM838
IBM850
IBM851
IBM852
IBM855
IBM856
IBM857
IBM859
IBM860
IBM861
IBM862
IBM863
IBM864
IBM865
IBM866
IBM868
IBM869
IBM870
IBM871
IBM874
IBM875
IBM878
IBM891
IBM895
IBM896
IBM897
IBM903
IBM904
IBM907
IBM909
IBM910
IBM912
IBM913
IBM914
IBM915
IBM916
IBM918
IBM920
IBM921
IBM922
IBM923
IBM924
IBM930
IBM931
IBM932X
IBM933
IBM935
IBM937
IBM939
IBM941
IBM943
IBM944
IBM946
IBM947
IBM948
IBM949
IBM950
IBM952
IBM953
IBM954
IBM955
IBM964
IBM970
IBM971

同じディレクトリ内にある UCSTBL.LST でエイリアスが定義されている。

#
# Name: ucstbl.lst
#
# Desciption:
#     This table gives the alias name for ULS codepage converters.
#
#     The first column is user specified codepage name.
#     The second column is the actual codepage name.
#
# Copyright:
#     Copyright IBM Corp. 1996
#
# Notes:
#     1. All names must be ASCII-7 alphanumeric.
#     2. Hyphens are ignored in both alias and actual name
#     3. OS/2 searches this table case independent
#

 UCS-2           IBM-1200
 UNICODE         IBM-1200
 UTF-8           IBM-1208
 IBM-037         IBM-37
 IBM-1380        IBM-1381
 IBM-28709       IBM-37
 IBM-4396        IBM-300
 IBM-4946        IBM-850
 IBM-5026        IBM-930
 IBM-5031        IBM-935
 IBM-5035        IBM-939
 IBM-926         IBM-944
 IBM-927         IBM-948
 IBM-928         IBM-946
 IBM-932         IBM-943
 IBM-934         IBM-944
 IBM-936         IBM-946
 IBM-938         IBM-948
 IBM-941         IBM-943
 IBM-947         IBM-950
 IBM-951         IBM-949
 IBM-eucCN       IBM-1383
 IBM-eucJP       IBM-954
 IBM-eucKR       IBM-970
 IBM-eucTW       IBM-964
 ISO8859-1       IBM-819
 ISO8859-2       IBM-912
 ISO8859-3       IBM-913
 ISO8859-4       IBM-914
 ISO8859-5       IBM-915
 ISO8859-6       IBM-1089
 ISO8859-7       IBM-813
 ISO8859-8       IBM-916
 ISO8859-9       IBM-920
 JISX0201-1976   IBM-896
 JISX0208-1978   IBM-955
 JISX0208-1983   IBM-952
 JISX0208-1990   IBM-952
 IBM-5048        IBM-952
 JISX0212-1990   IBM-953
 IBM-5049        IBM-953
 KSC5601-1987    IBM-971
 IBM-5067        IBM-971
 SJIS-1          IBM-943
 SJIS-2          IBM-943
 TIS-620         IBM-874
 eucJP           IBM-954
 IBM33722        IBM-954
 eucKR           IBM-970
 eucTW-1993      IBM-964
 KOI-8R          IBM-878
 IBM-942         IBM-943

kLIBC が自前 の iconv 向けに用意している追加エイリアス。 なんつーかいろいろ足りねぇ

(2008-12-10) Warp V3.01 日本語版に最終 fix を適用したものだと表が若干違った。 まず変換表の実体リスト

IBM1004
IBM1006
IBM1008
IBM1025
IBM1026
IBM1027
IBM1028
IBM1038
IBM1041
IBM1043
IBM1046
IBM1047
IBM1051
IBM1088
IBM1089
IBM1092
IBM1097
IBM1098
IBM1112
IBM1114
IBM1115
IBM1116
IBM1117
IBM1118
IBM1119
IBM1122
IBM1123
IBM1124
IBM1125
IBM1131
IBM1200
IBM1207
IBM1208
IBM1250
IBM1251
IBM1252
IBM1253
IBM1254
IBM1255
IBM1256
IBM1257
IBM1275
IBM1276
IBM1277
IBM1280
IBM1281
IBM1282
IBM1283
IBM1381
IBM1383
IBM1386
IBM259
IBM273
IBM277
IBM278
IBM280
IBM282
IBM284
IBM285
IBM290
IBM293
IBM297
IBM300
IBM301
IBM361
IBM363
IBM367
IBM37
IBM382
IBM383
IBM385
IBM386
IBM387
IBM388
IBM389
IBM391
IBM392
IBM393
IBM394
IBM395
IBM420
IBM424
IBM437
IBM500
IBM813
IBM819
IBM829
IBM833
IBM834
IBM835
IBM836
IBM837
IBM838
IBM850
IBM851
IBM852
IBM855
IBM856
IBM857
IBM860
IBM861
IBM862
IBM863
IBM864
IBM865
IBM866
IBM868
IBM869
IBM870
IBM871
IBM874
IBM875
IBM878
IBM891
IBM895
IBM896
IBM897
IBM903
IBM904
IBM907
IBM909
IBM910
IBM912
IBM913
IBM914
IBM915
IBM916
IBM918
IBM920
IBM921
IBM922
IBM930
IBM931
IBM933
IBM935
IBM937
IBM939
IBM941
IBM942
IBM943
IBM944
IBM946
IBM947
IBM948
IBM949
IBM950
IBM952
IBM953
IBM954
IBM955
IBM964
IBM970
IBM971

次に UCSTBL.LST

#
# Name: ucstbl.lst
#
# Desciption:
#     This table gives the alias name for ULS codepage converters.
#
#     The first column is user specified codepage name.
#     The second column is the actual codepage name.
#
# Copyright:
#     Copyright IBM Corp. 1996, 1998
#
# Notes:
#     1. All names must be ASCII-7 alphanumeric.
#     2. Hyphens are ignored in both alias and actual name
#     3. OS/2 searches this table case independent
#

 UCS-2           IBM-1200
 UNICODE         IBM-1200
 UTF-8           IBM-1208
 IBM-037         IBM-37
 IBM-1380        IBM-1381
 IBM-28709       IBM-37
 IBM-4396        IBM-300
 IBM-4946        IBM-850
 IBM-5026        IBM-930
 IBM-5031        IBM-935
 IBM-5035        IBM-939
 IBM-926         IBM-944
 IBM-927         IBM-948
 IBM-928         IBM-946
 IBM-932         IBM-943
 IBM-934         IBM-944
 IBM-936         IBM-946
 IBM-938         IBM-948
 IBM-941         IBM-943
 IBM-947         IBM-950
 IBM-951         IBM-949
 IBM-eucCN       IBM-1383
 IBM-eucJP       IBM-954
 IBM-eucKR       IBM-970
 IBM-eucTW       IBM-964
 ISO8859-1       IBM-819
 ISO8859-2       IBM-912
 ISO8859-3       IBM-913
 ISO8859-4       IBM-914
 ISO8859-5       IBM-915
 ISO8859-6       IBM-1089
 ISO8859-7       IBM-813
 ISO8859-8       IBM-916
 ISO8859-9       IBM-920
 JISX0201-1976   IBM-896
 JISX0208-1978   IBM-955
 JISX0208-1983   IBM-952
 JISX0208-1990   IBM-952
 IBM-5048        IBM-952
 JISX0212-1990   IBM-953
 IBM-5049        IBM-953
 KSC5601-1987    IBM-971
 IBM-5067        IBM-971
 SJIS-1          IBM-943
 SJIS-2          IBM-943
 TIS-620         IBM-874
 eucJP           IBM-954
 IBM33722        IBM-954
 eucKR           IBM-970
 eucTW-1993      IBM-964
 KOI-8R          IBM-878

日本語まわりで違いがあるのは "IBM-942" と "IBM-932X" 。

ついでに eComStation 1.2 の DemoCD も調べてみた。 UCSTBL.LST は Warp V3 最終 fix 版と完全に一致した(どうやら Warp V4 日本語版のほうが特殊らしい…)。

変換表の実ファイルについては、後発の eCS 側にない変換表が Warp V3 側に存在した。 漢字圏をほとんど考慮していないデモ版なので、製品版ではちゃんとあるのかもしれない(DBCS 圏の変換表はサイズがでかいので、容量削減のために削った可能性がある)。

念のため Warp V3 最終 fix 版と eCS 1.2 デモCDとで表の diff とってみた。

--- WARPV3FP33/CPFILES
+++ ECS12DEMO/CPFILES
@@ -30,2 +30,12 @@
 IBM1131
+IBM1140
+IBM1141
+IBM1142
+IBM1143
+IBM1144
+IBM1145
+IBM1146
+IBM1147
+IBM1148
+IBM1149
 IBM1200
@@ -49,3 +59,2 @@
 IBM1381
-IBM1383
 IBM1386
@@ -62,4 +71,2 @@
 IBM297
-IBM300
-IBM301
 IBM361
@@ -88,6 +95,2 @@
 IBM833
-IBM834
-IBM835
-IBM836
-IBM837
 IBM838
@@ -99,2 +102,3 @@
 IBM857
+IBM859
 IBM860
@@ -131,23 +135,7 @@
 IBM922
-IBM930
-IBM931
-IBM933
-IBM935
-IBM937
-IBM939
-IBM941
+IBM923
+IBM924
 IBM942
 IBM943
-IBM944
-IBM946
-IBM947
-IBM948
 IBM949
 IBM950
-IBM952
-IBM953
-IBM954
-IBM955
-IBM964
-IBM970
-IBM971