invoiceShelf app report broken font asia characters (kr or jp)

invoiceShelf app report broken font asia characters (kr or jp)
Photo by Kelly Sikkema / Unsplash

기록을 남겨본다.

주의! 아래의 내용은 폰트 변경으로 인해 좋지 않을 결과? 가 나올 수 도 있으니 충분히 이해 하거나 다른 곳에서 시험 해보고 시스템에 적용하길 바랍니다.

google 에서 cjk 폰트를 다운로드 받는다. 이번에 적용할 폰트는 1개만 시험삼아 한다.

대략적인 내용이다.

  1. Download "loadfont.php" from here https://github.com/dompdf/utils
  2. Noto CJK 구글에서 다운로드한다.
  3. 1번과 2번 파일을 /vendor/dompdf/dompdf 에 업로드 한다.
    필자의 경우 시놀로지에서 해당 도커의 작업 폴더안에 올리고 터미널에 접속 cp 하였다.
    > ttf 폰트파일도 data/fonts/ 작업폴더에 올려둔다.
  4. 명령어 php load_font.php '원하는 폰트famliy이름' 적용폰트.ttf
    예시 ) php loadfont.php 'notosankr' NotoSansKR-Black.ttf
  5. 아마도 loadfont.php 하면 3열에서 에러 날것이다.
    이경우는 현재 위치를 pwd 해서 해당 내용을 vim 이용해서 3열에 추가 해준다.
    필자의 기본 위치는
    /var/www/html/InvoiceShelf
  6. installed-fonts.dist.json vim 해서 내용을 추가 한다.
"notosankr": {
    "normal": "NotoSansKR-Black",
    "bold": "NotoSansKR-Black",
    "italic": "NotoSansKR-Black",
    "bold_italic": "NotoSansKR-Black"
},
  1. report 관련 view 에 해당부분을 /resources/views/app/pdf/ 전부를 vim 해야한다.
font-family: "notosankr";
scr:url('/data/fonts/NotoSansKR-Black.ttf')

위 내용을 변경한다.

이후 컨테이너를 재부팅 하고 확인하면 된다.