def tr_create_font_in(self, chunk): h = get_data('<h', chunk[:2])[0] esc = get_data('<h', chunk[4:6])[0] weight = get_data('<h', chunk[8:10])[0] size = round(abs(self.coef * h), 1) * .7 size = 12.0 if not size else size size = 5.0 if size < 5.0 else size fl_b = weight >= 500 fl_i, fl_u, fl_s, charset = get_data('<BBBB', chunk[10:14]) fl_i = fl_i == wmf_const.META_TRUE fl_u = fl_u == wmf_const.META_TRUE fl_s = fl_s == wmf_const.META_TRUE if charset in wmf_const.META_CHARSETS: charset = wmf_const.META_CHARSETS[charset] else: charset = wmf_const.META_CHARSETS[wmf_const.ANSI_CHARSET] fontface = wmf_utils.parse_nt_string(chunk[18:]).encode('utf-8') font_family = 'Sans' if fontface in libpango.get_fonts()[0]: font_family = fontface font = (font_family, size, fl_b, fl_i, fl_u, fl_s, esc / 10.0, charset) self.add_gdiobject(('font', font))
def get_text_style(self): sk2_style = [[], [], [], []] clr = [] + self.dc.text_color clr = [uc2const.COLOR_RGB, clr, 1.0, '', ''] sk2_style[0] = [sk2const.FILL_EVENODD, sk2const.FILL_SOLID, clr] font = deepcopy(self.dc.font) faces = libpango.get_fonts()[1][font[0]] font_face = faces[0] if 'Regular' in faces: font_face = 'Regular' elif 'Normal' in faces: font_face = 'Normal' sk2_style[2] = [font[0], font_face, font[1], self.dc.text_align, [], True] tags = [] if font[2]: tags.append('b') if font[3]: tags.append('i') if font[4]: tags.append('u') if font[5]: tags.append('s') return sk2_style, tags
def __init__(self, parent, selected_font='Sans', onchange=None): self.fonts = libpango.get_fonts()[0] if not FONTNAME_CACHE: generate_fontname_cache(self.fonts) generate_fontsample_cache(self.fonts) if not selected_font in self.fonts: selected_font = 'Sans' value = self.fonts.index(selected_font) icon = get_icon(icons.PD_FONT, size=wal.DEF_SIZE) wal.FontBitmapChoice.__init__(self, parent, value, MAXSIZE, self.fonts, FONTNAME_CACHE, FONTSAMPLE_CACHE, icon, onchange) events.connect(events.CONFIG_MODIFIED, self.check_config)
def __init__(self, parent, selected_font='Sans', onchange=None): self.fonts = libpango.get_fonts()[0] if not FONTNAME_CACHE: generate_fontname_cache(self.fonts) generate_fontsample_cache(self.fonts) if selected_font not in self.fonts: selected_font = 'Sans' value = self.fonts.index(selected_font) icon = get_icon(icons.PD_FONT, size=wal.DEF_SIZE) wal.FontBitmapChoice.__init__(self, parent, value, MAXSIZE, self.fonts, FONTNAME_CACHE, FONTSAMPLE_CACHE, icon, onchange) events.connect(events.CONFIG_MODIFIED, self.check_config)
def build(self): self.changes_flag = False self.styles = self._get_styles() self.styles_combo = wal.Combolist(self, items=self.styles, onchange=self.on_style_change) self.add(self.styles_combo, 0, wal.LEFT | wal.CENTER, 2) self.add((3, 3)) self.families, self.faces_dict = libpango.get_fonts() self.families_combo = FontChoice(self, onchange=self.on_font_change) self.add(self.families_combo, 0, wal.LEFT | wal.CENTER, 2) self.add((3, 3)) self.faces = self.faces_dict['Sans'] self.faces_combo = wal.Combolist(self, items=self.faces, onchange=self.apply_changes) self.faces_combo.set_active(0) self.add(self.faces_combo, 0, wal.LEFT | wal.CENTER, 2) self.add((3, 3)) self.size_combo = wal.FloatCombobox(self, 12, width=5, digits=2, items=FONT_SIZES, onchange=self.apply_changes) self.add(self.size_combo, 0, wal.LEFT | wal.CENTER, 2) self.pack(wal.VLine(self), fill=True, padding_all=3) self.align = wal.HToggleKeeper(self, ALIGN_MODES, ALIGN_MODE_ICONS, ALIGN_MODE_NAMES, on_change=self.apply_changes, allow_none=False) self.align.set_mode(sk2_const.TEXT_ALIGN_LEFT) self.add(self.align, 0, wal.LEFT | wal.CENTER, 2) self.pack(wal.VLine(self), fill=True, padding_all=3) self.ligature = wal.ImageToggleButton(self, False, icons.PD_LIGATURE, tooltip=_('Use ligatures'), onchange=self.apply_changes) self.add(self.ligature, 0, wal.LEFT | wal.CENTER, 2)
def get_text_style(self): sk2_style = [[], [], [], []] clr = [] + self.dc.text_color clr = [uc2const.COLOR_RGB, clr, 1.0, '', ''] sk2_style[0] = [sk2_const.FILL_EVENODD, sk2_const.FILL_SOLID, clr] font = deepcopy(self.dc.font) faces = libpango.get_fonts()[1][font[0]] font_face = faces[0] if 'Regular' in faces: font_face = 'Regular' elif 'Normal' in faces: font_face = 'Normal' sk2_style[2] = [font[0], font_face, font[1], self.dc.text_align, [], True] tags = [] if font[2]:tags.append('b') if font[3]:tags.append('i') if font[4]:tags.append('u') if font[5]:tags.append('s') return sk2_style, tags
def build(self): self.families, self.faces_dict = libpango.get_fonts() self.families_combo = FontChoice(self, onchange=self.on_font_change) self.add(self.families_combo, 0, LEFT | CENTER, 2) self.add((3, 3)) self.families_combo.set_font_family('Sans') self.faces = self.faces_dict['Sans'] self.faces_combo = wal.Combolist(self, items=self.faces, onchange=self.apply_changes) self.faces_combo.set_active(0) self.add(self.faces_combo, 0, wal.LEFT | wal.CENTER, 2) self.add((3, 3)) self.size_combo = wal.FloatCombobox(self, 12, width=5, digits=2, items=FONT_SIZES, onchange=self.apply_changes) self.add(self.size_combo, 0, wal.LEFT | wal.CENTER, 2)
def build(self): self.families, self.faces_dict = libpango.get_fonts() self.families_combo = FontChoice(self, onchange=self.on_font_change) self.add(self.families_combo, 0, LEFT | CENTER, 2) self.add((3, 3)) self.families_combo.set_font_family('Sans') self.faces = self.faces_dict['Sans'] self.faces_combo = wal.Combolist(self, items=self.faces, onchange=self.apply_changes) self.faces_combo.set_active(0) self.add(self.faces_combo, 0, wal.LEFT | wal.CENTER, 2) self.add((3, 3)) self.size_combo = wal.FloatCombobox(self, 12, digits=2, items=FONT_SIZES, onchange=self.apply_changes) self.add(self.size_combo, 0, wal.LEFT | wal.CENTER, 2)
def tr_create_font_in(self, chunk): h = get_data('<h', chunk[:2])[0] esc = get_data('<h', chunk[4:6])[0] weight = get_data('<h', chunk[8:10])[0] size = round(abs(self.coef * h), 1) * .7 if not size: size = 12.0 if size < 5.0: size = 5.0 fl_b = weight >= 500 fl_i, fl_u, fl_s, charset = get_data('<BBBB', chunk[10:14]) fl_i = fl_i == wmfconst.META_TRUE fl_u = fl_u == wmfconst.META_TRUE fl_s = fl_s == wmfconst.META_TRUE if charset in wmfconst.META_CHARSETS: charset = wmfconst.META_CHARSETS[charset] else: charset = wmfconst.META_CHARSETS[wmfconst.ANSI_CHARSET] fontface = wmflib.parse_nt_string(chunk[18:]).encode('utf-8') font_family = 'Sans' if fontface in libpango.get_fonts()[0]: font_family = fontface font = (font_family, size, fl_b, fl_i, fl_u, fl_s, esc / 10.0, charset) self.add_gdiobject(('font', font))
def font_cache_update(): fonts = libpango.get_fonts()[0] generate_fontname_cache(fonts) generate_fontsample_cache(fonts)
def generate_fcache(): fonts = libpango.get_fonts()[0] generate_fontname_cache(fonts) generate_fontsample_cache(fonts)