Пример #1
0
static gboolean
filter_func (PangoAttribute *attribute, G_GNUC_UNUSED gpointer data)
{
	PangoAttrType type = attribute->klass->type;
	return (type == go_pango_attr_superscript_get_attr_type () ||
		type == go_pango_attr_subscript_get_attr_type ());
}
Пример #2
0
/**
 * go_pango_attr_subscript_new: (skip)
 * @val: %TRUE if the characters must be lowered.
 *
 * Returns: (transfer full): a subscript attribute.
 **/
PangoAttribute *
go_pango_attr_subscript_new (gboolean val)
{
	GOPangoAttrSubscript *result;

	static PangoAttrClass klass = {
		0,
		go_pango_attr_subscript_copy,
		go_pango_attr_destroy,
		go_pango_attr_subscript_compare
	};

	if (!klass.type)
		klass.type = go_pango_attr_subscript_get_attr_type ();

	result = g_new (GOPangoAttrSubscript, 1);
	result->attr.klass = &klass;
	result->val = val;

	return (PangoAttribute *) result;
}
Пример #3
0
PangoAttrType
go_pango_attr_subscript_get_type (void)
{
	return go_pango_attr_subscript_get_attr_type ();
}
Пример #4
0
static char const *
cb_html_attrs_as_string (GsfOutput *output, PangoAttribute *a)
{
/* 	PangoColor const *c; */
	char const *closure = NULL;

	switch (a->klass->type) {
	case PANGO_ATTR_FAMILY :
		break; /* ignored */
	case PANGO_ATTR_SIZE :
		break; /* ignored */
	case PANGO_ATTR_RISE:
		if (((PangoAttrInt *)a)->value > 5) {
			gsf_output_puts (output, "<sup>");
			closure = "</sup>";
		} else if (((PangoAttrInt *)a)->value < -5) {
			gsf_output_puts (output, "<sub>");
			closure = "</sub>";
		}
		break;
	case PANGO_ATTR_STYLE :
		if (((PangoAttrInt *)a)->value == PANGO_STYLE_ITALIC) {
			gsf_output_puts (output, "<i>");
			closure = "</i>";
		}
		break;
	case PANGO_ATTR_WEIGHT :
		if (((PangoAttrInt *)a)->value > 600){
			gsf_output_puts (output, "<b>");
			closure = "</b>";
		}
		break;
	case PANGO_ATTR_STRIKETHROUGH :
		if (((PangoAttrInt *)a)->value == 1) {
			gsf_output_puts (output, "<strike>");
			closure = "</strike>";
		}
		break;
	case PANGO_ATTR_UNDERLINE :
		if (((PangoAttrInt *)a)->value != PANGO_UNDERLINE_NONE) {
			gsf_output_puts (output, "<u>");
			closure = "</u>";
		}
		break;
	case PANGO_ATTR_FOREGROUND :
/* 		c = &((PangoAttrColor *)a)->color; */
/* 		g_string_append_printf (accum, "[color=%02xx%02xx%02x", */
/* 			((c->red & 0xff00) >> 8), */
/* 			((c->green & 0xff00) >> 8), */
/* 			((c->blue & 0xff00) >> 8)); */
		break;/* ignored */
	default :
		if (a->klass->type ==
		    go_pango_attr_subscript_get_attr_type ()) {
			if (((GOPangoAttrSubscript *)a)->val) {
				gsf_output_puts (output, "<sub>");
				closure = "</sub>";
			}
		} else if (a->klass->type ==
			   go_pango_attr_superscript_get_attr_type ()) {
			if (((GOPangoAttrSuperscript *)a)->val) {
				gsf_output_puts (output, "<sup>");
				closure = "</sup>";
			}
		}
		break; /* ignored */
	}

	return closure;
}