FREEDOM. FRIENDS. FEATURES. FIRST.
페도라 한국 사용자 모임

fontconfig-infinality에 대한 설정(보아네르게스님의 질문에 대한 답변입니다.)

게시판 Tech/Tip fontconfig-infinality에 대한 설정(보아네르게스님의 질문에 대한 답변입니다.)

  • This topic has 3개 답변, 2명 참여, and was last updated 7 years, 11 months 전에 by GCC. This post has been viewed 65 times
  • 만든이
    게시글
  • #12209
    난해주님
    참가자
    • 게시글114
    • 댓글337
    • 총합451
    • ★★
    @workman729
    fontconfig-infinality는 페도라의 폰트랜더링을 상향, 가독성의 향상을 기대할 수 있는 유용한 프로그램입니다. 
     
    우선 어떤 글꼴을 기본으로 설정할 것인 가를 먼저 정해 둡니다. 저의 경우 영문은 Open-Sans, 한글은 맑은 고딕을 선호하는데 선호하시는 대로 나눔고딕을 기본으로 설정하셔도 됩니다. 뭐 특별한 설정이 따로 필요한 것은 아니니까요...^^

    굴림과 바탕같은 폰트는 윈도우의 폰트를 그대로 복사해서 사용하시면 되나 저작권에 대한 유의할 점이 있을수 있음을 사전에 말씀드립니다. /usr/share/fonts 디렉토리에 복사후 sudo fc-cache -fv 명령어로 등록해 주시면 됩니다.

    MS사의 기본 영문 폰트는 아래 처럼 설치하시면 됩니다. (wget은 페도라에서 기본으로 설치되지 않습니다. sudo yum install wget 명령어로 설치합니다.)
    # wget http://www.my-guides.net/en/images/stories/fedora12/msttcore-fonts-2.0-3.noarch.rpm
    # su -c 'rpm -ivh msttcore-fonts-2.0-3.noarch.rpm'

    infinality 프로그램의 저장소를 등록하고 프로그램을 설치합니다.
    # sudo rpm -Uvh http://www.infinality.net/fedora/linux/infinality-repo-1.0-1.noarch.rpm
    # sudo yum install freetype-infinality fontconfig-infinality

    사전 준비 작업은 이것으로 끝내고 설정내용은 아래를 확인하시기 바랍니다.

     
    # cd /etc/fonts/infinality
    # sudo vi infinality.conf
    <match target="font" >
         <edit name="embeddedbitmap" mode="assign">
      <bool>true</bool>
          </edit>
    </match>
     
    파일에서 embeddedbitmap 설정은 bipmap 폰트 사용 유무에 대한 설정입니다. 굴림, 바탕 같은 비트맵 폰트를 사용하므로 true로 설정합니다.
     
    # sudo ./infctl.sh setstyle
     
    위의 명령어는 infinality가 설정해 주는 랜더링 타입을 설정합니다. 저의 경우 3번 linux를 선호 합니다. 위의 명령어를 주시면 conf.d 폴더가 생성되고 기타 설정 파일이 심볼릭 링크 형식으로 생성됩니다.
     
    # cd conf.d
    # sudo vi 20-aliases-default-linux.conf (기본으로 사용할 폰트를 지정 - 그대로 사용하시는 것이 웹에서는 무난함)
     
    기본으로 사용할 폰트를 지정해 주어도 무관하나 san-serif의 경우 DejaVu Sans 폰트가 가독성이 가장 좋습니다.
     
    # sudo vi 30-non-latin-osx-lin.conf (비영문 폰트 설정)
     
    serif와 sans-serif, monospace 비영문에 대한 기본 폰트를 설정합니다. serif와 sans-serif, monospace가 어떤 의미인지는 따로 설명드리지 않겠습니다. 나눔고딕과 나눔명조, 나눔고딕코딩 조합을 선호하시면 그대로 지정하시면 됩니다. 
     
    <family>NanumMyeongjo</family> → serif
    <family>NanumGothic</family> → sans-serif
    <family>NanumGothicCoding</family> → monospace
     
    # sudo vi 50-base-rendering-inf-osx-lin.conf (폰트에 대한 랜더링 설정)
    <match target="font">
    <edit name="rgba" mode="assign">
    <const>rgb</const>
    </edit>
    <edit name="hinting" mode="assign">
    <bool>true</bool>
    </edit>
    <edit name="autohint" mode="assign">
    <bool>false</bool>
    </edit>
    <edit name="antialias" mode="assign">
    <bool>true</bool>
    </edit>
    <edit name="hintstyle" mode="assign">
    <const>hintfull</const>
    </edit>
    <edit name="lcdfilter" mode="assign">
    <const>lcddefault</const>
    </edit>
    </match>
     
    위와 같이 설정합니다.  참고로 hintstyle을 slight로 설정시 약간의 트릭이 필요합니다. 특히 KDE를 사용시 유용하나 그놈을 사용하시고 한글의 경우 hintfull 이 가독성에 좋으니 패스하도록 하겠습니다.
     
    # sudo vi 60-group-non-tt-fonts.conf (비영문 항목과 랜더링 설정)
    <match target="font">
         <test name="family">
       <string>NanumGothic</string>
         </test>
          <edit name="font_type" mode="assign">
                <string>NON TT Instructed Font</string>
        </edit>
     </match>
     
    <match target="font">
    <test name="font_type">
    <string>NON TT Instructed Font</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>false</bool>
    </edit>
    <edit name="hintstyle" mode="assign">
    <const>hintfull</const>
    </edit>
    <edit name="hinting" mode="assign">
    <bool>true</bool>
    </edit>
    <edit name="antialias" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
     
    위에서는 나눔고딕 하나만 적어 두었으나 나눔명조, 나눔고딕, 나눔고딕코딩 모두를 위와 같이 첨가하시고 랜더링 설정을 합니다. 참고로 맑은 고딕은 여기서 설정하는 것 보다 따로 설정하는 것이 나으니 마지막으로 설명해 드리겠습니다.
     
    # sudo vi 61-group-non-tt-rendering-inf-7-xp-lin.conf (wine을 사용하는 경우 설정 - 위의 설정대로 설정하시면 됩니다.)
     
    # sudo vi 61-group-tt-rendering-linux.conf (영문 폰트 설정)
    <match target="font">
    <test name="font_type">
    <string>TT Instructed Font</string>
    </test>
    <edit name="antialias" mode="assign">
    <bool>true</bool>
    </edit>
    <edit name="hintstyle" mode="assign">
    <const>hintfull</const>
    </edit>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    영문의 경우 가장 좋은 힌트 값은 hintslight 이나 한글과의 조합을 생각한다면 hintfull 로 주시되 autohint 를 true 로 설정하시는 것이 가독성이 좋습니다. 만약 윈도우와 같이 약간 짜부러진 폰트를 선호하신다면 autohint 를 false 로 설정하십시오.
    # sudo vi 62-tt-monospace-rendering.conf (고정폭 글꼴 설정)
    <match target="font">
    <test name="family">
    <string>Droid Sans Mono</string>
    </test>
    <edit name="tt-monospace-rendering" mode="assign">
    <string>use-bitmaps-if-set</string>
    </edit>
    </match>
    위의 설정은 고정폭 글꼴 항목 등록과 함께 비트맵 형식을 지원항목입니다.
    원하시는 글꼴을 위와 같이 등록하시면 됩니다.
     
    <match target="font">
    <test name="tt-monospace-rendering">
    <string>use-bitmaps-if-set</string>
    </test>
    <test name="bitmap_monospace">
    <bool>false</bool>
    </test>
    <edit name="hinting" mode="assign">
    <bool>true</bool>
    </edit>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    <edit name="antialias" mode="assign">
    <bool>true</bool>
    </edit>
    <edit name="hintstyle" mode="assign">
    <const>hintfull</const>
    </edit>
    <edit name="embeddedbitmap" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    위의 설정은 고정폭 글꼴의 비트맵 형식을 사용할 것인지의 여부와 랜더링에 대한 설정입니다. 일반적으로 고정폭 글꼴은 비트맵을 지원합니다만 사용은 거의 하지 않습니다. 가독성을 생각할 때 저의 경우 false로 설정합니다.
    autohint 항목은 true로 설정합니다. 윈도우 처럼 짜부러진 글꼴을 선호한다면 false로 설정하십시오.
    여기 까지가 필요한 설정입니다. 저의 경우 맑은 고딕을 선호하므로 따로 설정을 하는 것을 선호 하는데 그 이유는 폰트가 autohint 정보를 포함하고 있지 않기 때문입니다. 특별한 건 없고 아래 처럼 설정하시면 됩니다.
    # sudo vi /etc/fonts/conf.avail/90-ttf-kor-fonts.conf (맑은 고딕에 대한 설정. 이름이야 원하시는 대로 단, 90번은 그대로)
    <?xml version="1.0"?>
    <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
    <fontconfig>
    <match target="font">
        <test name="family" qual="any">
            <string>Malgun Gothic</string>
        </test>
    <edit name="antialias" mode="assign" binding="strong"><bool>true</bool></edit>
    <edit name="hinting"   mode="assign" binding="strong"><bool>true</bool></edit>
    <edit name="autohint"  mode="assign" binding="strong"><bool>false</bool></edit>
    <edit name="hintstyle" mode="assign" binding="strong"><const>hintfull</const></edit>
    </match>
     
    <match target="font">
            <test name="family" qual="any">
                    <string>맑은 고딕</string>
            </test>
                    <edit name="antialias" mode="assign" binding="strong"><bool>true</bool></edit>
                    <edit name="hinting"   mode="assign" binding="strong"><bool>true</bool></edit>
                    <edit name="autohint"  mode="assign" binding="strong"><bool>false</bool></edit>
                    <edit name="hintstyle" mode="assign" binding="strong"><const>hintfull</const></edit>
            </match>
    <match target="font">
            <test name="family" qual="any">
                    <string>Malgun Gothic Bold</string>
            </test>
                    <edit name="antialias" mode="assign" binding="strong"><bool>true</bool></edit>
                    <edit name="hinting"   mode="assign" binding="strong"><bool>true</bool></edit>
                    <edit name="autohint"  mode="assign" binding="strong"><bool>false</bool></edit>
                    <edit name="hintstyle" mode="assign" binding="strong"><const>hintfull</const></edit>
            </match>
     
    <match target="font">
            <test name="family" qual="any">
                    <string>맑은고딕 Bold</string>
            </test>
                    <edit name="antialias" mode="assign" binding="strong"><bool>true</bool></edit>
                    <edit name="hinting"   mode="assign" binding="strong"><bool>true</bool></edit>
                    <edit name="autohint"  mode="assign" binding="strong"><bool>false</bool></edit>
                    <edit name="hintstyle" mode="assign" binding="strong"><const>hintfull</const></edit>
            </match>
     
    </fontconfig>
     
    # sudo ln -s /etc/fonts/conf.avail/90-ttf-kor-fonts.conf /etc/fonts/conf.d/ (심볼릭 생성)
     
    다 되었습니다. 설정 후 재부팅 또는 재 로그인 하시면 윈도우 보다 더 나은 폰트 랜더링으로 가독성이 상향 될 것 입니다.
    참고로 위의 설정은 제가 선호하는 설정이므로 다르게 하시겠다면 이리저리 설정을 변경해 보십시오.

    참고로 /etc/fonts/conf.d/의 40-nolantin.conf와 45-lantin.conf, 60-latin.conf, 65-nolatin.conf 파일의 설정 항목을 적절히 변경하시면 infinality와 연관되어 선호하시는 폰트 설정에 더욱 유용하게 활용하실 수 있습니다.

    또한 반드시 올바른 문법으로 설정하셔야 합니다. 문법이 틀릴 경우 mplayer와 같이 fontconfig 설정과 연관되어 돌아가는 프로그램에선 에러를 발생시킬 수 있습니다. 그러나 너므 걱정하지 마십시오. 문법이 무지 어려운 것은 아니기 때문입니다.

     
    kDE의 경우 비트맵 폰트인 굴림,바탕등의 글꼴에서는 hintslight로 설정하는 경우 글꼴 번짐현상이 발생할 수 있습니다. 이는 KDE 자체의 버그이므로 따로 설정 파일을 생성하여 antialias를 false로 설정하시면 해결 하실 수 있습니다.
2 답변 글타래를 보이고 있습니다
  • 글쓴이
    답변
    • #12927
      GCC
      참가자
      • 게시글2
      • 댓글8
      • 총합10
      • ★★
      @lazysod

      엄청 빨리 답변 주셨네요. 잠시후에 바로 작업 들어가겠습니다.
      설정이 엄청 많아요
      90-ttf-kor-fonts.conf 이 파일은 맑은고딕을 사용안하면 따로 만들지 않아도 되는건가요?

      그리고 xml설정부분이
      60-group-non-tt-fonts.conf (비영문 항목과 랜더링 설정)
      이 파일에서

      <match target="font">
           <test name="family">
         <string>NanumGothic</string>
           </test>
            <edit name="font_type" mode="assign">
                  <string>NON TT Instructed Font</string>
          </edit>
       </match>

      이부분을 나눔명조, 나눔코딩 똑같이 적으면 됩니까 아니면 <string>NanumGothic</string> 이것만 계속 추가하면될까요
      일단 완전히 똑같이 설정하고 느낀 소감을 적겠습니다.


    • #12928
      GCC
      참가자
      • 게시글2
      • 댓글8
      • 총합10
      • ★★
      @lazysod

      맑은고딕도 ttf파일 추가했습니다.
      엑스윈도 메뉴와 아이콘등에 뜨는 한글이 훨씬 선명해진거 같습니다.

      적용되는 설정을 전부다 제대로 따라 했는지 모르겠습니다만
      90-ttf-kor-fonts.conf 의 안티알리아싱 을 false로도 해봤다가 true로도 해보니
      설정변화가 바로바로 적용이 되고 있는거 같습니다.
      ./infctl.sh setstyle 이걸 하나씩 변경해 보려고 한번 더 실행하니 이전 설정해논 링크가 다 사라져 버리네요.
      61-group-non-tt-rendering-inf-7-xp-lin.conf 이건 와인을 안쓰면 설정안해도 되는지요?

      4
      0-nolantin.conf와 45-lantin.conf, 60-latin.conf, 65-nolatin.conf
      이 설정은 아직 못해봤습니다. 링크 함부로 건드리기 무섭네요.


    • #12929
      GCC
      참가자
      • 게시글2
      • 댓글8
      • 총합10
      • ★★
      @lazysod

      기분 탓인지 MS윈도우즈의 굴림폰트가 너무 익숙해져인지
      여기 엑스윈도 브라우저에서 보이는 폰트는 MS윈도우즈보다는 색깔이 연한거(?) 같습니다.

      시력이 나빠서 Ctrl++ 키로 화면 주로 확대해서 보는데
      이 렌더링 설치하고 최대로 확대해도 선명하게 보이고 정말 가독성이 좋아 졌습니다.

      개인적인 생각이지만 확대를 할수록 이미지는 흐려지는데 폰트는
      기본 크기에서(Ctrl+0) 보이는 글자색 보다 신기하게 더 진하게 보입니다.
      어짜피 계속 확대해서 보는 습관이 들어 있어서 확대해서 잘 보이면 그걸로 만족합니다.

      엑스윈도에 있는 다른 메뉴들이나 아이콘 이름 등등 한글이 아주 선명해 지고 좋습니다.
      설정을 다 바꿔보지 못해서 차츰차츰 바꿔가면서 최적을 찾으려고 합니다.
      눈의 피로를 줄이기 위함무엇보다 중요하니까요.
      좋은 정보 감사합니다.

2 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.