Desenhando texto multilíngue usando PIL e salvando como bitmaps de 1 e 8 bits

Comecei com o script emesta boa resposta. Funciona perfeitamente para "RGB", mas os modos de imagem PIL na escala de cinza de 8 bits e "1" em preto / branco "1" em preto e branco aparecem apenas em preto. O que estou fazendo errado?

from PIL import Image, ImageDraw, ImageFont
import numpy as np

w_disp   = 128
h_disp   =  64
fontsize =  32
text     =  u"你好!"

for imtype in "1", "L", "RGB":
    image = Image.new(imtype, (w_disp, h_disp))
    draw  = ImageDraw.Draw(image)
    font  = ImageFont.truetype("/Library/Fonts/Arial Unicode.ttf", fontsize)
    w, h  = draw.textsize(text, font=font)
    draw.text(((w_disp - w)/2, (h_disp - h)/2), text, font=font)
    image.save("NiHao! 2 " + imtype + ".bmp")
    data = np.array(list(image.getdata()))
    print data.shape, data.dtype, "min=", data.min(), "max=", data.max()

Resultado:

(8192,) int64 min= 0 max= 0
(8192,) int64 min= 0 max= 0
(8192, 3) int64 min= 0 max= 255

imtype = "1":

imtype = "L":

imtype = "RGB":

questionAnswers(1)

yourAnswerToTheQuestion