in share/src/bitmap_helpers.ts [39:81]
export function f4PreProcess(s: string) {
let matrix: number[][] = []
let line: number[] = []
let tbl: { [k: string]: number } = {}
let maxLen = 0
// attrs.groups.forEach((str, n) => {
// for (let c of str) tbl[c] = n
// })
s += "\n"
for (let i = 0; i < s.length; ++i) {
let c = s[i]
switch (c) {
case ' ':
case '\t':
break
case '\n':
if (line.length > 0) {
matrix.push(line)
maxLen = Math.max(line.length, maxLen)
line = []
}
break
default:
let v = tbl[c] // U.lookup(tbl, c) //TODO(dz):
if (v == null) {
// if (attrs.groups.length == 2)
// v = 1 // default anything non-zero to one
// else
// throw unhandled(node, lf("invalid character in image literal: '{0}'", v), 9273)
}
line.push(v)
break
}
}
let bpp = 8
// if (attrs.groups.length <= 2) {
// bpp = 1
// } else if (attrs.groups.length <= 16) {
bpp = 4 // TODO:
// }
return f4EncodeImg(maxLen, matrix.length, bpp, (x, y) => matrix[y][x] || 0)
}