Skip to content

Instantly share code, notes, and snippets.

@Hamayama
Last active September 16, 2017 00:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Hamayama/d97931f57d09f1457fbd72fc40718dd0 to your computer and use it in GitHub Desktop.
Save Hamayama/d97931f57d09f1457fbd72fc40718dd0 to your computer and use it in GitHub Desktop.
Gauche の Windows コンソールのコードページ対応の試験
<Gauche の Windows コンソールのコードページ対応の試験>
1. 試験環境
OS : Windows 8.1 (64bit)
開発環境 : MSYS2/MinGW-w64 (64bit) (gcc version 7.1.0 (Rev2, Built by MSYS2 project))
Gauche : v0.9.6_pre2 (コミット aa189e6 + 変更)
mintty : v2.7.7 (x86_64-pc-msys)
winpty : v0.4.3
emacs : v25.2.1 (x86_64-w64-mingw32)
ConEmu : v170807 [64] {Preview}
ckw-mod : v0.9.1
nyagos : v4.2.1_0-amd64
2. 試験項目
以下の(a)-(h)の組み合わせについて、3.(1) の確認を行う。
(すべての組み合わせは無理なので、抜粋して確認する)
(a)Gaucheの内部エンコーディング : utf-8 / sjis / eucjp / none
(b)ターミナル : Windows コンソール / mintty / mintty+winpty / emacs / ConEmu / ckw-mod
(c)コードページ : 932 / 65001
(d)シェル : cmd.exe / bash / nyagos
(e)Gaucheの設定1 : 環境変数 GAUCHE_READ_EDIT あり / なし
(f)Gaucheの設定2 : 環境変数 GAUCHE_WINDOWS_CONSOLE_RAW あり / なし
(g)Gaucheの設定3 : 環境変数 GAUCHE_WINDOWS_CONSOLE_CES=cp932 / =sjis / =utf-8 / =none / なし
(h)Gaucheの設定4 : 環境変数 GAUCHE_WINDOWS_CONSOLE_API あり / なし
<備考>
(a)のGaucheの内部エンコーディングはビルド時に指定する必要がある。
(c)のコードページは、chcp コマンドで設定する。
(e)(f)(h)の環境変数ありは、=1 を設定する。
3. 試験内容
(1)Gauche (gosh.exe) を起動して、以下を順番に入力して表示を確認する。
'abcde
(read-line)
fghij
(error "klmno")
'あいうえお
(read-line)
かきくけこ
(error "さしすせそ")
'(寿司マーク(サロゲートペアの文字))
'(しかる(サロゲートペアの方+送り仮名'る'))
4. 試験結果
<試験項目(a)関連>
(1)utf-8 - Windows コンソール - 932 - cmd.exe - なし - なし - なし - なし
→ 2017-9-15 OK (サロゲートペアの文字は表示不可)
(2)sjis - Windows コンソール - 932 - cmd.exe - なし - なし - なし - なし
→ 2017-9-15 OK (サロゲートペアの文字は表示不可)
(3)eucjp - Windows コンソール - 932 - cmd.exe - なし - なし - なし - なし
→ 2017-9-15 OK (サロゲートペアの文字は表示不可)
(4)none - Windows コンソール - 932 - cmd.exe - なし - なし - なし - なし
→ 2017-9-15 OK (全角文字は入力時にエラー)
<試験項目(b)関連>
(5)utf-8 - mintty - 932 - bash - なし - なし - なし - なし
→ 2017-9-15 OK (無変換)(サロゲートペアの'しかる'の'る'が表示されない)
(6)utf-8 - mintty+winpty - 932 - cmd.exe? - なし - なし - なし - なし
→ 2017-9-15 OK (サロゲートペアの文字は表示不可)
(7)utf-8 - emacs - 932 - cmd.exe? - なし - なし - なし - なし
→ 2017-9-15 OK (無変換)(サロゲートペアの文字は入力時にゴミが付加される)
(8)utf-8 - ConEmu - 932 - cmd.exe - なし - なし - なし - なし
→ 2017-9-15 OK (サロゲートペアの文字は表示不可)
(9)utf-8 - ckw-mod - 932 - cmd.exe - なし - なし - なし - なし
→ 2017-9-15 OK (ラムダの文字が入力できない)(サロゲートペアの文字は表示不可)
<試験項目(c)関連>
(10)utf-8 - Windows コンソール - 65001 - cmd.exe - なし - なし - なし - なし
→ 2017-9-15 OK (日本語が入力できない)
(11)utf-8 - ConEmu - 65001 - cmd.exe - なし - なし - なし - なし
→ 2017-9-15 OK (行の折り返しが何かおかしい)
(12)utf-8 - ckw-mod - 65001 - cmd.exe - なし - なし - なし - なし
→ 2017-9-15 OK (行の折り返しが何かおかしい)
<試験項目(d)関連>
(13)utf-8 - Windows コンソール - 932 - bash - なし - なし - なし - なし
→ 2017-9-15 OK (サロゲートペアの文字は表示不可)
(14)utf-8 - Windows コンソール - 932 - nyagos - なし - なし - なし - なし
→ 2017-9-15 OK (サロゲートペアの文字は表示不可)
(15)utf-8 - ConEmu - 65001 - bash - なし - なし - なし - なし
→ 2017-9-15 OK (行の折り返しが何かおかしい)
(16)utf-8 - ConEmu - 65001 - nyagos - なし - なし - なし - なし
→ 2017-9-15 OK (行の折り返しが何かおかしい)
(17)utf-8 - ckw-mod - 65001 - bash - なし - なし - なし - なし
→ 2017-9-15 OK (行の折り返しが何かおかしい)
(18)utf-8 - ckw-mod - 65001 - nyagos - なし - なし - なし - なし
→ 2017-9-15 OK (行の折り返しが何かおかしい)
<試験項目(e)関連>
(19)utf-8 - Windows コンソール - 932 - cmd.exe - あり - なし - なし - なし
→ 2017-9-15 OK (サロゲートペアの文字は入力時にエラー)
(20)utf-8 - mintty - 932 - bash - あり - なし - なし - なし
→ 2017-9-15 OK (無変換)(サロゲートペアの'しかる'の'る'が表示されない)
(21)utf-8 - mintty+winpty - 932 - cmd.exe? - あり - なし - なし - なし
→ 2017-9-15 OK (サロゲートペアの文字は入力時にエラー)
(22)utf-8 - emacs - 932 - cmd.exe? - あり - なし - なし - なし
→ 2017-9-15 OK (無変換)(ラインエディタは有効にならない)(サロゲートペアの文字は入力時にゴミが付加される)
(23)utf-8 - ConEmu - 65001 - cmd.exe - あり - なし - なし - なし
→ 2017-9-15 OK
(24)utf-8 - ckw-mod - 65001 - cmd.exe - あり - なし - なし - なし
→ 2017-9-15 OK ("あああああ" のように同じ文字を連続して入力すると1文字になってしまう)
<試験項目(f)関連>
(25)utf-8 - Windows コンソール - 932 - cmd.exe - なし - あり - なし - なし
→ 2017-9-15 OK (無変換)(全角文字はエラー)
(26)utf-8 - mintty - 932 - bash - なし - あり - なし - なし
→ 2017-9-15 OK (無変換)(サロゲートペアの'しかる'の'る'が表示されない)
(27)utf-8 - mintty+winpty - 932 - cmd.exe? - なし - あり - なし - なし
→ 2017-9-15 OK (無変換)(全角文字はエラー)
(28)utf-8 - emacs - 932 - cmd.exe? - なし - あり - なし - なし
→ 2017-9-15 OK (無変換)(サロゲートペアの文字は入力時にゴミが付加される)
(29)utf-8 - ConEmu - 65001 - cmd.exe - なし - あり - なし - なし
→ 2017-9-15 OK (無変換)(全角文字はエラー)
(30)utf-8 - ckw-mod - 65001 - cmd.exe - なし - あり - なし - なし
→ 2017-9-15 OK (無変換)(全角文字はエラー)
<試験項目(g)関連>
(31)utf-8 - Windows コンソール - 932 - cmd.exe - なし - なし - cp932 - なし
→ 2017-9-15 OK (サロゲートペアの文字は表示不可)
(32)utf-8 - Windows コンソール - 932 - cmd.exe - なし - なし - sjis - なし
→ 2017-9-15 OK (サロゲートペアの文字は表示不可)
(33)utf-8 - Windows コンソール - 932 - cmd.exe - なし - なし - utf-8 - なし
→ 2017-9-15 OK (全角文字はエラー)
(34)utf-8 - Windows コンソール - 932 - cmd.exe - なし - なし - none - なし
→ 2017-9-15 OK (全角文字はエラー)
<試験項目(h)関連>
(35)utf-8 - Windows コンソール - 932 - cmd.exe - なし - なし - なし - あり
→ 2017-9-15 OK (サロゲートペアの文字は表示不可)
(36)utf-8 - ConEmu - 65001 - cmd.exe - なし - なし - utf-8 - あり
→ 2017-9-15 OK (行の折り返しが何かおかしい)
(37)utf-8 - ckw-mod - 65001 - cmd.exe - なし - なし - utf-8 - あり
→ 2017-9-15 OK (行の折り返しが何かおかしい)
(2017-9-15)
<Gauche の Windows コンソールのコードページ対応の試験2>
1. 試験環境
OS : Windows 8.1 (64bit)
開発環境 : MSYS2/MinGW-w64 (64bit) (gcc version 7.1.0 (Rev2, Built by MSYS2 project))
Gauche : v0.9.6_pre2 (コミット aa189e6 + 変更)
2. 試験内容
Gauche の内部エンコーディング utf-8, sjis, eucjp, none のそれぞれでビルドしたものについて、
gosh-noconsole win-noconsole-codepage.scm
を実行する。
win-noconsole-codepage.scm の内容は以下とする。
===== ここから =====
;; -*- coding: utf-8 -*-
;; This is a test of windows console code page support function.
;; This can't be automated easily, so it's not run by make check.
(print "日本語を入力してみてください。")
(flush)
(print "「" (read-line) "」が入力されました。")
(print "[Enter]キーで終了します。")
(flush)
(read-line)
===== ここまで =====
3. 試験結果
(1)Gauche の内部エンコーディング : utf-8
→ 2017-9-15 OK (サロゲートペアの文字は表示不可)
(2)Gauche の内部エンコーディング : sjis
→ 2017-9-15 OK (サロゲートペアの文字は表示不可)
(3)Gauche の内部エンコーディング : eucjp
→ 2017-9-15 OK (サロゲートペアの文字は表示不可)
(4)Gauche の内部エンコーディング : none
→ 2017-9-15 OK (全角文字の文字化けは発生する)
(2017-9-15)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment