From 2a481c84561d6c8ce37d75cc334f7c149ffb2bb9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Mon, 26 Jan 2015 23:19:14 -0500 Subject: [PATCH] compile-unifont: Python 2 compatibility Under Python 2, sys.stdout.buffer is missing. --- tools/compile-unifont.py | 41 +++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) 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('