Unicode composite letters in cc variant is now full-width

This commit is contained in:
be5invis 2016-10-29 02:50:19 +08:00
parent f03d0fc6cd
commit d1024b9c41

View File

@ -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'