func (w *awin) fixfont() { ctl := make([]byte, 1000) w.Seek("ctl", 0, 0) n, err := w.Read("ctl", ctl) if err != nil { return } f := strings.Fields(string(ctl[:n])) if len(f) < 8 { return } w.tab, _ = strconv.Atoi(f[7]) if w.tab == 0 { return } name := f[6] if w.fontName == name { return } all.Lock() defer all.Unlock() if font := all.f[name]; font != nil { w.font = font w.fontName = name return } var disp *draw.Display = nil font, err := disp.OpenFont(name) if err != nil { return } if all.f == nil { all.f = make(map[string]*draw.Font) } all.f[name] = font w.font = font }