2016-03-31 5 views
3

システム上のフォントにUnicode文字が含まれているかどうかを確認するための質問があります。Python3 Unicode文字が存在しないか確認する

>>> chr(9966) 
'⛮' 
>>> chr(9955) 
'⛣' 
>>> chr(9955) == chr(9966) 
False 

基本的に、私が何をしようとしています何、値がある場合は、チェックを行うことです。値がかどうかを判断する方法はありますか?

編集:ユニコード文字が本質的に定義されていないか、定義されていないことを理解しました。しかし、特定のフォントに文字が存在するかどうかを確認する方法はありますか?私はOS X上にあります。

+0

実際には空の文字列を印刷しているわけではなく、ユニコード文字を表示しています(これは表示されません)。私のシステムでは、ボックスに疑問符が表示されます。 – L3viathan

+6

"システム上で定義されていない"とはどういう意味ですか?あなたは「フォントには存在しない」という意味ですか? (私にとっては、両方のキャラクターが上手く表示されます)。 – Carpetsmoker

+7

これは関連性がありますhttp://stackoverflow.com/questions/4458696/finding-out-what-c​​haracters-a-font-supports – John

答えて

0

これは、使用されているフォントと、それがPython自体ではなくUnicodeのサポートに関連しています。 私はこれらの文字を私のシステムに持っていません。ライブラリunidecodeを使用して

、未知の文字が[?]として返されるようだ:

from unidecode import unidecode 
>>> unidecode(chr(9966)) 
'[?]' 
>>> unidecode(chr(9955)) 
'[?]' 
>>> unidecode(chr(9955)) == unidecode(chr(9966)) 
True 

この方法ASCII文字を取得するために、外観に依存しています。 いくつかの他のUnicode文字は[?]に近いものとして見つかる可能性があります。

関連する問題