Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fixed a bug in the calculation of the font bounding box with matching change to the seven segment font definition. This showed in Windows by the font being clipped at the baseline instead of allowing the descenders in the comman and colon to show. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
76c607c34152662e45c1531789851590 |
User & Date: | Ross 2015-12-31 01:05:03.352 |
Context
2015-12-31
| ||
01:52 | Add a demostration of how to make kerning pairs. check-in: fd4cf2422a user: Ross tags: trunk | |
01:05 | Fixed a bug in the calculation of the font bounding box with matching change to the seven segment font definition. This showed in Windows by the font being clipped at the baseline instead of allowing the descenders in the comman and colon to show. check-in: 76c607c341 user: Ross tags: trunk | |
2015-12-30
| ||
01:19 | Add a basic command line parser based on the Penlight library pl.lapp module, and use it to check arguments, produce a usage message, and implement a proper --verbose option. check-in: 9a99a4c5e4 user: Ross tags: trunk | |
Changes
Changes to src/sevensegment.dotfont.
︙ | ︙ | |||
182 183 184 185 186 187 188 | Glyph{unicode=0x41, pat='abc efg', name='A'}, Glyph{unicode=0x42, pat=' cdefg', name='B'}, Glyph{unicode=0x43, pat='a def ', name='C'}, Glyph{unicode=0x44, pat=' bcde g', name='D'}, Glyph{unicode=0x45, pat='a defg', name='E'}, Glyph{unicode=0x46, pat='a efg', name='F'}, Glyph{unicode=0x2E, pat='h', name='period', lsb=704}, | | | | | 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | Glyph{unicode=0x41, pat='abc efg', name='A'}, Glyph{unicode=0x42, pat=' cdefg', name='B'}, Glyph{unicode=0x43, pat='a def ', name='C'}, Glyph{unicode=0x44, pat=' bcde g', name='D'}, Glyph{unicode=0x45, pat='a defg', name='E'}, Glyph{unicode=0x46, pat='a efg', name='F'}, Glyph{unicode=0x2E, pat='h', name='period', lsb=704}, Glyph{unicode=0x2C, pat='hi', name='comma', lsb=704, d=-128}, Glyph{unicode=0x3A, pat='hj', name='colon', lsb=704}, Glyph{unicode=0x3B, pat='hij', name='semicolon', lsb=704, d=-128}, Glyph{unicode=0x23, pat='abcdefghij', name='numbersign', lsb=0, d=-128}, }, --[[ Set the strings. Note that ffam, fsub, ufid, name, vers, and PSnm are required by Windows. Of those, fsub defaults to 'Regular' and name gets a sensible defaults based on ffam and fsub. |
︙ | ︙ |
Changes to src/ttfont.lua.
︙ | ︙ | |||
51 52 53 54 55 56 57 58 59 60 61 62 63 64 | require "luaXml" if not xml then xml = require "luaXml" end local X = xml.new local M={ _NAME=(...) } package.loaded[M._NAME] = M local ttx = require 'ttxml' --local ttfcmap = require 'ttfcmap' local ttfhead = require 'ttfhead' local ttfhhea = require 'ttfhhea' --local ttfhmtx = require 'ttfhmtx' --local ttfloca = require 'ttfloca' -- created entirely by the TTX compiler local ttfmaxp = require 'ttfmaxp' | > | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | require "luaXml" if not xml then xml = require "luaXml" end local X = xml.new local M={ _NAME=(...) } package.loaded[M._NAME] = M local ttx = require 'ttxml' local min,max = math.min, math.max --local ttfcmap = require 'ttfcmap' local ttfhead = require 'ttfhead' local ttfhhea = require 'ttfhhea' --local ttfhmtx = require 'ttfhmtx' --local ttfloca = require 'ttfloca' -- created entirely by the TTX compiler local ttfmaxp = require 'ttfmaxp' |
︙ | ︙ | |||
112 113 114 115 116 117 118 | end glyph:append(xml.new{[0]='instructions',X{[0]='assembly'}}) end tables.GlyphOrder:append{[0]="GlyphID", id=tables.nextid, name=glyph.name} tables.nextid = tables.nextid + 1 tables.glyf:append(glyph) | | < | | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | end glyph:append(xml.new{[0]='instructions',X{[0]='assembly'}}) end tables.GlyphOrder:append{[0]="GlyphID", id=tables.nextid, name=glyph.name} tables.nextid = tables.nextid + 1 tables.glyf:append(glyph) M.minX = min(M.minX, t.lsb or 0) M.maxX = max(M.maxX, t.width or 0) M.minY = min(M.minY, t.d or 0) M.maxY = max(M.maxY, t.a or 0) tables.hmtx:append{[0]='mtx', name=glyph.name, width=t.width, lsb=t.lsb} end -- standards recommmend that .notdef look like an empty box, a box -- with an X in it, or a box with a '?' in it. Because the diagonal -- lines will stand out from the dots making up all other glyphs more |
︙ | ︙ | |||
264 265 266 267 268 269 270 271 272 273 274 275 276 277 | function M.SetNames(t) local names tables.name, names = ttfname.BuildNameTable(t) return names end function M.GetFont() ttfhhea.ascent = M.maxY ttfos_2.sTypoAscender = M.maxY ttfos_2.usWinAscent = M.maxY ttfhhea.descent = M.minY ttfos_2.sTypoDescender = M.minY | > > > > > | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 | function M.SetNames(t) local names tables.name, names = ttfname.BuildNameTable(t) return names end function M.GetFont() ttfhead.xMin = M.minX ttfhead.yMin = M.minY ttfhead.xMax = M.maxX ttfhead.yMax = M.maxY ttfhhea.ascent = M.maxY ttfos_2.sTypoAscender = M.maxY ttfos_2.usWinAscent = M.maxY ttfhhea.descent = M.minY ttfos_2.sTypoDescender = M.minY |
︙ | ︙ |