unicodeForGlyphName static method

int unicodeForGlyphName(
  1. String name
)

Implementation

static int unicodeForGlyphName(String name) {
  if (name.isEmpty) return -1;
  final int? direct = glyphNameToUnicode[name];
  if (direct != null) return direct;
  if (name.length == 1) return name.codeUnitAt(0);
  if (name.startsWith("uni") && name.length >= 7) {
    final int? value = int.tryParse(name.substring(3, 7), radix: 16);
    if (value != null) return value;
  }
  if (name.startsWith("u") && name.length >= 5 && name.length <= 7) {
    final int? value = int.tryParse(name.substring(1), radix: 16);
    if (value != null) return value;
  }
  final int dot = name.indexOf(".");
  if (dot > 0) return unicodeForGlyphName(name.substring(0, dot));
  final RegExpMatch? indexed = RegExp(r"^(?:g|cid|c|G)(\d+)$").firstMatch(name);
  if (indexed != null) return -1;
  return -1;
}