2017-12-19 23 views
1

CLでは文字のUnicode名を文字列にすることはできますか?引数として#\αを受け取る 関数は、"GREEK SMALL LETTER ALPHA"を返しますか?Common Lisp:文字のUnicode名を取得する

+1

スタートとを[ 'char-code'と' code-char'](http://cl-cookbook.sourceforge.net/strings.html#chars)を参照してください。 – jthill

+6

['CHAR-NAME']も参照してください。(http://www.lispworks.com/documentation/HyperSpec/Body/f_char_n.htm) – jkiiski

答えて

4

cl-unicodeライブラリの使用:

CL-USER> (cl-unicode:unicode-name #\α) 
"GREEK SMALL LETTER ALPHA" 
CL-USER> (cl-unicode:unicode-name 945) 
"GREEK SMALL LETTER ALPHA" 
+0

私はこれに新しいです、これを得るために使用できるパッケージマネージャーはありますか?としょうかん? (sbclとスライムを使用) – Toothrot

+1

はい、quicklispと呼ばれています。次のようにインストールします:https://www.quicklisp.org/beta/ 次に、(ql:quickload "cl-unicode")を書いて、ライブラリとその依存関係を取得して読み込むことができます。利用可能なライブラリはhttp://quickdocs.org/で閲覧できます 独自のライブラリを作成するときは、その依存関係をasdファイルに表示します。ライブラリーを〜/ quicklisp /に保存するか(またはそこにシンボリックリンクする)、依存関係とともにクイックロードできます。 –

1

CHAR-NAMEの結果は、標準化ではなく、多くの場合、あなたが買ってあげる:LispWorksで

? (char-name #\α) 
"Greek_Small_Letter_Alpha" 

を:

CL-USER 40 > (char-name #\α) 
"U+03B1" 

CL-USER 41 > (system::lookup-unicode-character-name #\α) 
"GREEK SMALL LETTER ALPHA" 
関連する問題