짧은 대답: 팡고

짧은 대답: 팡고

을 사용하여 여러 개의 단일 문자 이미지를 만들려고 합니다 convert. 목표는 플라스틱 전문가에게 키보드 키캡에 인쇄할 수 있는 이미지를 제공하는 것입니다.

이것ImageMagick 문서다음과 같은 것을 제안하십시오:

 printf "\u2318" | convert -size 100x100 label:@- -font unifont-Medium command.png

또는

 echo ⌘ | convert -size 100x100 label:@- -font unifont-Medium command.png

또는

 convert -size 100x100 label:'⌘' -font unifont-Medium command.png

인쇄해야 함관광명소기호이지만 물음표가 생성됩니다.

나는 글꼴 세트에 실제로 이 문자가 포함되어 있음을 확인했습니다(사용했습니다 charmap) . unifont-Medium내 시스템의 다른 글꼴도 이 문자 모양을 제공한다는 것을 알고 있습니다. unifont를 설치하기 전에 볼 수 있었지만 이름이 무엇인지 알 수 없기 때문입니다.

또한 LaTeX(예: 모든 추가 기능 및 패키지가 포함된 TexLive)를 사용해 보았지만 utf8x특수 문자를 지원하지 않습니다.

imagemagick 및 기타 특수 문자를 사용하여 한자를 인쇄하는 방법에 대한 포럼 질문이 많이 있습니다. 다음은 저에게 효과적이었습니다.

convert -background lightblue -fill blue -pointsize 32 \
      label:' é è à ù ç Ö ÿ ‘ ’ “ ” ° ² ³ € x ÷ '    label_i8n.gif

하지만 실제로 나에게 중요한 UTF-8 문자에서는 작동하지 않습니다.

임의의 유니코드 문자를 이미지로 변환하는 방법은 무엇입니까?

고쳐 쓰다: 포기했습니다. 버그인 것 같습니다. 대신 SVG를 생성하고 렌더링하기 위한 여러 스크립트를 만들었습니다. 오픈 소스는 다음과 같습니다.무브먼트 드보르자크

답변1

동일한 명령을 시도했지만 동일한 결과를 얻었습니다.

$ printf "\u2318" | convert -size 100x100 label:@- \
        -font unifont-Medium command.png

                                                                           글꼴 렌더링을 위한 ss

그러나 문자 G를 유니코드로 변경하면 잘 작동합니다.

$ printf "\u0047" | convert -size 100x100 label:@- \
       -font unifont-Medium command.png

                                                                           G

이 질문을 다음에 게시하겠습니다.ImageMagick 토론 사이트왜 이런 일이 발생하는지 확인하세요. 이 작업을 수행하는 방법이나 계속하는 방법을 잘 모르겠다면 제가 도와드릴 수 있습니다.

디버그 변환

스위치를 추가하여 무슨 일이 일어나고 있는지 -debug annotate확인할 수 있습니다.convert

$ printf "\u2318" | convert -size 100x100 label:@- -font unifont-Medium -pointsize 40 -debug annotate command.png
2014-04-10T09:37:04-04:00 0:00.020 0.010u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 12
2014-04-10T09:37:04-04:00 0:00.020 0.010u 6.7.8 Annotate convert[16619]: annotate.c/GetTypeMetrics/798/Annotate
  Metrics: text: ⌘; width: 6.375; height: 14; ascent: 11; descent: -3; max advance: 24; bounds: 0.625,0  6.78125,8; origin: 7,0; pixels per em: 12,12; underline position: -5.0625; underline thickness: 3.35938
2014-04-10T09:37:04-04:00 0:00.020 0.010u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 12
2014-04-10T09:37:04-04:00 0:00.020 0.010u 6.7.8 Annotate convert[16619]: annotate.c/GetTypeMetrics/798/Annotate
  Metrics: text: ⌘; width: 6.375; height: 14; ascent: 11; descent: -3; max advance: 24; bounds: 0.625,0  6.78125,8; origin: 7,0; pixels per em: 12,12; underline position: -5.0625; underline thickness: 3.35938
2014-04-10T09:37:04-04:00 0:00.020 0.010u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 24
2014-04-10T09:37:04-04:00 0:00.020 0.010u 6.7.8 Annotate convert[16619]: annotate.c/GetTypeMetrics/798/Annotate
  Metrics: text: ⌘; width: 12.75; height: 28; ascent: 22; descent: -5; max advance: 48; bounds: 1.25,0  13.5781,18; origin: 15,0; pixels per em: 24,24; underline position: -5.0625; underline thickness: 3.35938
2014-04-10T09:37:04-04:00 0:00.020 0.010u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 48
2014-04-10T09:37:04-04:00 0:00.020 0.010u 6.7.8 Annotate convert[16619]: annotate.c/GetTypeMetrics/798/Annotate
  Metrics: text: ⌘; width: 25.5156; height: 55; ascent: 43; descent: -10; max advance: 96; bounds: 2.48438,0  27.1406,35.5; origin: 29,0; pixels per em: 48,48; underline position: -5.0625; underline thickness: 3.35938
2014-04-10T09:37:04-04:00 0:00.020 0.010u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 96
2014-04-10T09:37:04-04:00 0:00.020 0.020u 6.7.8 Annotate convert[16619]: annotate.c/GetTypeMetrics/798/Annotate
  Metrics: text: ⌘; width: 53.0312; height: 110; ascent: 87; descent: -20; max advance: 192; bounds: 4.96875,0  54.2812,70; origin: 59,0; pixels per em: 96,96; underline position: -5.0625; underline thickness: 3.35938
2014-04-10T09:37:04-04:00 0:00.020 0.020u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 96
2014-04-10T09:37:04-04:00 0:00.020 0.020u 6.7.8 Annotate convert[16619]: annotate.c/GetTypeMetrics/798/Annotate
  Metrics: text: ⌘; width: 53.0312; height: 110; ascent: 87; descent: -20; max advance: 192; bounds: 4.96875,0  54.2812,70; origin: 59,0; pixels per em: 96,96; underline position: -5.0625; underline thickness: 3.35938
2014-04-10T09:37:04-04:00 0:00.020 0.020u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 95
2014-04-10T09:37:04-04:00 0:00.020 0.020u 6.7.8 Annotate convert[16619]: annotate.c/GetTypeMetrics/798/Annotate
  Metrics: text: ⌘; width: 52.0781; height: 109; ascent: 86; descent: -20; max advance: 190; bounds: 4.92188,0  53.7188,70; origin: 58,0; pixels per em: 95,95; underline position: -5.0625; underline thickness: 3.35938
2014-04-10T09:37:04-04:00 0:00.020 0.020u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 94
2014-04-10T09:37:04-04:00 0:00.020 0.020u 6.7.8 Annotate convert[16619]: annotate.c/GetTypeMetrics/798/Annotate
  Metrics: text: ⌘; width: 51.1406; height: 108; ascent: 85; descent: -20; max advance: 188; bounds: 4.85938,0  53.1562,68; origin: 57,0; pixels per em: 94,94; underline position: -5.0625; underline thickness: 3.35938
2014-04-10T09:37:04-04:00 0:00.020 0.020u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 93
2014-04-10T09:37:04-04:00 0:00.020 0.020u 6.7.8 Annotate convert[16619]: annotate.c/GetTypeMetrics/798/Annotate
  Metrics: text: ⌘; width: 51.1875; height: 107; ascent: 84; descent: -20; max advance: 186; bounds: 4.8125,0  52.5781,67; origin: 57,0; pixels per em: 93,93; underline position: -5.0625; underline thickness: 3.35938
2014-04-10T09:37:04-04:00 0:00.020 0.020u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 92
2014-04-10T09:37:04-04:00 0:00.020 0.020u 6.7.8 Annotate convert[16619]: annotate.c/GetTypeMetrics/798/Annotate
  Metrics: text: ⌘; width: 50.2344; height: 106; ascent: 83; descent: -19; max advance: 184; bounds: 4.76562,0  52.0156,67; origin: 56,0; pixels per em: 92,92; underline position: -5.0625; underline thickness: 3.35938
2014-04-10T09:37:04-04:00 0:00.020 0.020u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 91
2014-04-10T09:37:04-04:00 0:00.030 0.020u 6.7.8 Annotate convert[16619]: annotate.c/GetTypeMetrics/798/Annotate
  Metrics: text: ⌘; width: 50.2969; height: 105; ascent: 82; descent: -19; max advance: 182; bounds: 4.70312,0  51.4531,65.4688; origin: 56,0; pixels per em: 91,91; underline position: -5.0625; underline thickness: 3.35938
2014-04-10T09:37:04-04:00 0:00.030 0.020u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 90
2014-04-10T09:37:04-04:00 0:00.030 0.020u 6.7.8 Annotate convert[16619]: annotate.c/GetTypeMetrics/798/Annotate
  Metrics: text: ⌘; width: 49.3438; height: 103; ascent: 81; descent: -19; max advance: 180; bounds: 4.65625,0  50.8906,65.4688; origin: 55,0; pixels per em: 90,90; underline position: -5.0625; underline thickness: 3.35938
2014-04-10T09:37:04-04:00 0:00.030 0.020u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 89
2014-04-10T09:37:04-04:00 0:00.030 0.020u 6.7.8 Annotate convert[16619]: annotate.c/GetTypeMetrics/798/Annotate
  Metrics: text: ⌘; width: 48.3906; height: 102; ascent: 81; descent: -19; max advance: 178; bounds: 4.60938,0  50.3281,64; origin: 54,0; pixels per em: 89,89; underline position: -5.0625; underline thickness: 3.35938
2014-04-10T09:37:04-04:00 0:00.030 0.020u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 88
2014-04-10T09:37:04-04:00 0:00.030 0.020u 6.7.8 Annotate convert[16619]: annotate.c/GetTypeMetrics/798/Annotate
  Metrics: text: ⌘; width: 48.4375; height: 101; ascent: 80; descent: -19; max advance: 176; bounds: 4.5625,0  49.7656,64; origin: 54,0; pixels per em: 88,88; underline position: -5.0625; underline thickness: 3.35938
2014-04-10T09:37:04-04:00 0:00.030 0.020u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 87
2014-04-10T09:37:04-04:00 0:00.030 0.020u 6.7.8 Annotate convert[16619]: annotate.c/GetTypeMetrics/798/Annotate
  Metrics: text: ⌘; width: 47.5; height: 100; ascent: 79; descent: -18; max advance: 174; bounds: 4.5,0  49.1875,63; origin: 53,0; pixels per em: 87,87; underline position: -5.0625; underline thickness: 3.35938
2014-04-10T09:37:04-04:00 0:00.030 0.020u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 86
2014-04-10T09:37:04-04:00 0:00.030 0.020u 6.7.8 Annotate convert[16619]: annotate.c/GetTypeMetrics/798/Annotate
  Metrics: text: ⌘; width: 47.5469; height: 99; ascent: 78; descent: -18; max advance: 172; bounds: 4.45312,0  48.625,63; origin: 53,0; pixels per em: 86,86; underline position: -5.0625; underline thickness: 3.35938
2014-04-10T09:37:04-04:00 0:00.030 0.020u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 86
2014-04-10T09:37:04-04:00 0:00.030 0.020u 6.7.8 Annotate convert[16619]: annotate.c/GetTypeMetrics/798/Annotate
  Metrics: text: ⌘; width: 47.5469; height: 99; ascent: 78; descent: -18; max advance: 172; bounds: 4.45312,0  48.625,63; origin: 53,0; pixels per em: 86,86; underline position: -5.0625; underline thickness: 3.35938
2014-04-10T09:37:04-04:00 0:00.030 0.020u 6.7.8 Annotate convert[16619]: annotate.c/RenderFreetype/1220/Annotate
  Font /usr/share/fonts/msttcorefonts/arialbd.ttf; font-encoding none; text-encoding none; pointsize 86

업데이트 #1 - 추가 디버깅

이 문제는 나를 괴롭히고 있었기 때문에 마침내 그것을 알아낸 것 같습니다. 문제는 글꼴 선택이고 특정 문자 모양을 표시할 수 없다는 것입니다.

  1. 먼저 이 명령을 사용하여 에서 사용할 수 있는 글꼴을 확인할 수 있습니다 convert. 여기서 시작해 보겠습니다.

    $ convert -list font | head -8
    
    Path: /etc/ImageMagick/type-ghostscript.xml
      Font: AvantGarde-Book
        family: AvantGarde
        style: Normal
        stretch: Normal
        weight: 400
        glyphs: /usr/share/fonts/default/Type1/a010013l.pfb
        ...
    

    위는 예시이며, 각 글꼴에는 위와 유사한 줄이 있습니다. 그런데 이 명령을 실행하면 수백 개의 글꼴이 있음을 알 수 있습니다.

    $ convert -list font | grep Font | wc -l
    262
    
  2. 다음으로 \u2318우리가 가지고 있는 각 글꼴을 사용하여 문자를 인코딩하는 작업을 완료하겠습니다. 이것은 복잡하게 들리지만 Bash를 통해 잘 생각된 일부 단일 라이너의 경우 매우 사소합니다.

    $ for i in $(convert -list font | grep Font | awk '{print $2}'); \
        do convert -font $i -pointsize 36 label:⌘  ${i}.gif;done
    

    이 코드 조각은 for 루프를 사용하여 각 글꼴에 대해 수정된 버전의 명령을 실행합니다 convert.

  3. 이제 결과를 살펴보겠습니다. 많은 글꼴은 이 특정 문자 모양을 표시할 수 없지만 몇 가지 가능합니다. 이는 이것이 반드시 ImageMagick의 버그가 아니라 글꼴 자체의 제한임을 나타내는 것 같습니다. 다음은 이 문자 모양을 표시할 수 있는 글꼴 목록입니다.

    • DejaVu-Sans-Bold
    • DejaVu-Sans-Bold-Oblique
    • DejaVu-Sans-Book
    • DejaVu-Sans-Condensed-Bold
    • DejaVu-Sans-Condensed-Bold-Olique
    • DejaVu-Sans-Condensed
    • DejaVu-Sans-Condensed-Oblique
    • DejaVu-Sans-Mono-Bold
    • DejaVu-Sans-Mono-Bold-Oblique
    • DejaVu-Sans-Mono-Book
    • DejaVu-Sans-Mono-Oblique
    • DejaVu-Sans-Oblique
    • DejaVu-serif-bold
    • DejaVu-serif-bold-italic
    • DejaVu 세리프 책
    • DejaVu-Serif-Condensed-Bold
    • DejaVu-Serif-Condensed-Bold-Italic
    • DejaVu-Serif-Condensed
    • DejaVu-Serif-Condensed-Italic
    • DejaVu-세리프체-이탤릭체
    • 무료 흑백 - 일반
    • FreeSerif-일반
    • STIX-수학-일반
    • STIX-일반
    • VL-고딕-일반

    나는 전체 ~260개의 결과 .gif파일을 시각적으로 살펴보고 무엇이 효과가 있었고 무엇이 효과가 없었는지 확인했습니다. 다음은 여러분이 볼 수 있도록 작동하는 몇 가지 예입니다.

                                                SS1    SS2    SS3    SS4    SS5

인용하다

답변2

짧은 대답: 팡고

pango:⌘대신 사용하세요 label:⌘. Pango는 Fontconfig를 사용하여 각 문자 모양에 적합한 글꼴을 찾습니다.

convert -pointsize 128 pango:⌘ command.png

변환 포인트 크기 128 pango:⌘ command.png

설명하다

팡고ImageMagick이 텍스트를 렌더링하는 데 사용할 수 있는 라이브러리입니다. ImageMagick 및 ImageMagick에 label비해 장점과 단점이 있습니다 -draw text. 선택한 글꼴에 글리프가 없으면 다른 글꼴로 대체됩니다. 팡고가 사용하는 것글꼴 구성올바른 글꼴을 선택하십시오.

$'\uXXXX'원하는 문자를 붙여넣는 대신 Bash 및 기타 최신 셸에서 사용할 수 있는 구문을 사용하여 16진수 유니코드 숫자를 지정할 수 있습니다.

convert -pointsize 128 pango:$'\u2318' command.png

글꼴 구성

글꼴 구성단일 유니코드 문자 코드를 문자 세트로 지정하여 특정 문자 모양을 렌더링할 수 있는 글꼴을 나열할 수 있습니다.

$ fc-list :charset=2318


/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: DejaVu Serif:style=Bold
/home/b9/.local/share/fonts/DaxlinePro-Light.otf: DaxlinePro,DaxlinePro\-Light:style=Light,Regular
/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book
/usr/share/fonts/truetype/dejavu/DejaVuSansCondensed-Oblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Oblique,Oblique
/usr/share/fonts/truetype/dejavu/DejaVuSerifCondensed-BoldItalic.ttf: DejaVu Serif,DejaVu Serif Condensed:style=Condensed Bold Italic,Bold Italic
/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf: DejaVu Sans:style=Book
/home/b9/.local/share/fonts/DaxlinePro-ExtraBold.otf: DaxlinePro,DaxlinePro\-ExtraBold:style=ExtraBold,Regular
/home/b9/.local/share/fonts/DaxlinePro-Bold.otf: DaxlinePro,DaxlinePro\-Bold:style=Bold,Regular
/usr/share/fonts/truetype/dejavu/DejaVuSerifCondensed.ttf: DejaVu Serif,DejaVu Serif Condensed:style=Condensed,Book
/usr/share/fonts/truetype/dejavu/DejaVuSerifCondensed-Italic.ttf: DejaVu Serif,DejaVu Serif Condensed:style=Condensed Italic,Italic
/home/b9/.local/share/fonts/DaxlinePro-Black.otf: DaxlinePro,DaxlinePro\-Black:style=Black,Regular
/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf: DejaVu Serif:style=Bold Italic
/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf: DejaVu Sans Mono:style=Oblique
/usr/share/fonts/truetype/dejavu/DejaVuSerifCondensed-Bold.ttf: DejaVu Serif,DejaVu Serif Condensed:style=Condensed Bold,Bold
/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf: DejaVu Sans:style=Bold
/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf: DejaVu Sans Mono:style=Bold Oblique
/usr/share/fonts/truetype/ancient-scripts/Symbola_hint.ttf: Symbola:style=Regular
/usr/share/fonts/truetype/dejavu/DejaVuSansCondensed-BoldOblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold Oblique,Bold Oblique
/usr/share/fonts/truetype/dejavu/DejaVuSansCondensed.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed,Book
/usr/share/fonts/truetype/freefont/FreeSerif.ttf: FreeSerif:style=Regular,нормален,normal,obyčejné,Mittel,µεσαία,Normaali,Normál,Normale,Gemiddeld,odmiana zwykła,Обычный,Normálne,ปกติ,menengah,прямій,Navadno,vidējs,normalusis,عادی,vừa,Arrunta,सामान्य
/usr/share/fonts/opentype/freefont/FreeMono.otf: FreeMono:style=Regular,нормален,normal,obyčejné,Standard,µεσαία,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,menengah,прямій,navadno,vidējs,normalusis,thường,Arrunta,सामान्य
/usr/share/fonts/truetype/dejavu/DejaVuSansCondensed-Bold.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold,Bold
/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf: DejaVu Sans Mono:style=Bold
/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf: DejaVu Sans:style=Oblique
/home/b9/.local/share/fonts/DaxlinePro-Regular.otf: DaxlinePro,DaxlinePro\-Regular:style=Regular
/home/b9/.local/share/fonts/DaxlinePro-Thin.otf: DaxlinePro,DaxlinePro\-Thin:style=Thin,Regular
/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf: DejaVu Serif:style=Italic
/usr/share/fonts/opentype/freefont/FreeSerif.otf: FreeSerif:style=Regular,нормален,normal,obyčejné,Mittel,µεσαία,Normaali,Normál,Normale,Gemiddeld,odmiana zwykła,Обычный,Normálne,ปกติ,menengah,прямій,Navadno,vidējs,normalusis,عادی,vừa,Arrunta,सामान्य
/home/b9/.local/share/fonts/DaxlinePro-Medium.otf: DaxlinePro,DaxlinePro\-Medium:style=Medium,Regular
/usr/share/fonts/truetype/unifont/unifont.ttf: Unifont:style=Regular
/usr/share/fonts/truetype/freefont/FreeMono.ttf: FreeMono:style=Regular,нормален,normal,obyčejné,Standard,µεσαία,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,menengah,прямій,navadno,vidējs,normalusis,thường,Arrunta,सामान्य
/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf: DejaVu Serif:style=Book
/home/b9/.local/share/fonts/boecklinsuniverse/BoecklinsUniverse.ttf: Boecklins Universe:style=Regular
/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf: DejaVu Sans:style=Bold Oblique

사람들은 이 정보를 사용하여 ImageMagick을 통해 다양한 글꼴을 시험해보고 글꼴이 어떻게 보이는지 확인할 수 있습니다. 예를 들어,

convert -font Unifont -pointsize 128 pango:⌘ command.png

ImageMagick이 사용해야 하는 글꼴을 지정하려면 -font를 사용하세요.

우그레프(이름은 변경될 수 있음)

편의를 위해 내가 작성한 스크립트를 사용할 수도 있습니다.ugrep (이름은 변경될 수 있음)특정 문자가 포함된 설치된 글꼴을 나열하려면 다음 명령을 사용하십시오 -l.

$ ugrep -l command key 
   ⌘    U+2318  PLACE OF INTEREST SIGN (command key)
                FreeMono 
                Unifont 
                Symbola 
                FreeSerif 
                DaxlinePro 
                Boecklins Universe 

터미널이 Sixel 그래픽을 지원하는 경우 Ugrep은 다음을 사용하여 각 글꼴의 문자 렌더링을 표시할 수도 있습니다.-LN:

ugrep -L2 command key

ugrep을 실행하는 xterm의 스크린샷

관련 정보