summaryrefslogtreecommitdiffstats
path: root/tqtinterface/qt4/include/private/qt4_harfbuzz/src/harfbuzz-shape.h
diff options
context:
space:
mode:
Diffstat (limited to 'tqtinterface/qt4/include/private/qt4_harfbuzz/src/harfbuzz-shape.h')
-rw-r--r--tqtinterface/qt4/include/private/qt4_harfbuzz/src/harfbuzz-shape.h199
1 files changed, 0 insertions, 199 deletions
diff --git a/tqtinterface/qt4/include/private/qt4_harfbuzz/src/harfbuzz-shape.h b/tqtinterface/qt4/include/private/qt4_harfbuzz/src/harfbuzz-shape.h
deleted file mode 100644
index e4b5f9a..0000000
--- a/tqtinterface/qt4/include/private/qt4_harfbuzz/src/harfbuzz-shape.h
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Copyright (C) 2006 Red Hat, Inc.
- *
- * This is part of HarfBuzz, an OpenType Layout engine library.
- *
- * Permission is hereby granted, without written agreement and without
- * license or royalty fees, to use, copy, modify, and distribute this
- * software and its documentation for any purpose, provided that the
- * above copyright notice and the following two paragraphs appear in
- * all copies of this software.
- *
- * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
- * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
- * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- *
- * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
- * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
- * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- *
- * Red Hat Author(s): Owen Taylor
- */
-
-#include <stdint.h>
-
-/* Base Types */
-
-typedef hb_uint16 HB_CodePoint; /* UTF-16 codepoint (not character ) */
-typedef char HB_Boolean;
-typedef hb_uint32 HB_Fixed; /* 26.6 */
-typedef hb_uint32 HB_Glyph;
-typedef hb_uint32 HB_Unichar;
-
-/* Metrics reported by the font backend for use of the shaper */
-typedef struct _HB_GlyphMetrics HB_GlyphMetrics;
-struct _HB_GlyphMetrics
-{
- HB_Fixed advance;
-
- /* Do we need ink/logical extents for the glyph here? */
-};
-
-/*
- * HB_Font: Abstract font interface.
- * First pass of this might just have FT_Face *getFace();
- */
-typedef struct _HB_Font HB_Font;
-typedef struct _HB_FontClass HB_FontClass;
-
-struct HB_FontClass {
- HB_Glyph (*charToGlyph)(HB_Font *font, HB_Unichar chr);
- void (*getMetrics)(HB_Font *font, HB_Glyph glyph, HB_GlyphMetrics *metrics);
- HB_Boolean (*getSFontTable)(HB_Font *font, void **cookie, char **start, int *len);
- HB_Boolean (*freeSFontTable)(void **cookie);
-};
-
-struct _HB_Font {
- HB_FontClass *clazz;
-};
-
-/*
- * Language tags, of the form en-us; represented as interned, canonicalized
- * strings. hb_language_from_string("en_US"), hb_language_from_string("en-us")
- * both return the same (pointer-comparable) HB_Language).
- */
-typedef struct HB_Language_ *HB_Language;
-
-HB_Language hb_language_from_string(const char *str);
-const char *hb_language_to_string(HB_Language language);
-
-/* Special treatment for the edges of runs.
- */
-typedef enum {
- HB_RUN_EDGE_LINE_VISUAL_EDGE = 1 << 0,
- HB_RUN_EDGE_LINE_LOGICAL_EDGE = 1 << 1,
- HB_RUN_EDGE_LINE_ADD_HYPHEN = 1 << 2 /* ???? */
-} HB_RunEdge;
-
-/* Defines optional informaiton in HB_ShapeInput; this allows extension
- * of HB_ShapeInput while keeping binary compatibility
- */
-typedef enum {
- HB_SHAPE_START_TYPE = 1 << 0,
- HB_SHAPE_END_TYPE = 1 << 1
-} HB_ShapeFlags;
-
-/* Attributes types are described by "interned strings"; this is a little
- * annoying if you want to write a switch statement, but keeps things
- * simple.
- */
-typedef struct _HB_AttributeType *HB_AttributeType;
-
-HB_AttributeType hb_attribute_type_from_string(const char *str);
-const char *hb_attribute_type_to_string(HB_AttributeType attribute_type);
-
-struct HB_Attribute {
- HB_AttributeType type;
- int start;
- int end;
-};
-
-
-/**
- * You could handle this like HB_Language, but an enum seems a little nicer;
- * another approach would be to use OpenType script tags.
- */
-typedef enum {
- HB_SCRIPT_LATIN
- /* ... */
-} HB_ShapeScript;
-
-/* This is just the subset of direction information needed by the shaper */
-typedef enum {
- HB_DIRECTION_LTR,
- HB_DIRECTION_RTL,
- HB_DIRECTION_TTB
-} HB_Direction;
-
-typedef struct _HB_ShapeInput HB_ShapeInput;
-struct _HB_ShapeInput {
- /* Defines what fields the caller has initialized - fields not in
- * the enum are mandatory.
- */
- HB_ShapeFlags flags;
-
- HB_CodePoint *text;
- int length; /* total length of text to shape */
- int shape_offset; /* start of section to shape */
- int shape_length; /* number of code points to shape */
-
- HB_Direction direction;
- HB_ShapeScript script;
- HB_Language language;
-
- HB_AttributeType *attributes;
- int n_attributes;
-
- HB_RunEdge start_type;
- HB_RunEdge end_type;
-};
-
-struct HB_GlyphItem {
- HB_Glyph glyph;
-
- HB_Fixed x_offset;
- HB_Fixed y_offset;
- HB_Fixed advance;
-
- /* Add kashida information, etc, here */
-};
-
-typedef enum {
- HB_RESULT_SUCCESS,
- HB_RESULT_NO_MEMORY,
- HB_SHAPE_RESULT_FAILED
-} HB_Result;
-
-/*
- * Buffer for output
- */
-typedef struct _HB_GlyphBuffer HB_GlyphBuffer;
-struct _HB_GlyphBuffer {
- int glyph_item_size;
- int total_glyphs;
-
- int *log_clusters; /* Uniscribe style */
- int cluster_space;
-
- int glyph_space;
- void *glyph_buffer;
-};
-
-/* Making this self-allocating simplifies writing shapers and
- * also keeps things easier for caller. item_size passed in
- * must be at least sizeof(HB_GlyphItem) but can be bigger,
- * to accomodate application structures that extend HB_GlyphItem.
- * The allocated items will be zero-initialized.
- *
- * (Hack: Harfbuzz could choose to use even a *bigger* item size
- * and stick internal information before the public item structure.
- * This hack could possibly be used to unify this with HB_Buffer)
- */
-HB_GlyphBuffer *hb_glyph_buffer_new (size_t item_size);
-void hb_glyph_buffer_clear (HB_GlyphBuffer *buf);
-HB_Result hb_glyph_buffer_extend_glyphs (HB_GlyphBuffer *buf, int n_items);
-HB_Result hb_glyph_buffer_extend_clusters (HB_GlyphBuffer *buf, int n_clusters);
-void hb_glyph_buffer_free (HB_GlyphBuffer *buf);
-
-
-/* Accessor for a particular glyph */
-#define HB_GLYPH_BUFFER_ITEM(buffer, index)
-
-/*
- * Main shaping function
- */
-HB_Result hb_shape(HB_ShapeInput *input, HB_GlyphBuffer *output);