invoiceShelf app report broken font asia characters (kr or jp)
기록을 남겨본다.
주의! 아래의 내용은 폰트 변경으로 인해 좋지 않을 결과? 가 나올 수 도 있으니 충분히 이해 하거나 다른 곳에서 시험 해보고 시스템에 적용하길 바랍니다.
google 에서 cjk 폰트를 다운로드 받는다. 이번에 적용할 폰트는 1개만 시험삼아 한다.
대략적인 내용이다.
- Download "loadfont.php" from here https://github.com/dompdf/utils
- Noto CJK 구글에서 다운로드한다.
- 1번과 2번 파일을
/vendor/dompdf/dompdf
에 업로드 한다.
필자의 경우 시놀로지에서 해당 도커의 작업 폴더안에 올리고 터미널에 접속 cp 하였다.
> ttf 폰트파일도 data/fonts/ 작업폴더에 올려둔다. - 명령어
php load_font.php '원하는 폰트famliy이름' 적용폰트.ttf
예시 )php loadfont.php 'notosankr' NotoSansKR-Black.ttf
- 아마도 loadfont.php 하면 3열에서 에러 날것이다.
이경우는 현재 위치를 pwd 해서 해당 내용을 vim 이용해서 3열에 추가 해준다.
필자의 기본 위치는/var/www/html/InvoiceShelf
- installed-fonts.dist.json vim 해서 내용을 추가 한다.
"notosankr": {
"normal": "NotoSansKR-Black",
"bold": "NotoSansKR-Black",
"italic": "NotoSansKR-Black",
"bold_italic": "NotoSansKR-Black"
},
- report 관련 view 에 해당부분을 /resources/views/app/pdf/ 전부를 vim 해야한다.
font-family: "notosankr";
scr:url('/data/fonts/NotoSansKR-Black.ttf')
위 내용을 변경한다.
이후 컨테이너를 재부팅 하고 확인하면 된다.