Dixi quod… >correct… but it only changes the metrics in the head table, not >in the OS/2 or hhea tables (as can be seen when loading the font >from the PDF in FontForge). Furthermore, the /FontBBox in the PDF >is constructed from the values from the original font.
And Atril uses the values from the hhea table (found by hexediting). #define TO_TTF(x) qRound(x * 2048. / ppem) This is used in things like… font.hhea.maxAdvanceWidth = TO_TTF(fontEngine->maxCharWidth()); … but not in… font.hhea.ascender = qRound(properties.ascent); font.hhea.descender = -qRound(properties.descent); font.hhea.lineGap = qRound(properties.leading); … and of course not when the OS/2 table is copied: if (!noEmbed) { QTtfTable os2; os2.tag = MAKE_TAG('O', 'S', '/', '2'); os2.data = fontEngine->getSfntTable(os2.tag); if (!os2.data.isEmpty()) tables.append(os2); } (all examples from stretch’s Qt, as the oldest I had at hand) bye, //mirabilos -- 15:39⎜«mika:#grml» mira|AO: "mit XFree86® wär’ das nicht passiert" - muhaha 15:48⎜<thkoehler:#grml> also warum machen die xorg Jungs eigentlich alles kaputt? :) 15:49⎜<novoid:#grml> thkoehler: weil sie als Kinder nie den gebauten Turm selber umschmeissen durften? -- ~/.Xmodmap wonders…