{.experimental: "codeReordering".}
{.deadCodeElim: on.}
import re
, sequtils
, strutils
, text_types
, ../vk/vkTypes
# proc aFont*(rec: var VKRec, path: string, size: int): Font =
# var
# face: FT_Face
# # ta = rec.aTextureAtlas(512, 512)
# discard FT_New_Face(rec.library, path, 0, face )
# discard FT_Set_Pixel_Sizes(face, 0, FT_UInt size)
# #result.ta = ta
# result
# proc ftLoad =
# #add some check for enabling text or not instead of always inculding it?
# discard FT_Init_FreeType rec.library
proc aPBMFont*(path: string = "/run/media/j/ZZZ/Dev/shapes/data/fonts/arialBlackStd.fnt"): PBMFont =
result = PBMFont()
var isNum = re"(\-|)\d+"
for line in lines path:
var nums: seq[int] = @[]
if line[0..5] == "char i":
# will return a @[0..9] length seq
# id, x, y, width, height, xoffset, yoffset, xadvance, page, chnl
# what's chnl for exactly?
nums = line.findAll(isNum).map parseInt
result.chars[nums[0]] = Bmchar( x: nums[1].uint32
, y: nums[2].uint32
, width: nums[3].uint32
, height: nums[4].uint32
, xoffset: nums[5].int32
, yoffset: nums[6].int32
, xadvance: nums[7].int32
, page: nums[8].uint32
)
nums = @[]