Alpine Linux에서 일본어가 깨지지 않도록 NotoSansCJKjp 넣기

3026 단어 alpineNotoSans

문제



Alpine 상의 브라우저로 캡쳐라든지 취할 때에, 일본어 폰트 부분이 문자화되어 버리고 있다. 이런 식으로.



환경


/ # cat /etc/os-release 
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.6.0
PRETTY_NAME="Alpine Linux v3.6"
HOME_URL="http://alpinelinux.org"
BUG_REPORT_URL="http://bugs.alpinelinux.org"

해결



기본적으로 일본어 글꼴이 아무것도 없는 것 같기 때문에 뭔가 넣어야 합니다.

일단 이것을 흘리면 다시 고칠지도 모릅니다.
apk update \
  && apk add --no-cache curl fontconfig \
  && curl -O https://noto-website.storage.googleapis.com/pkgs/NotoSansCJKjp-hinted.zip \
  && mkdir -p /usr/share/fonts/NotoSansCJKjp \
  && unzip NotoSansCJKjp-hinted.zip -d /usr/share/fonts/NotoSansCJKjp/ \
  && rm NotoSansCJKjp-hinted.zip \
  && fc-cache -fv \
fontconfig 라는 패키지를 넣으면 fc-listfc-cache 라는 명령을 사용할 수 있게 됩니다. 별로 잘 모르겠지만 이렇게 할 수 있습니다.
  • fc-list 사용 가능한 글꼴 목록 표시
  • fc-cache -fv 사용 가능한 글꼴 업데이트

  • 글꼴은 /usr/share/fonts/<好きなディレクトリ名>/... 같은 느낌으로 두면 괜찮을 것 같습니다. 지금은 /usr/share/fonts/NotoSansCJKjp/*.otf 가 되도록 배치했습니다.
    fc-cache -fv 에서 글꼴 정보를 업데이트합니다.
    /usr/share/fonts/NotoSansCJKjp: caching, new cache contents: 9 fonts, 0 dirs
    

    상기를 흘린 결과는 이런 느낌이 되었습니다. 일본어가 되어 있다! !



    시도하지 않았지만 생각한 것



    Mac상의 로컬 docker로 alpine 이미지를 사용하는 경우는 -v ~/Library/Fonts:/usr/share/fonts/Fonts 로컬에서.

    효과가 없을 때



    CSS가 만연한 환경이라면 최소한 font-family: sans-serif (또는 직접적으로 font-family: 'Noto Sans CJK JP')로 설정해야합니다. 자작 웹 어플리케이션이라면 이 지정을 해 두면 좋을까 생각합니다.

    좋은 웹페이지 즐겨찾기