回答編集履歴
3
回答の追記
test
CHANGED
@@ -56,3 +56,44 @@
|
|
56
56
|
(追記・その2)
|
57
57
|
JISCに登録して「JIS X 0212-1990」規格書を見ましたが、「髙」に関する記載はありませんでした。
|
58
58
|
あとは、WideCharToMultiByte APIのソースを見るしかないですね。
|
59
|
+
|
60
|
+
(追記・その3)
|
61
|
+
FreeBSD 13.2、iconvコマンド
|
62
|
+
|パラメーター|髙|
|
63
|
+
|-|-|
|
64
|
+
|CP50220|0x1B 24 42 7C 62 1B 28 42|
|
65
|
+
|CP50221|0x1B 24 42 7C 62 1B 28 42|
|
66
|
+
|CP50222|0x1B 24 42 7C 62 1B 28 42|
|
67
|
+
|ISO-2022-JP-1|warning: invalid characters: 1|
|
68
|
+
|ISO-2022-JP-2|warning: invalid characters: 1|
|
69
|
+
|ISO-2022-JP|warning: invalid characters: 1|
|
70
|
+
|JISX0208:1990|不正なバイト列です|
|
71
|
+
|
72
|
+
Ubuntu 22.04.3、iconvコマンド
|
73
|
+
|パラメーター|髙|
|
74
|
+
|-|-|
|
75
|
+
|CSISO2022JP|illegal input sequence at position 0|
|
76
|
+
|CSISO2022JP2|illegal input sequence at position 0|
|
77
|
+
|ISO-2022-JP-2|illegal input sequence at position 0|
|
78
|
+
|ISO-2022-JP-3|illegal input sequence at position 0|
|
79
|
+
|ISO-2022-JP|illegal input sequence at position 0|
|
80
|
+
|ISO2022JP|illegal input sequence at position 0|
|
81
|
+
|ISO2022JP2|illegal input sequence at position 0|
|
82
|
+
|
83
|
+
FreeBSD 13.2、PHP 8.1.27
|
84
|
+
Ubuntu 22.04.3、PHP 8.1.2
|
85
|
+
mb_convert_encoding関数(2環境とも結果は同じ)
|
86
|
+
|パラメーター|髙|
|
87
|
+
|-|-|
|
88
|
+
|CP50220|0x1B 24 42 7C 62 1B 28 42|
|
89
|
+
|CP50220raw|0x1B 24 42 7C 62 1B 28 42|
|
90
|
+
|CP50221|0x1B 24 42 7C 62 1B 28 42|
|
91
|
+
|CP50222|0x1B 24 42 7C 62 1B 28 42|
|
92
|
+
|ISO-2022-JP|0x3F|
|
93
|
+
|ISO-2022-JP-MS|0x1B 24 42 7C 62 1B 28 42|
|
94
|
+
|JIS|0x3F|
|
95
|
+
|JIS-ms|0x1B 24 42 7C 62 1B 28 42|
|
96
|
+
|
97
|
+
※0x3FはUS-ASCIIで「?」
|
98
|
+
|
99
|
+
私の結論としては、WideCharToMultiByteに50220,50221,50222を指定して0x7429を返す動作は変だと思います。0x7C62が正しい。
|
2
回答の追記・その2
test
CHANGED
@@ -53,3 +53,6 @@
|
|
53
53
|
|NEC選定IBM拡張文字からJIS|sakura_core\charset\codeutil.cpp|_mbcjmstojis_j|
|
54
54
|
|エスケープシーケンスと連結|sakura_core\charset\CJis.cpp|CJis::UniToJis|
|
55
55
|
|
56
|
+
(追記・その2)
|
57
|
+
JISCに登録して「JIS X 0212-1990」規格書を見ましたが、「髙」に関する記載はありませんでした。
|
58
|
+
あとは、WideCharToMultiByte APIのソースを見るしかないですね。
|
1
回答の追記
test
CHANGED
@@ -42,3 +42,14 @@
|
|
42
42
|
delete[] pDst;
|
43
43
|
}
|
44
44
|
```
|
45
|
+
(追記)
|
46
|
+
dameoさんの指摘により、上記ソースの参照元を追記します。
|
47
|
+
[https://github.com/sakura-editor/sakura](https://github.com/sakura-editor/sakura)
|
48
|
+
|処理内容|ソース|関数|
|
49
|
+
|-|-|-|
|
50
|
+
|UTF-16からIBM拡張文字|sakura_core\charset\codeutil.h|MyWideCharToMultiByte_JP|
|
51
|
+
|2区と13区の調整|sakura_core\charset\codeutil.cpp|SjisFilter_basis|
|
52
|
+
|IBM拡張文字からNEC選定IBM拡張文字|sakura_core\charset\codeutil.cpp|SjisFilter_ibm2nec|
|
53
|
+
|NEC選定IBM拡張文字からJIS|sakura_core\charset\codeutil.cpp|_mbcjmstojis_j|
|
54
|
+
|エスケープシーケンスと連結|sakura_core\charset\CJis.cpp|CJis::UniToJis|
|
55
|
+
|