shadow$provide.module$node_modules$pixi_DOT_js$lib$scene$text_bitmap$asset$bitmapFontTextParser = function(global, require, module, exports) {
  exports.bitmapFontTextParser = {test(data) {
    return "string" === typeof data && data.startsWith("info face\x3d");
  }, parse(txt) {
    var items = txt.match(/^[a-z]+\s+.+$/gm);
    txt = {info:[], common:[], page:[], char:[], chars:[], kerning:[], kernings:[], distanceField:[]};
    for (var i in items) {
      var name = items[i].match(/^[a-z]+/gm)[0], attributeList = items[i].match(/[a-zA-Z]+=([^\s"']+|"([^"]*)")/gm), itemData = {};
      for (var i2 in attributeList) {
        var split = attributeList[i2].split("\x3d"), key = split[0];
        split = split[1].replace(/"/gm, "");
        const floatValue = parseFloat(split);
        split = isNaN(floatValue) ? split : floatValue;
        itemData[key] = split;
      }
      txt[name].push(itemData);
    }
    i = {chars:{}, pages:[], lineHeight:0, fontSize:0, fontFamily:"", distanceField:null, baseLineOffset:0};
    [i2] = txt.info;
    [items] = txt.common;
    [name] = txt.distanceField ?? [];
    name && (i.distanceField = {range:parseInt(name.distanceRange, 10), type:name.fieldType});
    i.fontSize = parseInt(i2.size, 10);
    i.fontFamily = i2.face;
    i.lineHeight = parseInt(items.lineHeight, 10);
    i2 = txt.page;
    for (name = 0; name < i2.length; name++) {
      i.pages.push({id:parseInt(i2[name].id, 10) || 0, file:i2[name].file});
    }
    i2 = {};
    i.baseLineOffset = i.lineHeight - parseInt(items.base, 10);
    items = txt.char;
    for (name = 0; name < items.length; name++) {
      attributeList = items[name], itemData = parseInt(attributeList.id, 10), key = attributeList.letter ?? attributeList.char ?? String.fromCharCode(itemData), "space" === key && (key = " "), i2[itemData] = key, i.chars[key] = {id:itemData, page:parseInt(attributeList.page, 10) || 0, x:parseInt(attributeList.x, 10), y:parseInt(attributeList.y, 10), width:parseInt(attributeList.width, 10), height:parseInt(attributeList.height, 10), xOffset:parseInt(attributeList.xoffset, 10), yOffset:parseInt(attributeList.yoffset, 
      10), xAdvance:parseInt(attributeList.xadvance, 10), kerning:{}};
    }
    txt = txt.kerning || [];
    for (items = 0; items < txt.length; items++) {
      name = parseInt(txt[items].first, 10), attributeList = parseInt(txt[items].second, 10), itemData = parseInt(txt[items].amount, 10), i.chars[i2[attributeList]] && (i.chars[i2[attributeList]].kerning[i2[name]] = itemData);
    }
    return i;
  }};
};

//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$scene$text_bitmap$asset$bitmapFontTextParser.js.map
