summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/xetexdir/XeTeX_ext.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/xetexdir/XeTeX_ext.h')
-rw-r--r--Build/source/texk/web2c/xetexdir/XeTeX_ext.h63
1 files changed, 38 insertions, 25 deletions
diff --git a/Build/source/texk/web2c/xetexdir/XeTeX_ext.h b/Build/source/texk/web2c/xetexdir/XeTeX_ext.h
index 45d71cca8d1..74d1851b69a 100644
--- a/Build/source/texk/web2c/xetexdir/XeTeX_ext.h
+++ b/Build/source/texk/web2c/xetexdir/XeTeX_ext.h
@@ -141,10 +141,10 @@ typedef struct {
#define node_width(node) node[width_offset].cint
#define node_depth(node) node[depth_offset].cint
#define node_height(node) node[height_offset].cint
-#define native_length(node) node[native_info_offset].hh.v.RH
-#define native_font(node) node[native_info_offset].hh.b1
-#define native_glyph_count(node) node[native_glyph_info_offset].hh.v.LH
-#define native_glyph_info_ptr(node) node[native_glyph_info_offset].hh.v.RH
+#define native_length(node) node[native_info_offset].qqqq.b2
+#define native_font(node) node[native_info_offset].qqqq.b1
+#define native_glyph_count(node) node[native_info_offset].qqqq.b3
+#define native_glyph_info_ptr(node) node[native_glyph_info_offset].ptr
#define native_glyph_info_size 10 /* info for each glyph is location (FixedPoint) + glyph ID (UInt16) */
#define native_glyph(p) native_length(p) /* glyph ID field in a glyph_node */
@@ -206,6 +206,8 @@ extern const UInt32 kSurrogateLowEnd;
extern const UInt32 byteMask;
extern const UInt32 byteMark;
+#include <stdio.h> /* for FILE */
+
#include "trans.h"
#ifdef __cplusplus
@@ -213,51 +215,62 @@ extern "C" {
#endif
void initversionstring(char **versions);
- void setinputfileencoding(unicodefile f, int mode, int encodingData);
+ void setinputfileencoding(unicodefile f, integer mode, integer encodingData);
void uclose(unicodefile f);
int input_line_icu(unicodefile f);
- void linebreakstart(int localeStrNum, const UniChar* text, int textLength);
+ void linebreakstart(integer localeStrNum, const UniChar* text, integer textLength);
int linebreaknext();
- long getencodingmodeandinfo(long* info);
+ int getencodingmodeandinfo(integer* info);
void printutf8str(const unsigned char* str, int len);
void printchars(const unsigned short* str, int len);
void* load_mapping_file(const char* s, const char* e);
- void* findnativefont(unsigned char* name, long scaled_size);
+ void* findnativefont(unsigned char* name, integer scaled_size);
void releasefontengine(void* engine, int type_flag);
- /* 'integer' params here are really TeX 'scaled' values, but that typedef isn't available every place this is included */
+ /* the metrics params here are really TeX 'scaled' values, but that typedef isn't available every place this is included */
void otgetfontmetrics(void* engine, integer* ascent, integer* descent, integer* xheight, integer* capheight, integer* slant);
- void getnativecharheightdepth(int font, int ch, integer* height, integer* depth);
- void getnativecharsidebearings(int font, int ch, integer* lsb, integer* rsb);
+ void getnativecharheightdepth(integer font, integer ch, integer* height, integer* depth);
+ void getnativecharsidebearings(integer font, integer ch, integer* lsb, integer* rsb);
/* single-purpose metrics accessors */
- integer getnativecharwd(int font, int ch);
- integer getnativecharht(int font, int ch);
- integer getnativechardp(int font, int ch);
- integer getnativecharic(int font, int ch);
-
- long otfontget(int what, void* engine);
- long otfontget1(int what, void* engine, long param);
- long otfontget2(int what, void* engine, long param1, long param2);
- long otfontget3(int what, void* engine, long param1, long param2, long param3);
+ integer getnativecharwd(integer font, integer ch);
+ integer getnativecharht(integer font, integer ch);
+ integer getnativechardp(integer font, integer ch);
+ integer getnativecharic(integer font, integer ch);
+
+ long otfontget(integer what, void* engine);
+ long otfontget1(integer what, void* engine, integer param);
+ long otfontget2(integer what, void* engine, integer param1, integer param2);
+ long otfontget3(integer what, void* engine, integer param1, integer param2, integer param3);
int makeXDVGlyphArrayData(void* p);
- long makefontdef(long f);
+ int makefontdef(integer f);
int applymapping(void* cnv, const UniChar* txtPtr, int txtLen);
void store_justified_native_glyphs(void* node);
void measure_native_node(void* node, int use_glyph_metrics);
Fixed get_native_ital_corr(void* node);
Fixed get_native_glyph_ital_corr(void* node);
void measure_native_glyph(void* node, int use_glyph_metrics);
- int mapchartoglyph(int font, unsigned int ch);
- int mapglyphtoindex(int font);
-
+ integer mapchartoglyph(integer font, integer ch);
+ integer mapglyphtoindex(integer font);
+ integer getfontcharrange(integer font, int first);
+ void printglyphname(integer font, integer gid);
+
+ double read_double(const char** s);
+ unsigned int read_rgb_a(const char** cp);
+
const char* getGlyphNamePtr(const char* buffer, int tableSize, UInt16 gid, int* len);
int find_pic_file(char** path, realrect* bounds, int pdfBoxType, int page);
+ int u_open_in(unicodefile* f, integer filefmt, const char* fopen_mode, integer mode, integer encodingData);
+ int open_dvi_output(FILE** fptr);
+ void dviclose(FILE* fptr);
+ int get_uni_c(UFILE* f);
+ int input_line(UFILE* f);
+ void makeutf16name();
#ifdef XETEX_MAC
/* functions in XeTeX_mac.c */
- void* loadAATfont(ATSFontRef fontRef, long scaled_size, const char* cp1);
+ void* loadAATfont(ATSFontRef fontRef, integer scaled_size, const char* cp1);
void DoAtsuiLayout(void* node, int justify);
void GetGlyphBBox_AAT(ATSUStyle style, UInt16 gid, GlyphBBox* bbox);
float GetGlyphWidth_AAT(ATSUStyle style, UInt16 gid);