トップページ > プログラム > 2015年01月02日 > qMjEYwOF

書き込み順位&時間帯一覧

5 位/171 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000010210200000006



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
関数型プログラミング言語Haskell Part26

書き込みレス一覧

関数型プログラミング言語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
でした。

ただ、文字の意味による分類が分かったところで、文字幅は推測できな誘うてすね。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。