Ejemplo n.º 1
0
    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))
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
	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)
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
	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
Ejemplo n.º 7
0
	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)
Ejemplo n.º 8
0
    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)
Ejemplo n.º 9
0
	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)
Ejemplo n.º 10
0
	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))
Ejemplo n.º 11
0
def font_cache_update():
    fonts = libpango.get_fonts()[0]
    generate_fontname_cache(fonts)
    generate_fontsample_cache(fonts)
Ejemplo n.º 12
0
def generate_fcache():
	fonts = libpango.get_fonts()[0]
	generate_fontname_cache(fonts)
	generate_fontsample_cache(fonts)