From: Zbigniew Jędrzejewski-Szmek Date: Tue, 27 Jan 2015 04:19:14 +0000 (-0500) Subject: compile-unifont: Python 2 compatibility X-Git-Tag: v219~281 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=2a481c84561d6c8ce37d75cc334f7c149ffb2bb9;hp=10bc4cd469fc677892b07748ec85804ca120825f compile-unifont: Python 2 compatibility Under Python 2, sys.stdout.buffer is missing. --- 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('