이탤릭체일 경우에만 antialias 켜기

wkpark의 이미지

FontConfig설정할 때, 윈도우즈 트루타입글꼴이나, hinting이 들어간
윈도우즈 영문 글꼴에 대해서 특정 영역의 픽셀 사이즈의 글꼴에 대해
antialias를 끄는 방법을 잘 알고 계실 것입니다.

그런데, 이 경우 이탤릭체가 계단현상을 보여서 밉게 보이더군요.

fonts.conf파일을 참고해서 다음과 같은 설정을 첨가하니 이탤릭체의 경우에 대해서는 antialias를 켜게끔 되는군요.

        <match target="font">
                <test qual="any" name="family" compare="eq">
                        <string>Batang</string>
                        <string>Dotum</string>
                        <string>Gulim</string>
                        <string>Gungsuh</string>
                        <string>BatangChe</string>
                        <string>DotumChe</string>
                        <string>GulimChe</string>
                        <string>GungsuhChe</string>
                        <string>New Batang</string>
                        <string>New Dotum</string>
                        <string>New Gulim</string>
                        <string>New Gungsuh</string>
                        <string>기타 이탤릭에서 antialias를 켜기위한 글꼴</string>
                </test>
                <!-- check to see if the font is roman -->
                <test name="slant">
                        <const>roman</const>
                </test>
                <!-- check to see if the pattern requested non-roman -->
                <test target="pattern" name="slant" compare="not_eq">
                        <const>roman</const>
                </test>
                <edit name="antialias" mode="assign">
                        <bool>true</bool>
                </edit>
        </match>
Forums: 
utpark의 이미지

좋은 정보 고맙습니다. 한결 가독성이 좋아 졌습니다.

그런데 제 경우에는 아래와 같이 해당 부분을 주석처리해야만 정상적으로 동작을 합니다. 주석처리를 하지 않으면, AA가 적용되지 않습니다.

wkpark wrote:

        <match target="font">
                <test qual="any" name="family" compare="eq">
                        <string>Batang</string>
                        <string>Dotum</string>
                        <string>Gulim</string>
                        <string>Gungsuh</string>
                        <string>BatangChe</string>
                        <string>DotumChe</string>
                        <string>GulimChe</string>
                        <string>GungsuhChe</string>
                        <string>New Batang</string>
                        <string>New Dotum</string>
                        <string>New Gulim</string>
                        <string>New Gungsuh</string>
                        <string>기타 이탤릭에서 antialias를 켜기위한 글꼴</string>
                </test>
                <!-- check to see if the font is roman -->
                <!-- 여기서 부터 주석처리
                <test name="slant">
                        <const>roman</const>
                </test>
                주석처리 끝-->
                <!-- check to see if the pattern requested non-roman -->
                <test target="pattern" name="slant" compare="not_eq">
                        <const>roman</const>
                </test>
                <edit name="antialias" mode="assign">
                        <bool>true</bool>
                </edit>
        </match>
익명 사용자의 이미지

훌륭합니다.
항상 눈에 거슬리던 부분이었는데 왜 이 생각을 못했을까요.
감사합니다.

제경우에는 wkpark님 설정으로 잘 됩니다.

랜덤여신의 이미지

<match target="font">
	<test qual="any" name="family" compare="eq">
		<string>굴림</string><string>Gulim</string>
		<string>굴림체</string><string>GulimChe</string>
		<string>바탕</string><string>Batang</string>
		<string>바탕체</string><string>BatangChe</string>
		<string>돋움</string><string>Dotum</string>
		<string>돋움체</string><string>DotumChe</string>
		<string>궁서</string><string>Gungsuh</string>
		<string>궁서체</string><string>GungsuhChe</string>
		<string>새굴림</string><string>New Gulim</string>
		<string>새바탕</string><string>New Batang</string>
		<string>새돋움</string><string>New Dotum</string>
		<string>새궁서</string><string>New Gungsuh</string>
		<string>MS ゴシック</string><string>MS Gothic</string>
		<string>정9</string><string>Jung9</string>
	</test>
	<!--<test name="slant" compare="eq">
		<const>oblique</const>
	</test>-->
	<test name="matrix" compare="eq">
		<matrix><double>1</double><double>0.2</double>
			<double>0</double><double>1</double>
		</matrix>
	</test>
	<edit mode="assign" name="antialias"><bool>true</bool></edit>
	<edit mode="assign" name="autohint"><bool>false</bool></edit>
	<edit mode="assign" name="hinting"><bool>false</bool></edit>
</match>

저는 이렇게 쓰고 있습니다.
중간에 <!-- 와 --> 로 싸인 부분이 예전에 쓰던 설정인데, fontconfig 버전을 fontconfig-2.3.2 로 올리니 GTK 와 QT 에서 서로 다르게 보이더군요. 그래서 matrix 로 판단하도록 고쳤습니다.
wkpark의 이미지

이렇게 해도 잘 되더군요. 이미 위키페이지에 메모 해 둔 내용이지만, 혹시 몰라서 다시 씁니다.

요점은, embeded bitmap이 있는 글꼴에 대해 "slant"를 검사하는 테스트를 하나 더 추가하는 것입니다.

        <match target="font">
                <test qual="any" name="family" compare="eq">
                        <string>Batang</string>
                        <string>Dotum</string>
                        <string>Gulim</string>
                        <string>Gungsuh</string>
                        <string>BatangChe</string>
                        <string>DotumChe</string>
                        <string>GulimChe</string>
                        <string>GungsuhChe</string>
                        <string>New Gulim</string>
                        <string>기타 embeded bitmap글꼴이 있는 글꼴</string>
                </test>
                <!-- 아래 부분의 test를 하나 더 넣는 것 -->
                <test target="pattern" name="slant" compare="eq">
                        <const>roman</const>
                </test>
                <!-- -->
                <test name="pixelsize" compare="more_eq"><int>10</int></test>
                <test name="pixelsize" compare="less"><int>16</int></test>
                <edit name="antialias" mode="assign"><bool>false</bool></edit>
        </match>

온갖 참된 삶은 만남이다 --Martin Buber

랜덤여신의 이미지

wkpark wrote:
이렇게 해도 잘 되더군요. 이미 위키페이지에 메모 해 둔 내용이지만, 혹시 몰라서 다시 씁니다.

요점은, embeded bitmap이 있는 글꼴에 대해 "slant"를 검사하는 테스트를 하나 더 추가하는 것입니다.

        <match target="font">
                <test qual="any" name="family" compare="eq">
                        <string>Batang</string>
                        <string>Dotum</string>
                        <string>Gulim</string>
                        <string>Gungsuh</string>
                        <string>BatangChe</string>
                        <string>DotumChe</string>
                        <string>GulimChe</string>
                        <string>GungsuhChe</string>
                        <string>New Gulim</string>
                        <string>기타 embeded bitmap글꼴이 있는 글꼴</string>
                </test>
                <!-- 아래 부분의 test를 하나 더 넣는 것 -->
                <test target="pattern" name="slant" compare="eq">
                        <const>roman</const>
                </test>
                <!-- -->
                <test name="pixelsize" compare="more_eq"><int>10</int></test>
                <test name="pixelsize" compare="less"><int>16</int></test>
                <edit name="antialias" mode="assign"><bool>false</bool></edit>
        </match>

이 방법이, GTK 프로그램에서는 제대로 동작하는데 QT 프로그램에서는 제대로 동작하지 않는 것 같더군요. (또는 그 반대)
제 추측으로는, GTK 프로그램은 embolden 을 쓰고, QT 프로그램은 아직 embolden 을 지원하지 않아서 수동으로 패치한 것이기 때문에, '이탤릭' 을 가리키는 상수가 다른 것 같습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.