summaryrefslogtreecommitdiff
path: root/misc/pylib/fontbuild/anchors.py
diff options
context:
space:
mode:
Diffstat (limited to 'misc/pylib/fontbuild/anchors.py')
-rw-r--r--misc/pylib/fontbuild/anchors.py77
1 files changed, 0 insertions, 77 deletions
diff --git a/misc/pylib/fontbuild/anchors.py b/misc/pylib/fontbuild/anchors.py
deleted file mode 100644
index a617b2f51..000000000
--- a/misc/pylib/fontbuild/anchors.py
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 2015 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-def getGlyph(gname, font):
- return font[gname] if font.has_key(gname) else None
-
-
-def getComponentByName(f, g, componentName):
- for c in g.components:
- if c.baseGlyph == componentName:
- return c
-
-def getAnchorByName(g,anchorName):
- for a in g.anchors:
- if a.name == anchorName:
- return a
-
-def moveMarkAnchors(f, g, anchorName, accentName, dx, dy):
- if "top"==anchorName:
- anchors = f[accentName].anchors
- for anchor in anchors:
- if "mkmktop_acc" == anchor.name:
- for anc in g.anchors:
- if anc.name == "top":
- g.removeAnchor(anc)
- break
- g.appendAnchor("top", (anchor.x + int(dx), anchor.y + int(dy)))
-
- elif anchorName in ["bottom", "bottomu"]:
- anchors = f[accentName].anchors
- for anchor in anchors:
- if "mkmkbottom_acc" == anchor.name:
- for anc in g.anchors:
- if anc.name == "bottom":
- g.removeAnchor(anc)
- break
- x = anchor.x + int(dx)
- for anc in anchors:
- if "top" == anc.name:
- x = anc.x + int(dx)
- g.appendAnchor("bottom", (x, anchor.y + int(dy)))
-
-
-def alignComponentToAnchor(f,glyphName,baseName,accentName,anchorName):
- g = getGlyph(glyphName,f)
- base = getGlyph(baseName,f)
- accent = getGlyph(accentName,f)
- if g == None or base == None or accent == None:
- return
- a1 = getAnchorByName(base,anchorName)
- a2 = getAnchorByName(accent,"_" + anchorName)
- if a1 == None or a2 == None:
- return
- offset = (a1.x - a2.x, a1.y - a2.y)
- c = getComponentByName(f, g, accentName)
- c.offset = offset
- moveMarkAnchors(f, g, anchorName, accentName, offset[0], offset[1])
-
-
-def alignComponentsToAnchors(f,glyphName,baseName,accentNames):
- for a in accentNames:
- if len(a) == 1:
- continue
- alignComponentToAnchor(f,glyphName,baseName,a[0],a[1])
-