回答編集履歴

3

回答の追記

2024/02/11 13:08

投稿

hiroki-o
hiroki-o

スコア510

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

2024/02/10 10:55

投稿

hiroki-o
hiroki-o

スコア510

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

回答の追記

2024/02/10 07:41

投稿

hiroki-o
hiroki-o

スコア510

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
+