![특정 글꼴에 대해 지원되는 모든 글리프를 나열하는 방법](https://linux55.com/image/176114/%ED%8A%B9%EC%A0%95%20%EA%B8%80%EA%BC%B4%EC%97%90%20%EB%8C%80%ED%95%B4%20%EC%A7%80%EC%9B%90%EB%90%98%EB%8A%94%20%EB%AA%A8%EB%93%A0%20%EA%B8%80%EB%A6%AC%ED%94%84%EB%A5%BC%20%EB%82%98%EC%97%B4%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
fontforge
예를 들어 주어진 글꼴에서 지원되는 모든 기호 목록을 빠르게 가져오는 등을 처리할 수 있는 CLI 명령이나 다른 것이 있습니까 ?
그것은 다음과 같습니다:
$the_command_I_am_ looking_for주어진font.ttf abcdefghijklmnopqrstuvwxyzabcdefghgghijklmnopqrstuvwxyzaβΔeεζ ters з πρστυφχε수는 ¢ ~ ~ × × × × × × ~ × ~ × ~ × ~ × ~ ~ × ~ ~ × ~ ~ ~ × ~ ~ ~ ~ ~ ~ ~ × ~ ~ ~ ~ ~ ~ ~ × ~ ₦ ₦ ₩ ₨ ₨ ₫ ₫ € ₭ ₮ ₲ ₲ ₺ ₺ ₼ ₽ ₴ ₴ $ ฿ ₵ ₠ 릴 а/~`| _-,; :! '() [) [) [) [) [) [) ]{}@$\&#%+¶‡†‽ $
어떤 방법이 있나요?
답변1
Fontconfig를 통해 Linux에서 사용할 수 있는 글꼴(거의 모두)입니다.
일반적으로 글꼴과 유니코드에서 발생하는 두 가지 관련 문제가 있습니다.
글리프(실제로는 유니코드 코드 포인트)를 렌더링(포함)할 수 있는 글꼴을 나열합니다.
fc-list :charset=1f63f | less # all installed fonts that have 1f63f
답변2
트루타입 글꼴의 경우 다음을 사용할 수 있습니다.ttfdump
유틸리티는 다음에서 사용할 수 있습니다.TeXlive.
ttfdump -t cmap -i /usr/share/fonts/truetype/freefont/FreeSerif.ttf |
perl -CS -ne 'print chr(hex($1)) if /Char (0x[[:xdigit:]]+)/ and hex($1) != 0xffff; END {print "\n"}'
실험적으로 이것은 U+FFFF 아래의 코드 포인트만 나열하는 것으로 보입니다. 이것이 버그인지 ttfdump
, 아니면 다른 비행기에 도달하는 데 필요한 추가 작업 때문인지는 모르겠습니다 .
지원되는 모든 글꼴의 경우무료 타이핑, Freetype 라이브러리는 이 정보를 제공하지만 이를 쿼리할 수 있는 기성 명령줄 유틸리티는 없는 것 같습니다. 다음은 다음을 사용하는 한 줄입니다.자유형-py사용할 수 있는 Python 바인딩입니다 pip3 install --user freetype-py
.
python3 -c 'import freetype, sys; stdout = open(1, mode="w", encoding="utf8"); face = freetype.Face(sys.argv[1]); stdout.write("".join(sorted([chr(c) for c, g in face.get_chars() if c]) + ["\n"]))' /usr/share/fonts/truetype/freefont/FreeSerif.ttf