diff --git a/Glass_TTY_VT220.ttf b/Glass_TTY_VT220.ttf new file mode 100644 index 0000000..ed8fd85 Binary files /dev/null and b/Glass_TTY_VT220.ttf differ diff --git a/VT200 b/VT200 new file mode 100644 index 0000000..8d65275 --- /dev/null +++ b/VT200 @@ -0,0 +1,28 @@ +[62;0"p F +P0;0;1;4;1;1{U +???????/???????;???}???/???A???;?M??M??/???????;g}gg}g?/?B??B??; +GSS}SS_/?@@B@@?;CIcOGcA/A@??@A@;kQQQk?_/@AAAA@A;??GEA??/???????; +?wCA???/??@A???;???ACw?/???A@??;OSwOwSO/?@???@?;OOO{OOO/???@???; +???????/?CB@???;OOOOOOO/???????;???????/??BB???;??_OGCA/A@?????; +wCAAACw/?@AAA@?;?GC}???/?AABAA?;CaaQQQK/BAAAAAA;AAAQYUa/@AAAAA@; +_ogca}_/?????B?;]IIIIIq/@AAAAA@;wcQQQQc/@AAAAA@;AAAaQIE/??B????; +kQQQQQk/@AAAAA@;KQQQQQ{/?AAAAA@;??KK???/??BB???;??KK???/?CB@???; +O?g?C?A/????@?A;ggggggg/???????;A?C?g?O/A?@????;CAAqIIC/???A???; + +w_oGGGo/B?@AAA@;?ggggo?/@AAAA@A;_QUYYQa/@AAAAA@;w????w?/@AAA@@E; +cQQQQQ{/@AAAAA@;ogggggo/@AAAAA?;_OOwOO_/?@@B@@?;?gggggO/@AAAAAA; +G?O_O?G/A?@?@?A;w????w?/@AAA@BA;w??C?w?/@AAA@BA;w___OOG/B???@@A; +??oGGGw/AA@???B;wO___Ow/B??@??B;w_____w/B?????B;oGGGGGo/@AAAAA@; +wOGGGo?/B????BA;Ogggggw/AA@???B;wGGGGGo/F@@@@@?;oGGGGGO/@AAAAA@; +GGGwGGG/???B???;w?????w/CDDDDDB;GO_w_OG/A@?B?@A;{QQYSO_/@AAAAA@; +w_____?/BAAAAA@;w___??w/BAAA@?B;OGGgggO/@AAAAA@;w??w??w/BAABAAB; +OGGgggo/@AAAAA@;w??w??w/BAABAAF;w_____w/??????B;GGw___?/??BAAA@; + +}O{AAA{/B?@AAA@;ogcaaa}/B?????B;}QQQQQa/BAAAAA@;}????}?/BAAAABE; +?{AAA}?/EBAAABE;}QQQQQQ/BAAAAAA;wCC}CCw/?@@B@@?;}AAAAAA/B??????; +E?gOg?E/B?????B;}?_OGC}/B@????B;}?_RHC}/B@????B;}OOOggE/B?????B; +oGCAAA}/B?????B;}CGoGC}/B?????B;}_____}/B?????B;{AAAAA{/@AAAAA@; +}AAAAA}/B?????B;KQqQQQ}/A@????B;}aaaaa[/B??????;{AAAAAA/@AAAAAA; +EAA}AAE/???B???;MOOOOO}/@AAAAA@;EgO}OgE/B??B??B;}QQQQ[_/BAAAAA@; +}OOOOO_/BAAAAA@;}OOO_?}/BAAA@?B;CAAQQQk/@AAAAA@;}??}??}/BAABAAB; +AAQQQQ{/AAAAAA@;}??}??}/BAABAAF;]OOOOO}/??????B/)U~ diff --git a/u0400.png b/u0400.png new file mode 100644 index 0000000..a51ce5e Binary files /dev/null and b/u0400.png differ diff --git a/u0401.png b/u0401.png new file mode 100644 index 0000000..ff3975d Binary files /dev/null and b/u0401.png differ diff --git a/u0402.png b/u0402.png new file mode 100644 index 0000000..1a0c102 Binary files /dev/null and b/u0402.png differ diff --git a/u0403.png b/u0403.png new file mode 100644 index 0000000..369168a Binary files /dev/null and b/u0403.png differ diff --git a/u0404.png b/u0404.png new file mode 100644 index 0000000..41f0bef Binary files /dev/null and b/u0404.png differ diff --git a/u0405.png b/u0405.png new file mode 100644 index 0000000..2c74dd2 Binary files /dev/null and b/u0405.png differ diff --git a/u0406.png b/u0406.png new file mode 100644 index 0000000..cab6add Binary files /dev/null and b/u0406.png differ diff --git a/u0407.png b/u0407.png new file mode 100644 index 0000000..7d5adf7 Binary files /dev/null and b/u0407.png differ diff --git a/u0408.png b/u0408.png new file mode 100644 index 0000000..6952690 Binary files /dev/null and b/u0408.png differ diff --git a/u0409.png b/u0409.png new file mode 100644 index 0000000..c1d4d9c Binary files /dev/null and b/u0409.png differ diff --git a/u040a.png b/u040a.png new file mode 100644 index 0000000..027920e Binary files /dev/null and b/u040a.png differ diff --git a/u040b.png b/u040b.png new file mode 100644 index 0000000..2539e49 Binary files /dev/null and b/u040b.png differ diff --git a/u040c.png b/u040c.png new file mode 100644 index 0000000..1cc27f7 Binary files /dev/null and b/u040c.png differ diff --git a/u040d.png b/u040d.png new file mode 100644 index 0000000..81add48 Binary files /dev/null and b/u040d.png differ diff --git a/u040e.png b/u040e.png new file mode 100644 index 0000000..446e209 Binary files /dev/null and b/u040e.png differ diff --git a/u040f.png b/u040f.png new file mode 100644 index 0000000..96580db Binary files /dev/null and b/u040f.png differ diff --git a/u0410.png b/u0410.png new file mode 100644 index 0000000..92b8402 Binary files /dev/null and b/u0410.png differ diff --git a/u0411.png b/u0411.png new file mode 100644 index 0000000..8851c96 Binary files /dev/null and b/u0411.png differ diff --git a/u0412.png b/u0412.png new file mode 100644 index 0000000..2e5d1c4 Binary files /dev/null and b/u0412.png differ diff --git a/u0413.png b/u0413.png new file mode 100644 index 0000000..1ed87a2 Binary files /dev/null and b/u0413.png differ diff --git a/u0414.png b/u0414.png new file mode 100644 index 0000000..7119e13 Binary files /dev/null and b/u0414.png differ diff --git a/u0415.png b/u0415.png new file mode 100644 index 0000000..5c2f036 Binary files /dev/null and b/u0415.png differ diff --git a/u0416.png b/u0416.png new file mode 100644 index 0000000..2d5e4bf Binary files /dev/null and b/u0416.png differ diff --git a/u0417.png b/u0417.png new file mode 100644 index 0000000..25913e7 Binary files /dev/null and b/u0417.png differ diff --git a/u0418.png b/u0418.png new file mode 100644 index 0000000..75fa37a Binary files /dev/null and b/u0418.png differ diff --git a/u0419.png b/u0419.png new file mode 100644 index 0000000..9f05efc Binary files /dev/null and b/u0419.png differ diff --git a/u041a.png b/u041a.png new file mode 100644 index 0000000..6c43305 Binary files /dev/null and b/u041a.png differ diff --git a/u041b.png b/u041b.png new file mode 100644 index 0000000..ab9d163 Binary files /dev/null and b/u041b.png differ diff --git a/u041c.png b/u041c.png new file mode 100644 index 0000000..f4842f2 Binary files /dev/null and b/u041c.png differ diff --git a/u041d.png b/u041d.png new file mode 100644 index 0000000..dc27766 Binary files /dev/null and b/u041d.png differ diff --git a/u041e.png b/u041e.png new file mode 100644 index 0000000..e5c178e Binary files /dev/null and b/u041e.png differ diff --git a/u041f.png b/u041f.png new file mode 100644 index 0000000..5c25f5b Binary files /dev/null and b/u041f.png differ diff --git a/u0420.png b/u0420.png new file mode 100644 index 0000000..614a260 Binary files /dev/null and b/u0420.png differ diff --git a/u0421.png b/u0421.png new file mode 100644 index 0000000..cd940d5 Binary files /dev/null and b/u0421.png differ diff --git a/u0422.png b/u0422.png new file mode 100644 index 0000000..5ea5b55 Binary files /dev/null and b/u0422.png differ diff --git a/u0423.png b/u0423.png new file mode 100644 index 0000000..9b6a87d Binary files /dev/null and b/u0423.png differ diff --git a/u0424.png b/u0424.png new file mode 100644 index 0000000..4662998 Binary files /dev/null and b/u0424.png differ diff --git a/u0425.png b/u0425.png new file mode 100644 index 0000000..191b790 Binary files /dev/null and b/u0425.png differ diff --git a/u0426.png b/u0426.png new file mode 100644 index 0000000..6354bb9 Binary files /dev/null and b/u0426.png differ diff --git a/u0427.png b/u0427.png new file mode 100644 index 0000000..339f937 Binary files /dev/null and b/u0427.png differ diff --git a/u0428.png b/u0428.png new file mode 100644 index 0000000..55ceb13 Binary files /dev/null and b/u0428.png differ diff --git a/u0429.png b/u0429.png new file mode 100644 index 0000000..2756c5e Binary files /dev/null and b/u0429.png differ diff --git a/u042a.png b/u042a.png new file mode 100644 index 0000000..a579c39 Binary files /dev/null and b/u042a.png differ diff --git a/u042b.png b/u042b.png new file mode 100644 index 0000000..57ca249 Binary files /dev/null and b/u042b.png differ diff --git a/u042c.png b/u042c.png new file mode 100644 index 0000000..023bc6a Binary files /dev/null and b/u042c.png differ diff --git a/u042d.png b/u042d.png new file mode 100644 index 0000000..d9dc610 Binary files /dev/null and b/u042d.png differ diff --git a/u042e.png b/u042e.png new file mode 100644 index 0000000..73c1e2d Binary files /dev/null and b/u042e.png differ diff --git a/u042f.png b/u042f.png new file mode 100644 index 0000000..a28b0ef Binary files /dev/null and b/u042f.png differ diff --git a/u0430.png b/u0430.png new file mode 100644 index 0000000..20c4c55 Binary files /dev/null and b/u0430.png differ diff --git a/u0431.png b/u0431.png new file mode 100644 index 0000000..461058a Binary files /dev/null and b/u0431.png differ diff --git a/u0432.png b/u0432.png new file mode 100644 index 0000000..02e928e Binary files /dev/null and b/u0432.png differ diff --git a/u0433.png b/u0433.png new file mode 100644 index 0000000..2f5cffc Binary files /dev/null and b/u0433.png differ diff --git a/u0434.png b/u0434.png new file mode 100644 index 0000000..cfa98ca Binary files /dev/null and b/u0434.png differ diff --git a/u0435.png b/u0435.png new file mode 100644 index 0000000..e3875d0 Binary files /dev/null and b/u0435.png differ diff --git a/u0436.png b/u0436.png new file mode 100644 index 0000000..9902ba0 Binary files /dev/null and b/u0436.png differ diff --git a/u0437.png b/u0437.png new file mode 100644 index 0000000..51e0d87 Binary files /dev/null and b/u0437.png differ diff --git a/u0438.png b/u0438.png new file mode 100644 index 0000000..d3b0865 Binary files /dev/null and b/u0438.png differ diff --git a/u0439.png b/u0439.png new file mode 100644 index 0000000..54b0034 Binary files /dev/null and b/u0439.png differ diff --git a/u043a.png b/u043a.png new file mode 100644 index 0000000..e494ad4 Binary files /dev/null and b/u043a.png differ diff --git a/u043b.png b/u043b.png new file mode 100644 index 0000000..0009fcf Binary files /dev/null and b/u043b.png differ diff --git a/u043c.png b/u043c.png new file mode 100644 index 0000000..55f1a34 Binary files /dev/null and b/u043c.png differ diff --git a/u043d.png b/u043d.png new file mode 100644 index 0000000..c2b07b7 Binary files /dev/null and b/u043d.png differ diff --git a/u043e.png b/u043e.png new file mode 100644 index 0000000..d83179e Binary files /dev/null and b/u043e.png differ diff --git a/u043f.png b/u043f.png new file mode 100644 index 0000000..8f45d02 Binary files /dev/null and b/u043f.png differ diff --git a/u0440.png b/u0440.png new file mode 100644 index 0000000..9c81b05 Binary files /dev/null and b/u0440.png differ diff --git a/u0441.png b/u0441.png new file mode 100644 index 0000000..9aee250 Binary files /dev/null and b/u0441.png differ diff --git a/u0442.png b/u0442.png new file mode 100644 index 0000000..6f38cb0 Binary files /dev/null and b/u0442.png differ diff --git a/u0443.png b/u0443.png new file mode 100644 index 0000000..59b9476 Binary files /dev/null and b/u0443.png differ diff --git a/u0444.png b/u0444.png new file mode 100644 index 0000000..3008766 Binary files /dev/null and b/u0444.png differ diff --git a/u0445.png b/u0445.png new file mode 100644 index 0000000..6e55e8c Binary files /dev/null and b/u0445.png differ diff --git a/u0446.png b/u0446.png new file mode 100644 index 0000000..42face2 Binary files /dev/null and b/u0446.png differ diff --git a/u0447.png b/u0447.png new file mode 100644 index 0000000..19bc743 Binary files /dev/null and b/u0447.png differ diff --git a/u0448.png b/u0448.png new file mode 100644 index 0000000..87a8008 Binary files /dev/null and b/u0448.png differ diff --git a/u0449.png b/u0449.png new file mode 100644 index 0000000..75c0657 Binary files /dev/null and b/u0449.png differ diff --git a/u044a.png b/u044a.png new file mode 100644 index 0000000..bd38402 Binary files /dev/null and b/u044a.png differ diff --git a/u044b.png b/u044b.png new file mode 100644 index 0000000..f42d07a Binary files /dev/null and b/u044b.png differ diff --git a/u044c.png b/u044c.png new file mode 100644 index 0000000..962c42b Binary files /dev/null and b/u044c.png differ diff --git a/u044d.png b/u044d.png new file mode 100644 index 0000000..8bd0571 Binary files /dev/null and b/u044d.png differ diff --git a/u044e.png b/u044e.png new file mode 100644 index 0000000..cd2fca0 Binary files /dev/null and b/u044e.png differ diff --git a/u044f.png b/u044f.png new file mode 100644 index 0000000..06579df Binary files /dev/null and b/u044f.png differ diff --git a/u0450.png b/u0450.png new file mode 100644 index 0000000..f8746ac Binary files /dev/null and b/u0450.png differ diff --git a/u0451.png b/u0451.png new file mode 100644 index 0000000..0da4692 Binary files /dev/null and b/u0451.png differ diff --git a/u0452.png b/u0452.png new file mode 100644 index 0000000..dd06385 Binary files /dev/null and b/u0452.png differ diff --git a/u0453.png b/u0453.png new file mode 100644 index 0000000..b4baf2d Binary files /dev/null and b/u0453.png differ diff --git a/u0454.png b/u0454.png new file mode 100644 index 0000000..cda5894 Binary files /dev/null and b/u0454.png differ diff --git a/u0455.png b/u0455.png new file mode 100644 index 0000000..148574d Binary files /dev/null and b/u0455.png differ diff --git a/u0456.png b/u0456.png new file mode 100644 index 0000000..2d47e5a Binary files /dev/null and b/u0456.png differ diff --git a/u0457.png b/u0457.png new file mode 100644 index 0000000..bb2be51 Binary files /dev/null and b/u0457.png differ diff --git a/u0458.png b/u0458.png new file mode 100644 index 0000000..a688b22 Binary files /dev/null and b/u0458.png differ diff --git a/u0459.png b/u0459.png new file mode 100644 index 0000000..6df95fa Binary files /dev/null and b/u0459.png differ diff --git a/u045a.png b/u045a.png new file mode 100644 index 0000000..36187dc Binary files /dev/null and b/u045a.png differ diff --git a/u045b.png b/u045b.png new file mode 100644 index 0000000..29879b9 Binary files /dev/null and b/u045b.png differ diff --git a/u045c.png b/u045c.png new file mode 100644 index 0000000..a55ff2e Binary files /dev/null and b/u045c.png differ diff --git a/u045d.png b/u045d.png new file mode 100644 index 0000000..4ea7b0e Binary files /dev/null and b/u045d.png differ diff --git a/u045e.png b/u045e.png new file mode 100644 index 0000000..6aca5c5 Binary files /dev/null and b/u045e.png differ diff --git a/vt220glyphs.png b/vt220glyphs.png new file mode 100644 index 0000000..a1f23c3 Binary files /dev/null and b/vt220glyphs.png differ diff --git a/vtparse.py b/vtparse.py new file mode 100644 index 0000000..cb8163b --- /dev/null +++ b/vtparse.py @@ -0,0 +1,98 @@ +import os +import sys +import re +import png + +def tobin(x, count=8): + """ + Integer to binary + Count is number of bits + """ + return "".join(map(lambda y:str((x>>y)&1), range(count-1, -1, -1))) + +def chartosixel(c): + return ord(c) - 077 + +# 7x10 char matrix +class vtchar: + m = [] + charcode = 0 + + def __init__(self, code): + self.m = [' ' for x in range(7*10)] + self.charcode = code + + def sixel(self, nsixel, topbottom, c): + bits = chartosixel(c) + rang3 = range(6 - 2*topbottom) + for b in rang3: + bit = (bits>>b) & 001 + self.m[(topbottom*6+b)*7 + nsixel] = '01'[bit] + + def sixelpack(self, spair): + sp = spair.strip().split('/') + for tb in [0,1]: + for sc in range(7): + self.sixel(sc,tb,sp[tb][sc]) + + def dump(self): + i = 0 + for c in self.m: + print c, + i = i + 1 + if i % 7 == 0: print('\n') + + def writepng(self): + # pack + s=[] + i = 0 + b = 0 + for c in self.m: + i = i + 1 + b = b | (int(c)<<(9-((i-1)%7))) + if i % 7 == 0: + b = b | (b>>1) + s.append(tobin(~b,10)) + s.append(tobin(~0,10)) + b = 0 + s = map(lambda x: map(int, x), s) + + f = open('u%04x.png'%self.charcode, 'wb') + w = png.Writer(len(s[0]), len(s), greyscale=True, bitdepth=1) + w.write(f, s) + f.close() + + + +print 'Opening file "VT200"...' +try: + text = open('VT200').read().replace('\n', ' ') +except: + print "error" + sys.exit(1) + +fontdef = re.compile('.*\033P([0-9]\;){5}[0-9]\{\s*[A-Za-z]+\s+(?P[^\033]*)\033\/') +try: + sixels = fontdef.match(text).expand('\g') +except: + print "VT200 doesn't seem to contain character definitions" + sys.exit(2) + +test=False +if test: + v = vtchar(0) + #v.sixelpack('~~~~~~~/~~~~~~~') + #v.dump() + v.sixelpack('ogcacgo/B?????B') + v.dump() + v.writepng() + sys.exit(0) + +charcode = 1024 +for chardef in sixels.split(';'): + v=vtchar(charcode) + v.sixelpack(chardef) + #v.dump() + v.writepng() + charcode = charcode + 1 +