- 関数型プログラミング言語Haskell Part26
877 :デフォルトの名無しさん[sage]:2015/01/02(金) 11:49:20.34 ID:qMjEYwOF - 文字列を putStr でコンソールに出力したときに、
実際にレンダリングされる全体の文字幅を知る方法は無いでしょうか? (コンソールや端末エミュのフォントが等幅であるという前提です) 例 "aあ" --> 3 "nasu" --> 4
|
- 関数型プログラミング言語Haskell Part26
880 :デフォルトの名無しさん[sage]:2015/01/02(金) 13:03:58.29 ID:qMjEYwOF - >>878
私もコンソールや端末エミュ、使用フォントによって変わってくると思います。 そのような環境情報を踏まえて、実際に何文字分で出力されるかを知る方法が知りたいです。 いろんな国のアルファベットが混在したUTF-8エンコード文字列を右寄せで標準させたいです。
|
- 関数型プログラミング言語Haskell Part26
881 :デフォルトの名無しさん[sage]:2015/01/02(金) 13:04:59.99 ID:qMjEYwOF - >>880
標準させたい ---> 表示ささたい
|
- 関数型プログラミング言語Haskell Part26
884 :デフォルトの名無しさん[sage]:2015/01/02(金) 14:31:04.40 ID:qMjEYwOF - >>882
curses(hscurses)は複数の言語に対応しており、 正しく右寄せできるてしょうか? と言うのも、ただ右寄せ(可能なら中央寄せも)表示するだけに、 CUIライブラリの基礎から使い方を覚えるのは少々気合いとまとまった時間が必要です。 できることなら、取りかかる前に、本当にできそうか見当をつけておきたいです。 >>883 UTF-8 限定で構いません。 種類があるといことは、理論上は、文字列が与えられたら、 どの位置にあるどの文字がどの種類なのかマッピングできるということですよね。 (一回のパースで可能か知りませんが) そのようなマッピングを行うライブラリはないものでしょうか。 もちろん、HaskellではなくC言語製の外部ライブラリで構いません。
|
- 関数型プログラミング言語Haskell Part26
887 :デフォルトの名無しさん[sage]:2015/01/02(金) 16:18:16.17 ID:qMjEYwOF - >>885
UTF-8対応を謳っているコンソールや端末エミュでも、 実際はそういう幅の情報を正しく扱っているとは限らない ということですね。 国際化対応の右寄せ、中央寄は GUI の方がむしろ楽そうですね。 CUI で取り組むのは諦めることにします。 みなさん、ありがとうございました。
|
- 関数型プログラミング言語Haskell Part26
888 :デフォルトの名無しさん[sage]:2015/01/02(金) 16:33:28.18 ID:qMjEYwOF - >>886
isIdeographic 'ぬ' = False isIdeographic '月' = True isIdeographic '十' = True でした。 ただ、文字の意味による分類が分かったところで、文字幅は推測できな誘うてすね。
|