기본 Grub 글꼴을 변경 한 후 상자 문자가 없습니다. 16 -o /boot/grub/grubfont.pf2

나는 Grub의 기본 글꼴을 사용하여 변경할 수있었습니다.

grub-mkfont -s 16 -o /boot/grub/grubfont.pf2 font.tty

그런 다음 / etc / default / grub에 다음 줄을 추가하십시오.

GRUB_FONT=/boot/grub/grubfont.pf2

그리고 물론

sudo update-grub

그리고 새로운 글꼴과 모든 것이 나타났습니다 (단일 간격 글꼴을 선택해야 함). 그러나 “상자”문자 (항목 주위)는 올바르게 표시되지 않습니다. 대부분의 글꼴에는 단순히 해당 문자 세트가없는 것 같습니다. 이 문자를 추가 할 수있는 방법이 있습니까? 아마도 기본 unicode.pf2 글꼴에서 복사합니까? 이것이 실제로 가능하지 않은 경우 이러한 문자가있는 글꼴을 알고 있습니까?

최신 정보:

나는 ttf에서 bdf로 변환 한 다음 pf2로 변환하는 것과 같은 많은 다른 것들을 시도했지만 옵션으로 ASCII 문자 만 변환하려고 시도했지만 --range=0x0-0x7f완벽하게 작동하지는 않는 것 같습니다. 기본보다 큰 글꼴을 생성하고 있기 때문에 기본 글리프를 사용할 수 없다는 느낌이 있습니다.

더 작은 글꼴 크기로 작동하도록 할 수 있는지 확인하려고 시도하지만 글꼴을 변경하려는 이유 중 하나였습니다.



답변

이론적으로 grub-mkfont 여러 글꼴을 전달할 수 있습니다. 이 경우 Unifont 또는 더 넓은 범위의 다른 글꼴로 동시에 링크를 전달할 수 있습니다 . 제작 된 Grub 글꼴은 두 입력 글꼴을 모두 포함합니다.

참고 : Grub 부팅시 글꼴 로더의 최근 성능 향상은 Grub 글꼴 파일의 글리프가 특정 오름차순이어야하지만 불행히도 grub-mkfont유틸리티가 동시에 변경되지 않았 음을 의미합니다 ! 이것은 지금 버그입니다 :

  • 버그 # 729470 “grub-mkfont는 grub이 사용할 수없는 글꼴을 출력합니다 (오름차순이 아닌 글꼴 문자 : 0 <= 0)”

BTW, 관심이 있다면,이 버그는 Grub 부팅 메뉴 에서 Ubuntu Font Family 개발 Ubuntu Mono 글꼴 사용을 조사 하고 방금했던 것과 정확히 같은 문제를 겪는 실험으로 인해 발견되었습니다 !


답변

기본적으로 원하는 것은 범위 연산자를 사용하여 새 그럽 글꼴에 포함 된 문자를 제한하는 것입니다. range 연산자를 사용하지 않으면 대상 글꼴에서 잘못되거나 잘못된 상자 요소를 포함한 모든 글리프가 표시됩니다.

예를 들면 다음과 같습니다.

grub-mkfont -s 16 --range=0x0-0x7f -o /boot/grub/grubfont.pf2 font.tty

ASCII 문자 만있는 글꼴을 생성합니다. 글꼴에없는 항목은 기본 글꼴로 정상적으로 쇠약해져 상자와 화살표가 기본값에서 나옵니다. 자세한 내용은이 웹 사이트를 참조하십시오.

http://grub.enbug.org/gfxterm


답변

IIRC 나는 모든 글리프를 사용할 때 설명하는 내용에 부딪쳤다.


(출처 : xrmb2.net )

어쩌면 그것은 문제 grub-mkfont일 수도 있고, 글꼴과 관련이있을 수도 있습니다. 🙁

나를 위해 일한 것 :

  1. gbdfed콘솔 글꼴에서 ‘bdf’파일을 생성하는 데 사용 (예 : ‘/usr/share/consolefonts/Lat15-VGA16.psf’) : 파일> 가져 오기> 콘솔 글꼴, 파일> 다른 이름으로 저장 …
  2. 만 ASCII 문자 변환 grub-mkfont:

    grub-mkfont --output=out.pf2 --range=0x0-0x7f out.bdf


답변

-v 플래그 와 함께 grub-mkfont 를 실행 하면 얼마나 많은 글리프가 있는지 보여줍니다. 천 개가 넘으면 국경 캐릭터가 있어야합니다. 범위를 제한하면 상황이 악화 될뿐입니다. DejaVuSansMono 글꼴은 모든 문자를 올바르게 표시하며 .pf2에 3000 개 이상의 글리프가 있습니다. 다른 많은 글꼴에는 화살표가 있지만 테두리는 없습니다.


답변

유니 코드 글꼴을 사용하십시오. arialuni.ttf와 같이 거의 모든 것이 잘 작동합니다 (필요에 따라 모든 문자를 표시합니다). 내 문제는 문자 간격이 조금 큽니다 … 그리고 테스트 한 모든 글꼴에서 발생합니다.


답변

기본 글꼴과 원하는 글꼴을 모두 로드 하여 올바르게 표시되도록 할 수 있습니다 .

그런 다음 글꼴을 원하는 글꼴로 설정하십시오.

상자의 문자를 찾을 수없는 경우로드 된 일반 글꼴이 기본값으로 작동하고 필요한 문자가 제공됩니다.


답변

나는이 스레드가 고대임을 알고 있지만 오늘 그것을 읽고 있었고 아직 제공되지 않은 다른 대답을 생각해 냈습니다 … 그래서 여기 있습니다 :

글꼴을 변경 한 후 GRUB에서 홀수 문자가 표시되면 .pf2 파일을 작성하는 데 사용한 .ttf 파일에 해당 문자가 없기 때문입니다.

테두리를 만드는 데 사용되는 문자는 다음과 같습니다.

  • U + 2501
  • U + 2503
  • U + 250F
  • U + 2513
  • U + 2517
  • U + 251B

.ttf 파일에서 일반적으로 누락되는 다른 문자는 다음과 같은 화살표입니다.

  • U + 2191
  • U + 2193

FontForge (오픈 소스 소프트웨어)를 사용하여 사용하려는 .ttf에 포함 된 문자가있는 .ttf에서 해당 문자를 복사하여 붙여 넣을 수 있습니다. FontForge로 새 .ttf를 생성 한 후 grub-mkfont를 사용하여 모든 적절한 문자가 포함 된 .pf2 파일을 만들 수 있습니다.