glyphPath method
Path?
glyphPath(
- int glyphId
)
override
Implementation
@override
Path? glyphPath(int glyphId) {
if (_pathCache.containsKey(glyphId)) return _pathCache[glyphId];
Path? path;
try {
final _UPdfType2Interpreter interpreter = _UPdfType2Interpreter(
charStrings: _charStrings,
globalSubrs: _globalSubrs,
localSubrs: _isCid && _fdLocalSubrs.isNotEmpty ? _fdLocalSubrs[glyphId < _fdSelect.length ? _fdSelect[glyphId].clamp(0, _fdLocalSubrs.length - 1) : 0] : _localSubrs,
nominalWidthX: _nominalWidthX,
defaultWidthX: _defaultWidthX,
owner: this,
);
path = interpreter.run(glyphId);
_widthCache[glyphId] = interpreter.width;
} on Object {
path = null;
}
if (_pathCache.length > 4096) _pathCache.clear();
_pathCache[glyphId] = path;
return path;
}