質問するログイン新規登録

回答編集履歴

9

表現の見直し

2025/10/10 07:12

投稿

little_street
little_street

スコア543

answer CHANGED
@@ -33,6 +33,6 @@
33
33
 
34
34
  [新たな質問](https://teratail.com/questions/j35ins10aqhq9d) への jimbe さんのコメントから,本件でエラーを生じる理由が推定できました。
35
35
 
36
- 上記で示したエラーとなる文字は半角として扱われ,(空マスの)全角スペース左半分上書きされたため残った右半分で問題が生じていると推定されます。
36
+ 上記で示したエラーとなる文字は半角として扱われ,(空マスの)全角スペースに上書きしたことが原因(例えば左半分上書きされたため残った右半分で問題が生じているなど)考えられます。
37
37
 
38
38
  「PDCurses」で半角の文字と全角の文字を混在して用いる場合は,上記のような動作となることを意識しておく必要がありそうです。

8

小修正

2025/10/10 03:25

投稿

little_street
little_street

スコア543

answer CHANGED
@@ -31,7 +31,7 @@
31
31
 
32
32
  (追記2)
33
33
 
34
- [別の質問](https://teratail.com/questions/j35ins10aqhq9d) への jimbe さんのコメントから,本件でエラーを生じる理由が推定できました。
34
+ [新たな質問](https://teratail.com/questions/j35ins10aqhq9d) への jimbe さんのコメントから,本件でエラーを生じる理由が推定できました。
35
35
 
36
36
  上記で示したエラーとなる文字は半角として扱われ,(空マスの)全角スペースの左半分に上書きされたため残った右半分で問題が生じていると推定されます。
37
37
 

7

(追記2)以降を記入

2025/10/10 03:19

投稿

little_street
little_street

スコア543

answer CHANGED
@@ -28,3 +28,11 @@
28
28
  対処療法ではありますが,「PDCurses」を用いるなら少なくとも上記の条件で文字を選んで使う必要がありそうです。
29
29
 
30
30
  一方,まず使わないでしょうが UTF-16 でサロゲートペアにする必要があるような大きな「Unicode 文字番号」の文字は(別の制約がありそうなので)避けた方が無難かもしれません。
31
+
32
+ (追記2)
33
+
34
+ [別の質問](https://teratail.com/questions/j35ins10aqhq9d) への jimbe さんのコメントから,本件でエラーを生じる理由が推定できました。
35
+
36
+ 上記で示したエラーとなる文字は半角として扱われ,(空マスの)全角スペースの左半分に上書きされたため残った右半分で問題が生じていると推定されます。
37
+
38
+ 「PDCurses」で半角の文字と全角の文字を混在して用いる場合は,上記のような動作となることを意識しておく必要がありそうです。

6

間違えている内容を取り消し線で削除

2025/10/09 10:20

投稿

little_street
little_street

スコア543

answer CHANGED
@@ -16,9 +16,10 @@
16
16
 
17
17
  `mvaddstr(ORIGIN_Y + ny * CELL_H, ORIGIN_X + nx * CELL_W, "□");`
18
18
 
19
- を疑いました。試しに,文字列を全角スペースにしたところエラーは発生しなくなりました。また,位置を合わせるため `ny` も `ny + 1` にしました。
19
+ を疑いました。試しに,文字列を全角スペースにしたところエラーは発生しなくなりました。~~また,位置を合わせるため `ny` も `ny + 1` にしました。~~
20
20
 
21
- `mvaddstr(ORIGIN_Y + (ny + 1) * CELL_H, ORIGIN_X + nx * CELL_W, " ");`
21
+ ~~`mvaddstr(ORIGIN_Y + (ny + 1) * CELL_H, ORIGIN_X + nx * CELL_W, " ");`~~
22
+ `mvaddstr(ORIGIN_Y + ny * CELL_H, ORIGIN_X + nx * CELL_W, " ");`
22
23
 
23
24
  (追記)
24
25
 

5

誤字の修正

2025/10/09 06:41

投稿

little_street
little_street

スコア543

answer CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  (追記)
24
24
 
25
- コードに埋め込む文字を変えて試してみると「▢△◇✖」などがエラーになり,「 〇あ答質鼎」などはエラーになりません。「Unicode 文字番号」に着目すると前者は全角スペース(U+3000)より小さく,後者は(同じか)大きいという特徴があります。
25
+ コードに埋め込む文字を変えて試してみると「▢△◇✖」などがエラーになり,「 〇あ答質鼎」などはエラーになりません。「Unicode 文字番号」に着目すると前者は全角スペース(U+3000)より小さく,後者は(同じか)大きいという特徴があります。
26
26
 
27
27
  対処療法ではありますが,「PDCurses」を用いるなら少なくとも上記の条件で文字を選んで使う必要がありそうです。
28
28
 

4

小修正(内容変更なし)

2025/10/08 11:51

投稿

little_street
little_street

スコア543

answer CHANGED
@@ -26,4 +26,4 @@
26
26
 
27
27
  対処療法ではありますが,「PDCurses」を用いるなら少なくとも上記の条件で文字を選んで使う必要がありそうです。
28
28
 
29
- とは言え,まず使わないでしょうが UTF-16 でサロゲートペアにする必要があるような大きな「Unicode 文字番号」の文字は(別の制約がありそうなので)避けた方が無難かもしれません。
29
+ 一方,まず使わないでしょうが UTF-16 でサロゲートペアにする必要があるような大きな「Unicode 文字番号」の文字は(別の制約がありそうなので)避けた方が無難かもしれません。

3

小修正(内容変更なし)

2025/10/08 11:49

投稿

little_street
little_street

スコア543

answer CHANGED
@@ -24,6 +24,6 @@
24
24
 
25
25
  コードに埋め込む文字を変えて試してみると「▢△◇✖」」などがエラーになり,「 〇あ答質鼎」などはエラーになりません。「Unicode 文字番号」に着目すると前者は全角スペース(U+3000)より小さく,後者は(同じか)大きいという特徴があります。
26
26
 
27
- 対処療法ではありますが,「PDcurses」を用いるなら少なくとも上記の条件で文字を選んで使う必要がありそうです。
27
+ 対処療法ではありますが,「PDCurses」を用いるなら少なくとも上記の条件で文字を選んで使う必要がありそうです。
28
28
 
29
29
  とは言え,まず使わないでしょうが UTF-16 でサロゲートペアにする必要があるような大きな「Unicode 文字番号」の文字は(別の制約がありそうなので)避けた方が無難かもしれません。

2

(追記)を記入

2025/10/08 11:44

投稿

little_street
little_street

スコア543

answer CHANGED
@@ -19,3 +19,11 @@
19
19
  を疑いました。試しに,文字列を全角スペースにしたところエラーは発生しなくなりました。また,位置を合わせるため `ny` も `ny + 1` にしました。
20
20
 
21
21
  `mvaddstr(ORIGIN_Y + (ny + 1) * CELL_H, ORIGIN_X + nx * CELL_W, " ");`
22
+
23
+ (追記)
24
+
25
+ コードに埋め込む文字を変えて試してみると「▢△◇✖」」などがエラーになり,「 〇あ答質鼎」などはエラーになりません。「Unicode 文字番号」に着目すると前者は全角スペース(U+3000)より小さく,後者は(同じか)大きいという特徴があります。
26
+
27
+ 対処療法ではありますが,「PDcurses」を用いるなら少なくとも上記の条件で文字を選んで使う必要がありそうです。
28
+
29
+ とは言え,まず使わないでしょうが UTF-16 でサロゲートペアにする必要があるような大きな「Unicode 文字番号」の文字は(別の制約がありそうなので)避けた方が無難かもしれません。

1

言い回しの変更

2025/10/07 16:38

投稿

little_street
little_street

スコア543

answer CHANGED
@@ -16,6 +16,6 @@
16
16
 
17
17
  `mvaddstr(ORIGIN_Y + ny * CELL_H, ORIGIN_X + nx * CELL_W, "□");`
18
18
 
19
- を疑いました。試しに,文字列を全角スペースにしてみたところエラーは発生しなくなりました。また,位置を合わせるため `ny` も `ny + 1` にしてみました。
19
+ を疑いました。試しに,文字列を全角スペースにしたところエラーは発生しなくなりました。また,位置を合わせるため `ny` も `ny + 1` にしました。
20
20
 
21
21
  `mvaddstr(ORIGIN_Y + (ny + 1) * CELL_H, ORIGIN_X + nx * CELL_W, " ");`