yuru7 / HackGen

Hack と源柔ゴシックを合成したプログラミングフォント 白源 (はくげん/HackGen)

Home Page:https://qiita.com/tawara_/items/374f3ca0a386fab8b305

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

源柔ゴシックのRegular/Boldで文字幅の違い、グリフの有無の違いがある

yuru7 opened this issue · comments

#36 によって顕在化した問題。
以下の源柔ゴシック Regular-Bold 間でのグリフの幅/有無の違いを修正する。

171 / Name(Unicode): guillemotleft(171) / Width Regular_Bold: 512_1024
174 / Name(Unicode): registered(174) / Width Regular_Bold: 512_1024
187 / Name(Unicode): guillemotright(187) / Width Regular_Bold: 512_1024
191 / Name(Unicode): questiondown(191) / Width Regular_Bold: 512_1024
1065 / Name(Unicode): uni0429(1065) / WorthOutputting missmatch (only Bold)
1070 / Name(Unicode): uni042E(1070) / WorthOutputting missmatch (only Bold)
7978 / Name(Unicode): uni1F2A(7978) / WorthOutputting missmatch (only Bold)
7979 / Name(Unicode): uni1F2B(7979) / WorthOutputting missmatch (only Bold)
7980 / Name(Unicode): uni1F2C(7980) / WorthOutputting missmatch (only Bold)
7981 / Name(Unicode): uni1F2D(7981) / WorthOutputting missmatch (only Bold)
8010 / Name(Unicode): uni1F4A(8010) / WorthOutputting missmatch (only Bold)
8011 / Name(Unicode): uni1F4B(8011) / WorthOutputting missmatch (only Bold)
8027 / Name(Unicode): uni1F5B(8027) / WorthOutputting missmatch (only Bold)
8029 / Name(Unicode): uni1F5D(8029) / WorthOutputting missmatch (only Bold)
8042 / Name(Unicode): uni1F6A(8042) / WorthOutputting missmatch (only Bold)
8043 / Name(Unicode): uni1F6B(8043) / WorthOutputting missmatch (only Bold)
8044 / Name(Unicode): uni1F6C(8044) / WorthOutputting missmatch (only Bold)
8045 / Name(Unicode): uni1F6D(8045) / WorthOutputting missmatch (only Bold)
8090 / Name(Unicode): uni1F9A(8090) / WorthOutputting missmatch (only Bold)
8091 / Name(Unicode): uni1F9B(8091) / WorthOutputting missmatch (only Bold)
8092 / Name(Unicode): uni1F9C(8092) / WorthOutputting missmatch (only Bold)
8093 / Name(Unicode): uni1F9D(8093) / WorthOutputting missmatch (only Bold)
8106 / Name(Unicode): uni1FAA(8106) / WorthOutputting missmatch (only Bold)
8107 / Name(Unicode): uni1FAB(8107) / WorthOutputting missmatch (only Bold)
8108 / Name(Unicode): uni1FAC(8108) / WorthOutputting missmatch (only Bold)
8109 / Name(Unicode): uni1FAD(8109) / WorthOutputting missmatch (only Bold)
8368 / Name(Unicode): uni20B0(8368) / WorthOutputting missmatch (only Bold)
8470 / Name(Unicode): uni2116(8470) / WorthOutputting missmatch (only Bold)
9892 / Name(Unicode): uni26A4(9892) / WorthOutputting missmatch (only Regular)
9897 / Name(Unicode): uni26A9(9897) / WorthOutputting missmatch (only Regular)
64260 / Name(Unicode): uniFB04(64260) / WorthOutputting missmatch (only Bold)

調査用スクリプト

#!$fontforge -script


end_point = 65535
glyph_array = Array(end_point)

Open("/home/yuko/font-dev/HackGen/source/GenJyuuGothicL-Monospace-Regular.ttf")

i = 0
while (i < end_point)

  if (WorthOutputting(i))
    Select(i)
    glyph_array[i] = GlyphInfo("Width")
  else
    glyph_array[i] = -1
  endif
  i++
endloop

Close()


Open("/home/yuko/font-dev/HackGen/source/GenJyuuGothicL-Monospace-Bold.ttf")

Print("----------")

i = 0
while (i < end_point)

  if (WorthOutputting(i))
    Select(i)
    if (glyph_array[i] != GlyphInfo("Width"))
      if (glyph_array[i] == -1)
        Print("" + i + " / Name(Unicode): " + GlyphInfo("Name") + "(" + GlyphInfo("Unicode") + ")" + " / WorthOutputting missmatch (only Regular)")
      else
        Print("" + i + " / Name(Unicode): " + GlyphInfo("Name") + "(" + GlyphInfo("Unicode") + ")" + " / Width Regular_Bold: " + glyph_array[i] + "_" + GlyphInfo("Width") )
      endif
    endif
  else
    if (glyph_array[i] != -1)
      Select(i)
      Print("" + i + " / Name(Unicode): " + GlyphInfo("Name") + "(" + GlyphInfo("Unicode") + ")" + " / WorthOutputting missmatch (only Bold)")
    endif
  endif
  i++
endloop

Close()

以下の文字がRegularでは半角、Boldでは全角となっていた。Regularに合わせて全て半角幅に統一した。 (a1e62ba)

  • « (U+00AB)
  • ® (U+00AE)
  • » (U+00BB)
  • ¿ (U+00BF)