From d1024b9c419a56f6720de343cd83fca459f28869 Mon Sep 17 00:00:00 2001 From: be5invis Date: Sat, 29 Oct 2016 02:50:19 +0800 Subject: [PATCH] Unicode composite letters in cc variant is now full-width --- glyphs/autobuilds.ptl | 43 +++++++++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/glyphs/autobuilds.ptl b/glyphs/autobuilds.ptl index 4a4e228..c9fbe61 100644 --- a/glyphs/autobuilds.ptl +++ b/glyphs/autobuilds.ptl @@ -748,8 +748,8 @@ export : define [apply] : begin define [createLigatures shrink1 shrink2 wadj1 wadj2 records] : if [not recursive] : begin local pendingGlyphs1 : records.map : [record] => record.1 local pendingGlyphs2 : records.map : [record] => record.2 - local df1 : Thinner pendingGlyphs1 shrink1 - local df2 : Thinner pendingGlyphs2 shrink2 + local df1 : Thinner pendingGlyphs1 [if (para.spacing == 3) 1 shrink1] + local df2 : Thinner pendingGlyphs2 [if (para.spacing == 3) 1 shrink2] foreach [{unicode c1 c2 mark} : items-of records] : begin local glyphName "\(c1)_\(c2)" @@ -757,22 +757,29 @@ export : define [apply] : begin local j 2 while glyphs.(glyphName + j) : inc j set glyphName (glyphName + j) - - local kern : SB * 7/8 * (shrink1 + shrink2) - local refw : WIDTH * (shrink1 * wadj1 + shrink2 * wadj2) - kern - sketch - include df2.(c2) - include : Translate (WIDTH * shrink1 * wadj1 - kern) 0 - include df1.(c1) - include : Translate (-WIDTH * shrink1 * (1 - wadj1) / 2) 0 - include : Upright - include : Translate (-refw / 2) 0 - include : Scale ((WIDTH - SB * 1.25) / (WIDTH - SB * 2) * WIDTH / refw) 1 - include : Translate (WIDTH / 2) 0 - include : Italify - - if mark : include mark - save glyphName unicode + if (para.spacing == 3) : begin + sketch + include df2.(c2) + include : Translate WIDTH 0 + include df1.(c1) + set-width FULLWIDTH + save glyphName unicode + : else + local kern : SB * 7/8 * (shrink1 + shrink2) + local refw : WIDTH * (shrink1 * wadj1 + shrink2 * wadj2) - kern + sketch + include df2.(c2) + include : Translate (WIDTH * shrink1 * wadj1 - kern) 0 + include df1.(c1) + include : Translate (-WIDTH * shrink1 * (1 - wadj1) / 2) 0 + include : Upright + include : Translate (-refw / 2) 0 + include : Scale ((WIDTH - SB * 1.25) / (WIDTH - SB * 2) * WIDTH / refw) 1 + include : Translate (WIDTH / 2) 0 + include : Italify + + if mark : include mark + save glyphName unicode createLigatures stdShrink stdShrink 1 1 : list list 0x1C4 'D' 'Zcaron'