가끔 글리프의 이름을 알고 싶을 때가 있습니다. 예를 들어 을 보면 하이픈인지 엔 대시인지 , 엠 대시인지, 빼기 기호 −
인지 알고 싶을 수 있습니다 . 이것을 복사하여 터미널에 붙여넣어 그것이 무엇인지 확인할 수 있는 방법이 있습니까?-
–
—
−
내 시스템이 이러한 문자 모양의 일반 이름을 알고 있는지는 확실하지 않지만 다음과 같은 일부 (부분) 정보를 사용할 수 있습니다 /usr/share/X11/locale/en_US.UTF-8/Compose
.
<Multi_key> <exclam> <question> : "‽" U203D # INTERROBANG
또 다른 글리프 예:
답변1
시도 해봐유니코드유용:
$ unicode ‽
U+203D INTERROBANG
UTF-8: e2 80 bd UTF-16BE: 203d Decimal: ‽
‽
Category: Po (Punctuation, Other)
Bidi: ON (Other Neutrals)
아니면 uconv
유틸리티에서중환자실팩:
$ printf %s ‽ | uconv -x any-name
\N{INTERROBANG}
다음을 통해서도 정보를 얻을 수 있습니다.recode
유용:
$ printf %s ‽ | recode ..dump
UCS2 Mne Description
203D point exclarrogatif
또는 Perl을 사용하십시오.
$ printf %s ‽ | perl -CLS -Mcharnames=:full -lne 'print charnames::viacode(ord) for /./g'
INTERROBANG
이는 전체 글리프가 아닌 글리프를 구성하는 문자에 대한 정보를 제공한다는 점에 유의하세요. 예를 들어 é
(e에 악센트가 있음):
$ printf é | uconv -x any-name
\N{LATIN SMALL LETTER E}\N{COMBINING ACUTE ACCENT}
독립적인 é 문자와는 달리:
$ printf é | uconv -x any-name
\N{LATIN SMALL LETTER E WITH ACUTE}
다음을 재결합 하도록 요청할 수 있습니다 uconv
(결합된 형태의 경우):
$ printf 'e\u0301b\u0301' | uconv -x '::nfc;::name;'
\N{LATIN SMALL LETTER E WITH ACUTE}\N{LATIN SMALL LETTER B}\N{COMBINING ACUTE ACCENT}
(é는 결합형이지만 b́은 아닙니다).
답변2
펄을 사용할 수 있습니다charnames의 viacode 기능기준 치수:
$ printf ‽ | perl -Mcharnames=:full -CLS -nle 'print charnames::viacode(ord)'
INTERROBANG
$ printf
답변3
내가 아는 가장 좋은 방법은 Perl을 이용하는 것입니다 uniprops
. Perl과 함께 제공됩니다.Unicode::Tussle
기준 치수. 당신은 그것을 설치할 수 있습니다
sudo perl -MCPAN -e 'install Unicode::Tussle'
그런 다음 테스트하려는 모든 문자 모양에서 실행할 수 있습니다.
$ uniprops ‽
U+203D ‹‽› \N{INTERROBANG}
\pP \p{Po}
All Any Assigned InPunctuation Punct Is_Punctuation Common Zyyy Po P
General_Punctuation Gr_Base Grapheme_Base Graph GrBase Other_Punctuation
Pat_Syn Pattern_Syntax PatSyn Print Punctuation STerm Term
Terminal_Punctuation Unicode X_POSIX_Graph X_POSIX_Print X_POSIX_Punct
$ uniprops
답변4
다음 명령을 사용하여 bash 스크립트를 만듭니다.
#!/bin/bash
awk -F ":" '{print $2}' /usr/share/X11/locale/en_US.UTF-8/Compose | grep "$1" | awk -F "#" '{print $2}'
예를 들어 원하는 대로 이름을 지정 namechar
하고 실행 권한을 부여합니다.
이제 다음과 같이 전화할 수 있습니다.
./namechar @
결과는 다음과 같습니다:
COMMERCIAL AT