Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

35
LINES

< > BotCompany Repo | #186 // Font renderer as function, optimized (Commodore PET font, 16x16)

Lua code

fontEnv = newCleanEnv()
loadSnippet("#92", fontEnv)()

get("#109") -- copyRect

-- size of chars
cw, ch = 16, 16

-- original text
otext = {"!\"#$%&'()*+,-./0123456789:;<=>?@",
  "ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`",
  "abcdefghijklmnopqrstuvwxyz{|}~  "
}

function render(text)
  newtext = text or "Hello world!"

  width=cw*#newtext
  height=ch
  pixels={}
  
  for i=1, #newtext do
    j = nil
    for line=1, #otext do
      local c = newtext:sub(i, i)
      j = otext[line]:find(c, 1, true)
      --print("line="..tostring(line)..", c="..c..", j="..tostring(j))
      if j then l = line; break end
    end
    if j then
      --print("j="..tostring(j)..", l="..tostring(l))
      copyRect(fontEnv, _G, (j-1)*cw, (l-1)*ch, cw, ch, (i-1)*cw, 0)
    end
  end
end

Author comment

\n\nBegan life as a copy of #178

test run  test run with input  download  show line numbers   

Travelled to 12 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt

2 comment(s) hidden. show

Image recognition results

Recognizer Recognition Result Visualize Recalc
#308 800 [visualize]

Snippet ID: #186
Snippet name: Font renderer as function, optimized (Commodore PET font, 16x16)
Eternal ID of this version: #186/1
Text MD5: 69bfcd501a0007048229bbb2a3118f3f
Author: stefan
Category: font rendering
Type: Lua code
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2014-01-25 08:45:47
Source code size: 800 bytes / 35 lines
Pitched / IR pitched: Yes / Yes
Views / Downloads: 1171 / 781
Referenced in: [show references]