X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=tools%2Fcompile-unifont.py;h=5464c53e7f9a2ca322d9f51fd08522122f54e0e2;hp=7004b946d29fbb8c1865b3bffc163133235a6b79;hb=be1cfc2db1bd9b57f2989595bae6b6c5b2d50815;hpb=86db5dfb6d334e583ea4161191754522ce850eed diff --git a/tools/compile-unifont.py b/tools/compile-unifont.py index 7004b946d..5464c53e7 100755 --- a/tools/compile-unifont.py +++ b/tools/compile-unifont.py @@ -31,6 +31,9 @@ import struct # Write "bits" array as binary output. # + +write = getattr(sys.stdout, 'buffer', sys.stdout).write + def write_bin_entry(entry): l = len(entry) if l != 32 and l != 64: @@ -39,10 +42,10 @@ def write_bin_entry(entry): elif l < 64: entry += "0" * (64 - l) - sys.stdout.buffer.write(struct.pack('B', int(l / 32))) # width - sys.stdout.buffer.write(struct.pack('B', 0)) # padding - sys.stdout.buffer.write(struct.pack('H', 0)) # padding - sys.stdout.buffer.write(struct.pack('I', 0)) # padding + write(struct.pack('B', int(l / 32))) # width + write(struct.pack('B', 0)) # padding + write(struct.pack('H', 0)) # padding + write(struct.pack('I', 0)) # padding i = 0 for j in range(0, 16): @@ -53,23 +56,23 @@ def write_bin_entry(entry): c = int(entry[i:i+2], 16) i += 2 - sys.stdout.buffer.write(struct.pack('B', c)) + write(struct.pack('B', c)) def write_bin(bits): - sys.stdout.buffer.write(struct.pack('B', 0x44)) # ASCII: 'D' - sys.stdout.buffer.write(struct.pack('B', 0x56)) # ASCII: 'V' - sys.stdout.buffer.write(struct.pack('B', 0x44)) # ASCII: 'D' - sys.stdout.buffer.write(struct.pack('B', 0x48)) # ASCII: 'H' - sys.stdout.buffer.write(struct.pack('B', 0x52)) # ASCII: 'R' - sys.stdout.buffer.write(struct.pack('B', 0x4d)) # ASCII: 'M' - sys.stdout.buffer.write(struct.pack('B', 0x55)) # ASCII: 'U' - sys.stdout.buffer.write(struct.pack('B', 0x46)) # ASCII: 'F' - sys.stdout.buffer.write(struct.pack('