Linux에서 Flash 한글 설정하기
본문 바로가기
컴퓨터.가전

Linux에서 Flash 한글 설정하기

by K 61417 2019. 8. 8.

대부분의 Linux 배포판에서 나오는 문제입니다. 소모임에 올릴까 했는데, 기술적이지만 접근성에서는 팁란이 나을 것 같아 여기에 올립니다.

flash plugin에 CJK 문자가 깨져나오는(사각형) 경우에 대한 해결책입니다. 꽤 옛날부터 나온 문제인데, 확실한 해결책은 없던 것으로 기억합니다.



거의 한나절을 fontconfig 설정을 뜯어고치며 분석한 바로는, flash plugin은 arial과 sans-serif 라는 2가지의 글꼴 family를 확인하고 사용합니다. arial 글꼴이 windows font에 포함되기 때문에, "Windows font package를 설치하면 끝난다." 라는 해외 Linux forum의 답변이 여기서 나옵니다. 하지만 Linux 배포판에 이미 Arial글꼴이 설치되어 있고, 한글을 지원하지 않기 때문에, 문제는 해결되지 않습니다.

현재 설정은 아래와 같이 확인해보면 됩니다. (찾는 글꼴은 대소문자 구분없이)


[yoyo@crepas ~] $ fc-match arial
arial.ttf: "Arial" "Normal"
[yoyo@crepas ~] $ fc-match sans-serif
DejaVuSans.ttf: "DejaVu Sans" "Book"



저는 한글글꼴은 나눔 고딕으로 설정할 생각이므로, 나눔 고딕이 있는지 아래와 같이 확인합니다


[yoyo@crepas ~] $ fc-match nanumgothic
NanumGothic.ttf: "NanumGothic" "Regular"



만약, 다른 한글글꼴이나 CJK지원 글꼴을 쓰고 싶다면, 그 글꼴을 찾으면 됩니다. Noto sans 글꼴도 있는지 찾아봅니다.


[yoyo@crepas ~] $ fc-match notosanscjkkr
NotoSansCJKkr-DemiLight.otf: "Noto Sans CJK KR" "DemiLight"



저는 system설정을 바꾸기 싫어서 사용자별 설정으로 위치는 ~/.config/fontconfig/fonts.con에 파일을 만들어 아래와 같은 내용을 만들었습니다.


[yoyo@crepas ~] $ cat ~/.config/fontconfig/fonts.conf 
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="pattern" >
        <test name="family" compare="eq"><string>arial</string></test>
        <edit name="family" mode="assign" binding="same"><string>nanumgothic</string></edit>
    </match>
    <match target="pattern" >
        <test name="family" compare="eq"><string>sans-serif</string></test>
        <edit name="family" mode="assign" binding="same"><string>nanumgothic</string></edit>
    </match>
</fontconfig>



글꼴 family가 arial이면, nanumgothic으로 설정합니다. sans-serif도 똑같이 설정해줍니다.


[yoyo@crepas ~] $ fc-match arial
NanumGothic.ttf: "NanumGothic" "Regular"
[yoyo@crepas ~] $ fc-match sans-serif
NanumGothic.ttf: "NanumGothic" "Regular"



브라우져를 재시작해서, TED나 YouTube를 확인하면 아래와 같이 나옵니다.



만약, arial과 sans-serif 를 제외한 폰트에도 한글 글꼴을 쓰고 싶다면, 아래와 같이 patten match rule을 추가해주면 됩니다. 저는 arial과 sans-serif가 아닌 경우, 전부 Noto sans 글꼴로 적용했습니다.


<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="pattern" >
        <test name="family" compare="eq"><string>arial</string></test>
        <edit name="family" mode="assign" binding="same"><string>nanumgothic</string></edit>
    </match>
    <match target="pattern" >
        <test name="family" compare="eq"><string>sans-serif</string></test>
        <edit name="family" mode="assign" binding="same"><string>nanumgothic</string></edit>
    </match>
    <match target="pattern" >
        <test qual="all" name="family" compare="not_eq"><string>arial</string></test>
        <test qual="all" name="family" compare="not_eq"><string>sans-serif</string></test>
        <edit name="family" mode="append"><string>notosanscjkkr</string></edit>
    </match>
</fontconfig>



3줄요약:
1. Linux flash plugin은 arial, sans-serif 글꼴 2가지 모두 사용한다.(하나만 쓰면 글꼴깨짐)
2. arial, sans-serif 글꼴을 한글 글꼴 내지 CJK 지원 글꼴로 변경한다.
3. 로그아웃 또는 브라우져 재시작 후 YouTube 또는 TED 감상.

 

펌)https://www.clien.net/service/board/lecture/7452217?od=T31&po=317&category=&groupCd=

댓글