#include <string>#include "gr_CairoGraphics.h"#include "gr_Painter.h"#include "xap_App.h"#include "xap_Prefs.h"#include "xap_Strings.h"#include "xap_Frame.h"#include "ut_debugmsg.h"#include "ut_misc.h"#include "ut_locale.h"#include "ut_std_string.h"#include "ut_std_vector.h"#include <pango/pango-item.h>#include <pango/pango-engine.h>#include <pango/pangocairo.h>#include <math.h>Classes | |
| class | GR_CairoPangoItem |
| class | GR_PangoRenderInfo |
| struct | FieldMap |
| struct | _MyPangoCoverage |
Defines | |
| #define | PANGO_ENABLE_ENGINE |
| #define | PANGO_GLYPH_EMPTY ((PangoGlyph)0x0FFFFFFF) |
Typedefs | |
| typedef _MyPangoCoverage | MyPangoCoverage |
Functions | |
| PangoContext * | pango_font_map_create_context (PangoFontMap *fontmap) |
| UT_uint32 | adobeDingbatsToUnicode (UT_uint32 iAdobe) |
| UT_uint32 | adobeToUnicode (UT_uint32 iAdobe) |
| static void | _pango_item_list_free (GList *items) |
| static cairo_line_cap_t | mapCapStyle (GR_Graphics::CapStyle in) |
| static void | mapDashStyle (GR_Graphics::LineStyle in, double width, double *dashes, int *n_dashes) |
| static cairo_line_join_t | mapJoinStyle (GR_Graphics::JoinStyle in) |
| static const FieldMap * | find_field (const FieldMap *fma, size_t n, const char *elem) |
| static double | fontPoints2float (double dSize, UT_sint32 iFontPoints) |
| static PangoGlyph | getGlyphForChar (UT_UCS4Char g, PangoFont *pf, PangoContext *context) |
Variables | |
| static const FieldMap | style_map [] |
| static const FieldMap | variant_map [] |
| static const FieldMap | weight_map [] |
| static const FieldMap | stretch_map [] |
| #define PANGO_ENABLE_ENGINE |
| #define PANGO_GLYPH_EMPTY ((PangoGlyph)0x0FFFFFFF) |
| typedef _MyPangoCoverage MyPangoCoverage |
| static void _pango_item_list_free | ( | GList * | items | ) | [static] |
Referenced by GR_CairoGraphics::drawChars(), getGlyphForChar(), and GR_CairoGraphics::measureString().
| static double fontPoints2float | ( | double | dSize, | |
| UT_sint32 | iFontPoints | |||
| ) | [static] |
Referenced by GR_PangoFont::glyphBox().
| static PangoGlyph getGlyphForChar | ( | UT_UCS4Char | g, | |
| PangoFont * | pf, | |||
| PangoContext * | context | |||
| ) | [static] |
References _pango_item_list_free(), UT_UTF8String::byteLength(), UT_ASSERT, and UT_UTF8String::utf8_str().
Referenced by GR_PangoFont::glyphBox().
| static cairo_line_cap_t mapCapStyle | ( | GR_Graphics::CapStyle | in | ) | [static] |
References GR_Graphics::CAP_BUTT, GR_Graphics::CAP_PROJECTING, and GR_Graphics::CAP_ROUND.
Referenced by GR_CairoGraphics::_setProps().
| static void mapDashStyle | ( | GR_Graphics::LineStyle | in, | |
| double | width, | |||
| double * | dashes, | |||
| int * | n_dashes | |||
| ) | [static] |
References GR_Graphics::LINE_DOTTED, GR_Graphics::LINE_DOUBLE_DASH, GR_Graphics::LINE_ON_OFF_DASH, GR_Graphics::LINE_SOLID, and UT_ASSERT.
Referenced by GR_CairoGraphics::_setProps().
| static cairo_line_join_t mapJoinStyle | ( | GR_Graphics::JoinStyle | in | ) | [static] |
References GR_Graphics::JOIN_BEVEL, GR_Graphics::JOIN_MITER, and GR_Graphics::JOIN_ROUND.
Referenced by GR_CairoGraphics::_setProps().
| PangoContext* pango_font_map_create_context | ( | PangoFontMap * | fontmap | ) |
Referenced by GR_CairoGraphics::_initPango(), and GR_CairoGraphics::getAllFontNames().
const FieldMap stretch_map[] [static] |
{
{ PANGO_STRETCH_ULTRA_CONDENSED, "Ultra-Condensed" },
{ PANGO_STRETCH_EXTRA_CONDENSED, "Extra-Condensed" },
{ PANGO_STRETCH_CONDENSED, "Condensed" },
{ PANGO_STRETCH_SEMI_CONDENSED, "Semi-Condensed" },
{ PANGO_STRETCH_NORMAL, "" },
{ PANGO_STRETCH_SEMI_EXPANDED, "Semi-Expanded" },
{ PANGO_STRETCH_EXPANDED, "Expanded" },
{ PANGO_STRETCH_EXTRA_EXPANDED, "Extra-Expanded" },
{ PANGO_STRETCH_ULTRA_EXPANDED, "Ultra-Expanded" }
}
{
{ PANGO_STYLE_NORMAL, "" },
{ PANGO_STYLE_OBLIQUE, "Oblique" },
{ PANGO_STYLE_ITALIC, "Italic" }
}
const FieldMap variant_map[] [static] |
{
{ PANGO_VARIANT_NORMAL, "" },
{ PANGO_VARIANT_SMALL_CAPS, "Small-Caps" }
}
const FieldMap weight_map[] [static] |
{
{ PANGO_WEIGHT_ULTRALIGHT, "Ultra-Light" },
{ PANGO_WEIGHT_ULTRALIGHT, "Ultralight" },
{ PANGO_WEIGHT_LIGHT, "Light" },
{ PANGO_WEIGHT_NORMAL, "" },
{ 500, "Medium" },
{ PANGO_WEIGHT_SEMIBOLD, "Semi-Bold" },
{ PANGO_WEIGHT_SEMIBOLD, "Semibold" },
{ PANGO_WEIGHT_BOLD, "Bold" },
{ PANGO_WEIGHT_ULTRABOLD, "Ultra-Bold" },
{ PANGO_WEIGHT_HEAVY, "Heavy" }
}
1.7.1