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

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

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

  • This topic has 3개 답변, 2명 참여, and was last updated 11 years, 1 month 전에 by
    GCC. This post has been viewed 5498 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 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.

지금 이 순간


키보드 반복 입력 속도 설정하는 방법이 궁금합니다.
안녕하세요.
눈물을 머금고 Fedora 11로 다운그레이드하다가
"Translation CVS Commit Group (cvsl10n)"그룹의 Sponsor얻었습니다.
fedora 12 설치중 mount에서 멈추는거같습니다.
새로운 한주 입니다 행복한 하루 되세요
ODD없이 USB로 설치
전역하고 인사가 늦었내요 ~
(최종) 페도라 시작 부분 - 초기 동작 상태
서자룡님의 SULinux 서버구축관리실무 책을 읽고...