Adding upstream version 1.8.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
c48d95b7fa
commit
e40b3259c1
2403 changed files with 153656 additions and 0 deletions
90
examples/fontforge-old/demoFunctions.py
Executable file
90
examples/fontforge-old/demoFunctions.py
Executable file
|
@ -0,0 +1,90 @@
|
|||
#!/usr/bin/env python3
|
||||
'FontForge: Sample functions to call from other demo scripts'
|
||||
__url__ = 'https://github.com/silnrsi/pysilfont'
|
||||
__copyright__ = 'Copyright (c) 2014 SIL International (https://www.sil.org)'
|
||||
__license__ = 'Released under the MIT License (https://opensource.org/licenses/MIT)'
|
||||
__author__ = 'David Raymond'
|
||||
|
||||
import fontforge
|
||||
|
||||
def colLtnAGlyphs(font) :
|
||||
|
||||
#print "Toggling colour of glyphs with LtnCapA in their name"
|
||||
for glyph in font:
|
||||
g = font[glyph]
|
||||
if glyph.find('LtnCapA') >= 0:
|
||||
if g.color != 0x00FF00:
|
||||
g.color = 0x00FF00 # Green
|
||||
else :
|
||||
g.color = 0xFFFFFF # White
|
||||
print "LtnCapA glyphs coloured"
|
||||
|
||||
def markOverlaps(font) :
|
||||
print "Toggling colour of glyphs where contours overlap"
|
||||
for glyph in font:
|
||||
g = font[glyph]
|
||||
if g.selfIntersects() :
|
||||
if g.color != 0xFF0000:
|
||||
g.color = 0xFF0000 # Red
|
||||
else :
|
||||
g.color = 0xFFFFFF # White
|
||||
print "Glyphs coloured"
|
||||
|
||||
def markScaled(font) :
|
||||
print "Toggling colour of glyphs with scaled components"
|
||||
for glyph in font:
|
||||
g = font[glyph]
|
||||
for ref in g.references:
|
||||
transform=ref[1]
|
||||
if transform[0] != 1.0 or transform[3] != 1.0 :
|
||||
if g.color != 0xFF0000:
|
||||
g.color = 0xFF0000 # Red
|
||||
else :
|
||||
g.color = 0xFFFFFF # White
|
||||
print "Glyphs coloured"
|
||||
|
||||
def clearColours(font) :
|
||||
for glyph in font :
|
||||
g = font[glyph]
|
||||
g.color = 0xFFFFFF
|
||||
|
||||
def functionList() :
|
||||
''' Returns a dictionary to be used by callFunctions() and demoAddToMenu.py
|
||||
The dictionary is indexed by a group name which could be used as Tools menu
|
||||
entry or to reference the group of functions. For each group there is a tuple
|
||||
consisting of the Tools menu type (Font or Glyph) then one tuple per function.
|
||||
For each function the tuple contains:
|
||||
Function name
|
||||
Label for the individual function in dialog box called from Tools menu
|
||||
Actual function object'''
|
||||
funcList = {
|
||||
"Colour Glyphs":("Font",
|
||||
("colLtnAGlyphs","Colour Latin A Glyphs",colLtnAGlyphs),
|
||||
("markOverlaps","Mark Overlaps",markOverlaps),
|
||||
("markScaled","Mark Scaled",markScaled),
|
||||
("clearColours","Clear all colours",clearColours)),
|
||||
"Group with single item":("Font",
|
||||
("clearColours","Clear all colours",clearColours))}
|
||||
return funcList
|
||||
|
||||
def callFunctions(functionGroup,font) :
|
||||
funcList=functionList()[functionGroup]
|
||||
i=0
|
||||
for tuple in funcList :
|
||||
if i == 0 :
|
||||
pass # Font/Glyph parameter not relevant here
|
||||
elif i == 1 :
|
||||
functionDescs=[tuple[1]]
|
||||
functions=[tuple[2]]
|
||||
else :
|
||||
functionDescs.append(tuple[1])
|
||||
functions.append(tuple[2])
|
||||
i=i+1
|
||||
|
||||
if i == 2 : # Only one function in the group, so just call the function
|
||||
functions[0](font)
|
||||
else :
|
||||
functionNum=fontforge.ask(functionGroup,"Please choose the function to run",functionDescs)
|
||||
functions[functionNum](font)
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue