toSimpleTrueTypeGlyph method
SimpleGlyph
toSimpleTrueTypeGlyph()
Implementation
SimpleGlyph toSimpleTrueTypeGlyph() {
final isOnCurveList = _getIsOnCurveList();
final endPoints = _getEndPoints();
final pointList = _getPointList();
final absXcoordinates = pointList.map((p) => p.x.toInt()).toList();
final absYcoordinates = pointList.map((p) => p.y.toInt()).toList();
final relXcoordinates = absToRelCoordinates(absXcoordinates);
final relYcoordinates = absToRelCoordinates(absYcoordinates);
final xMin = absXcoordinates.fold<int>(kInt32Max, math.min);
final yMin = absYcoordinates.fold<int>(kInt32Max, math.min);
final xMax = absXcoordinates.fold<int>(kInt32Min, math.max);
final yMax = absYcoordinates.fold<int>(kInt32Min, math.max);
final flags = [
for (var i = 0; i < pointList.length; i++)
SimpleGlyphFlag.createForPoint(
relXcoordinates[i], relYcoordinates[i], isOnCurveList[i])
];
// TODO: compact flags: repeat & not short same flag
return SimpleGlyph(
GlyphHeader(endPoints.length, xMin, yMin, xMax, yMax),
endPoints,
[],
flags,
pointList,
);
}