#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" } }