summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/xetexdir
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/xetexdir')
-rw-r--r--Build/source/texk/web2c/xetexdir/ChangeLog44
-rw-r--r--Build/source/texk/web2c/xetexdir/FontTableCache.cpp2
-rw-r--r--Build/source/texk/web2c/xetexdir/FontTableCache.h2
-rw-r--r--Build/source/texk/web2c/xetexdir/MathTable.h2
-rw-r--r--Build/source/texk/web2c/xetexdir/XeTeXFontInst.cpp6
-rw-r--r--Build/source/texk/web2c/xetexdir/XeTeXFontInst.h4
-rw-r--r--Build/source/texk/web2c/xetexdir/XeTeXFontMgr.cpp4
-rw-r--r--Build/source/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp4
-rw-r--r--Build/source/texk/web2c/xetexdir/XeTeXOTLayoutEngine.cpp80
-rw-r--r--Build/source/texk/web2c/xetexdir/XeTeXOTLayoutEngine.h36
-rw-r--r--Build/source/texk/web2c/xetexdir/XeTeXOTMath.cpp4
-rw-r--r--Build/source/texk/web2c/xetexdir/XeTeXOTMath.h2
-rw-r--r--Build/source/texk/web2c/xetexdir/am/xetex.am35
-rw-r--r--Build/source/texk/web2c/xetexdir/cmaps.cpp4
-rw-r--r--Build/source/texk/web2c/xetexdir/cmaps.h2
-rw-r--r--Build/source/texk/web2c/xetexdir/sfnt.h2
-rw-r--r--Build/source/texk/web2c/xetexdir/xetex.ch11
17 files changed, 169 insertions, 75 deletions
diff --git a/Build/source/texk/web2c/xetexdir/ChangeLog b/Build/source/texk/web2c/xetexdir/ChangeLog
index 773619805be..df26ef3e887 100644
--- a/Build/source/texk/web2c/xetexdir/ChangeLog
+++ b/Build/source/texk/web2c/xetexdir/ChangeLog
@@ -1,3 +1,47 @@
+2009-10-25 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * XeTeXOTLayoutEngine,{cpp,h}: Adjust to ICU-4.2.1.
+
+2009-10-24 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * xetex.ch: Use kpse_{in,out}_name_ok(), now in Kpathsea,
+ instead of open_{in,out}_name_ok().
+
+2009-10-12 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * XeTeXOTLayoutEngine.h: Drop #include "layout/HanLayoutEngine.h".
+ Move #include "layout/{Arabic,Indic,Tibetan}LayoutEngine.h" and
+ declaration of class XeTeXHanLayoutEngine from here ...
+ * XeTeXOTLayoutEngine.cpp: ... to here.
+
+2009-10-09 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * FontTableCache.{cpp,h}, MathTable.h, XeTeXFontInst.{cpp,h},
+ XeTeXFontMgr.cpp, XeTeXLayoutInterface.cpp,
+ XeTeXOTLayoutEngine.{cpp,h}, XeTeXOTMath.{cpp,h}, cmaps.{cpp,h},
+ sfnt.h: Include, e.g., "layout/LETypes.h" instead of "LETypes.h"
+ for consistency with installed (system) headers.
+
+2009-10-04 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * xetex.ch (do_extension): Recover variables unused by TeX.
+
+2009-09-04 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/xetex.am: Prepare compiler warnings.
+
+2009-08-18 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/xetex.am: SyncTeX now integrated into ../texmfmp.h.
+
+2009-08-16 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/xetex.am: Adapt to tangle-sh and web2c-sh.
+
+2009-08-13 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/xetex.am (xetex_c_h): avoid to split the C code.
+
2009-07-16 Peter Breitenlohner <peb@mppmu.mpg.de>
* am/xetex.am: Put ICU_INCLUDES first to avoid an installed
diff --git a/Build/source/texk/web2c/xetexdir/FontTableCache.cpp b/Build/source/texk/web2c/xetexdir/FontTableCache.cpp
index b26d9af1672..ed84522bc8a 100644
--- a/Build/source/texk/web2c/xetexdir/FontTableCache.cpp
+++ b/Build/source/texk/web2c/xetexdir/FontTableCache.cpp
@@ -39,7 +39,7 @@ authorization from the copyright holders.
**********************************************************************
*/
-#include "LETypes.h"
+#include "layout/LETypes.h"
#include "FontTableCache.h"
diff --git a/Build/source/texk/web2c/xetexdir/FontTableCache.h b/Build/source/texk/web2c/xetexdir/FontTableCache.h
index d66f5dd08f5..3e19c3a4b5e 100644
--- a/Build/source/texk/web2c/xetexdir/FontTableCache.h
+++ b/Build/source/texk/web2c/xetexdir/FontTableCache.h
@@ -43,7 +43,7 @@ authorization from the copyright holders.
#define __FONTTABLECACHE_H
-#include "LETypes.h"
+#include "layout/LETypes.h"
struct FontTableCacheEntry;
diff --git a/Build/source/texk/web2c/xetexdir/MathTable.h b/Build/source/texk/web2c/xetexdir/MathTable.h
index f8431899290..f0eeb7566dd 100644
--- a/Build/source/texk/web2c/xetexdir/MathTable.h
+++ b/Build/source/texk/web2c/xetexdir/MathTable.h
@@ -33,7 +33,7 @@ authorization from the copyright holders.
#ifndef __MATHTABLE_H__
#define __MATHTABLE_H__
-#include "OpenTypeTables.h"
+#include "layout/OpenTypeTables.h"
typedef struct {
le_int16 value;
diff --git a/Build/source/texk/web2c/xetexdir/XeTeXFontInst.cpp b/Build/source/texk/web2c/xetexdir/XeTeXFontInst.cpp
index 4a44c28375d..ef7d6fe2b55 100644
--- a/Build/source/texk/web2c/xetexdir/XeTeXFontInst.cpp
+++ b/Build/source/texk/web2c/xetexdir/XeTeXFontInst.cpp
@@ -40,9 +40,9 @@ authorization from the copyright holders.
*/
-#include "LETypes.h"
-#include "LEFontInstance.h"
-#include "LESwaps.h"
+#include "layout/LETypes.h"
+#include "layout/LEFontInstance.h"
+#include "layout/LESwaps.h"
#include "XeTeXFontInst.h"
#include "XeTeXLayoutInterface.h"
diff --git a/Build/source/texk/web2c/xetexdir/XeTeXFontInst.h b/Build/source/texk/web2c/xetexdir/XeTeXFontInst.h
index 926554579a3..793a6c5a06b 100644
--- a/Build/source/texk/web2c/xetexdir/XeTeXFontInst.h
+++ b/Build/source/texk/web2c/xetexdir/XeTeXFontInst.h
@@ -45,8 +45,8 @@ authorization from the copyright holders.
#include <stdio.h>
-#include "LETypes.h"
-#include "LEFontInstance.h"
+#include "layout/LETypes.h"
+#include "layout/LEFontInstance.h"
#include "FontTableCache.h"
diff --git a/Build/source/texk/web2c/xetexdir/XeTeXFontMgr.cpp b/Build/source/texk/web2c/xetexdir/XeTeXFontMgr.cpp
index 2972f67aca1..e02fafe41d5 100644
--- a/Build/source/texk/web2c/xetexdir/XeTeXFontMgr.cpp
+++ b/Build/source/texk/web2c/xetexdir/XeTeXFontMgr.cpp
@@ -38,8 +38,8 @@ authorization from the copyright holders.
#include "XeTeXswap.h"
-#include "ICUFeatures.h"
-#include "GlyphPositioningTables.h"
+#include "layout/ICUFeatures.h"
+#include "layout/GlyphPositioningTables.h"
#include "sfnt.h"
diff --git a/Build/source/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp b/Build/source/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp
index b9bcc0b0d12..9677c2847db 100644
--- a/Build/source/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp
+++ b/Build/source/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp
@@ -47,8 +47,8 @@ authorization from the copyright holders.
#include "XeTeXGrLayout.h"
#endif
-#include "ICUFeatures.h"
-#include "ScriptAndLanguage.h"
+#include "layout/ICUFeatures.h"
+#include "layout/ScriptAndLanguage.h"
#include "unicode/ubidi.h"
#include "unicode/utext.h"
diff --git a/Build/source/texk/web2c/xetexdir/XeTeXOTLayoutEngine.cpp b/Build/source/texk/web2c/xetexdir/XeTeXOTLayoutEngine.cpp
index acb51ed8f6e..fbd77ef5b3b 100644
--- a/Build/source/texk/web2c/xetexdir/XeTeXOTLayoutEngine.cpp
+++ b/Build/source/texk/web2c/xetexdir/XeTeXOTLayoutEngine.cpp
@@ -32,11 +32,38 @@ authorization from the copyright holders.
#include "XeTeXOTLayoutEngine.h"
-#include "ThaiLayoutEngine.h"
-#include "KhmerLayoutEngine.h"
+/****************************************************************************\
+class XeTeXHanLayoutEngine
+ moved from XeTeXOTLayoutEngine.h to here in order not to include it into
+ XeTeXLayoutInterface.cpp.
+\****************************************************************************/
+class XeTeXHanLayoutEngine : public XeTeXOTLayoutEngine
+{
+public:
+ XeTeXHanLayoutEngine(const XeTeXFontInst *fontInstance, LETag scriptTag, LETag languageTag,
+ const GlyphSubstitutionTableHeader *gsubTable,
+ const GlyphPositioningTableHeader* gposTable,
+ const LETag* addFeatures, const le_int32* addParams,
+ const LETag* removeFeatures
+#if U_ICU_VERSION_CODE >= 42
+ , LEErrorCode &success
+#endif
+ );
+
+ virtual ~XeTeXHanLayoutEngine();
+
+ virtual UClassID getDynamicClassID() const;
+ static UClassID getStaticClassID();
+};
-#include "LEScripts.h"
-#include "LELanguages.h"
+#include "layout/ArabicLayoutEngine.h"
+#include "layout/IndicLayoutEngine.h"
+#include "layout/TibetanLayoutEngine.h"
+#include "layout/ThaiLayoutEngine.h"
+#include "layout/KhmerLayoutEngine.h"
+
+#include "layout/LEScripts.h"
+#include "layout/LELanguages.h"
const LETag emptyTag = 0x00000000;
@@ -98,14 +125,18 @@ LayoutEngine* XeTeXOTLayoutEngine::LayoutEngineFactory
case teluScriptCode:
case sinhScriptCode:
// result = new XeTeXIndicLayoutEngine(fontInstance, scriptTag, languageTag, gsubTable, addFeatures, removeFeatures);
- result = new IndicOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, gsubTable);
+ result = new IndicOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags,
+#if U_ICU_VERSION_CODE >= 42
+ FALSE,
+#endif
+ gsubTable XeTeX_success);
break;
case arabScriptCode:
case syrcScriptCode:
case mongScriptCode:
// result = new XeTeXArabicLayoutEngine(fontInstance, scriptTag, languageTag, gsubTable, addFeatures, removeFeatures);
- result = new ArabicOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, gsubTable);
+ result = new ArabicOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, gsubTable XeTeX_success);
break;
case bopoScriptCode:
@@ -114,19 +145,19 @@ LayoutEngine* XeTeXOTLayoutEngine::LayoutEngineFactory
case hiraScriptCode:
case kanaScriptCode:
case hrktScriptCode:
- result = new XeTeXHanLayoutEngine(fontInstance, scriptTag, languageTag, gsubTable, gposTable, addFeatures, addParams, removeFeatures);
+ result = new XeTeXHanLayoutEngine(fontInstance, scriptTag, languageTag, gsubTable, gposTable, addFeatures, addParams, removeFeatures XeTeX_success);
break;
case tibtScriptCode:
- result = new TibetanOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, gsubTable);
+ result = new TibetanOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, gsubTable XeTeX_success);
break;
case khmrScriptCode:
- result = new KhmerOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, gsubTable);
+ result = new KhmerOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, gsubTable XeTeX_success);
break;
default:
- result = new XeTeXOTLayoutEngine(fontInstance, scriptTag, languageTag, gsubTable, gposTable, addFeatures, addParams, removeFeatures);
+ result = new XeTeXOTLayoutEngine(fontInstance, scriptTag, languageTag, gsubTable, gposTable, addFeatures, addParams, removeFeatures XeTeX_success);
break;
}
}
@@ -142,26 +173,31 @@ LayoutEngine* XeTeXOTLayoutEngine::LayoutEngineFactory
case tamlScriptCode:
case teluScriptCode:
case sinhScriptCode:
- result = new IndicOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags);
+ result = new IndicOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags XeTeX_success);
break;
case arabScriptCode:
// case hebrScriptCode:
- result = new UnicodeArabicOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags);
+ result = new UnicodeArabicOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags XeTeX_success);
break;
case thaiScriptCode:
- result = new ThaiLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags);
+ result = new ThaiLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags XeTeX_success);
break;
default:
- result = new OpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags);
+ result = new OpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags XeTeX_success);
break;
}
}
+#if U_ICU_VERSION_CODE >= 42
+ if (LE_FAILURE(success))
+ return NULL;
+#else
if (result == NULL)
success = LE_MEMORY_ALLOCATION_ERROR;
+#endif
return result;
}
@@ -169,8 +205,12 @@ LayoutEngine* XeTeXOTLayoutEngine::LayoutEngineFactory
XeTeXOTLayoutEngine::XeTeXOTLayoutEngine(
const LEFontInstance* fontInstance, LETag scriptTag, LETag languageTag,
const GlyphSubstitutionTableHeader* gsubTable, const GlyphPositioningTableHeader* gposTable,
- const LETag* addFeatures, const le_int32* addParams, const LETag* removeFeatures)
- : OpenTypeLayoutEngine(fontInstance, getScriptCode(scriptTag), getLanguageCode(languageTag), 3, gsubTable)
+ const LETag* addFeatures, const le_int32* addParams, const LETag* removeFeatures
+#if U_ICU_VERSION_CODE >= 42
+ , LEErrorCode &success
+#endif
+ )
+ : OpenTypeLayoutEngine(fontInstance, getScriptCode(scriptTag), getLanguageCode(languageTag), 3, gsubTable XeTeX_success)
{
fDefaultFeatureMap = fFeatureMap;
@@ -336,8 +376,12 @@ static const le_int32 featureMapCount = LE_ARRAY_SIZE(featureMap);
XeTeXHanLayoutEngine::XeTeXHanLayoutEngine(const XeTeXFontInst *fontInstance, LETag scriptTag, LETag languageTag,
const GlyphSubstitutionTableHeader *gsubTable, const GlyphPositioningTableHeader *gposTable,
const LETag *addFeatures, const le_int32* addParams,
- const LETag *removeFeatures)
- : XeTeXOTLayoutEngine(fontInstance, scriptTag, languageTag, gsubTable, gposTable, NULL, NULL, NULL)
+ const LETag *removeFeatures
+#if U_ICU_VERSION_CODE >= 42
+ , LEErrorCode &success
+#endif
+ )
+ : XeTeXOTLayoutEngine(fontInstance, scriptTag, languageTag, gsubTable, gposTable, NULL, NULL, NULL XeTeX_success)
{
// reset the feature map and default features
fFeatureMap = featureMap;
diff --git a/Build/source/texk/web2c/xetexdir/XeTeXOTLayoutEngine.h b/Build/source/texk/web2c/xetexdir/XeTeXOTLayoutEngine.h
index 26c8fde63ad..5af9b4f5948 100644
--- a/Build/source/texk/web2c/xetexdir/XeTeXOTLayoutEngine.h
+++ b/Build/source/texk/web2c/xetexdir/XeTeXOTLayoutEngine.h
@@ -33,11 +33,16 @@ authorization from the copyright holders.
#ifndef __XeTeXOTLayoutEngine_h
#define __XeTeXOTLayoutEngine_h
-#include "OpenTypeLayoutEngine.h"
-#include "ArabicLayoutEngine.h"
-#include "IndicLayoutEngine.h"
-#include "HanLayoutEngine.h"
-#include "TibetanLayoutEngine.h"
+#include "layout/OpenTypeLayoutEngine.h"
+
+#include "unicode/uversion.h"
+#define U_ICU_VERSION_CODE (U_ICU_VERSION_MAJOR_NUM*10+U_ICU_VERSION_MINOR_NUM)
+/* ICU-4.2 added 'success' as last parameter to LayoutEngine constructors. */
+#if U_ICU_VERSION_CODE >= 42
+#define XeTeX_success , success
+#else
+#define XeTeX_success
+#endif
#include "XeTeXFontInst.h"
@@ -48,7 +53,11 @@ public:
const GlyphSubstitutionTableHeader* gsubTable,
const GlyphPositioningTableHeader* gposTable,
const LETag* addFeatures, const le_int32* addParams,
- const LETag* removeFeatures);
+ const LETag* removeFeatures
+#if U_ICU_VERSION_CODE >= 42
+ , LEErrorCode &success
+#endif
+ );
virtual ~XeTeXOTLayoutEngine();
@@ -70,20 +79,5 @@ protected:
private:
};
-class XeTeXHanLayoutEngine : public XeTeXOTLayoutEngine
-{
-public:
- XeTeXHanLayoutEngine(const XeTeXFontInst *fontInstance, LETag scriptTag, LETag languageTag,
- const GlyphSubstitutionTableHeader *gsubTable,
- const GlyphPositioningTableHeader* gposTable,
- const LETag* addFeatures, const le_int32* addParams,
- const LETag* removeFeatures);
-
- virtual ~XeTeXHanLayoutEngine();
-
- virtual UClassID getDynamicClassID() const;
- static UClassID getStaticClassID();
-};
-
#endif
diff --git a/Build/source/texk/web2c/xetexdir/XeTeXOTMath.cpp b/Build/source/texk/web2c/xetexdir/XeTeXOTMath.cpp
index a71d42501cf..ff5c540b118 100644
--- a/Build/source/texk/web2c/xetexdir/XeTeXOTMath.cpp
+++ b/Build/source/texk/web2c/xetexdir/XeTeXOTMath.cpp
@@ -37,7 +37,7 @@ authorization from the copyright holders.
#include "XeTeXLayoutInterface.h"
#include "XeTeXFontInst.h"
-#include "CoverageTables.h"
+#include "layout/CoverageTables.h"
#define kMATHTableTag 0x4D415448
@@ -49,7 +49,7 @@ extern "C" {
extern integer* fontsize;
}
-#include "LESwaps.h"
+#include "layout/LESwaps.h"
static SInt16 getMathConstant(LEFontInstance* fontInst, mathConstantIndex whichConstant)
{
diff --git a/Build/source/texk/web2c/xetexdir/XeTeXOTMath.h b/Build/source/texk/web2c/xetexdir/XeTeXOTMath.h
index ff1d871c0a3..8d094a82cd1 100644
--- a/Build/source/texk/web2c/xetexdir/XeTeXOTMath.h
+++ b/Build/source/texk/web2c/xetexdir/XeTeXOTMath.h
@@ -37,7 +37,7 @@ authorization from the copyright holders.
#ifdef XETEX_OT_MATH_IMPLEMENTATION
#include "MathTable.h"
-#include "LEFontInstance.h"
+#include "layout/LEFontInstance.h"
#else
#define GlyphAssembly void /* used when we're just declaring the functions for xetex.ch */
#endif
diff --git a/Build/source/texk/web2c/xetexdir/am/xetex.am b/Build/source/texk/web2c/xetexdir/am/xetex.am
index 295c9a186b4..aa054eab19e 100644
--- a/Build/source/texk/web2c/xetexdir/am/xetex.am
+++ b/Build/source/texk/web2c/xetexdir/am/xetex.am
@@ -10,12 +10,12 @@ bin_PROGRAMS += xetex
endif XETEX
EXTRA_PROGRAMS += xetex
-## Force Automake to use CXXLD for linking
+# Force Automake to use CXXLD for linking
nodist_EXTRA_xetex_SOURCES = dummy.cxx
libxetex = libxetex.a
-xetex_cppflags = -DU_STATIC_IMPLEMENTATION -I$(srcdir)/xetexdir
+xetex_cppflags = -I$(srcdir)/xetexdir
## Must add icu first to avoid an installed version.
xetex_cppflags += $(ICU_INCLUDES)
## Must add freetype2 includes early to avoid
@@ -23,7 +23,7 @@ xetex_cppflags += $(ICU_INCLUDES)
xetex_cppflags += $(FREETYPE2_INCLUDES)
xetex_cppflags += $(TECKIT_INCLUDES)
xetex_ldadd = $(libxetex) $(ICU_LIBS) $(TECKIT_LIBS)
-xetex_dependencies = $(proglib)
+xetex_dependencies = $(proglib) $(KPATHSEA_DEPEND)
xetex_dependencies += $(ICU_DEPEND) $(TECKIT_DEPEND)
if XETEX_MACOSX
@@ -56,22 +56,23 @@ xetex_ldadd += $(FREETYPE2_LIBS) $(ZLIB_LIBS)
xetex_dependencies += $(FREETYPE2_DEPEND) $(ZLIB_DEPEND)
xetex_CPPFLAGS = $(xetex_cppflags)
+xetex_CFLAGS = # $(WARNING_CFLAGS)
+xetex_CXXFLAGS = # $(WARNING_CXXFLAGS)
## With --enable-ipc, XeTeX may need to link with -lsocket.
xetex_LDADD = $(xetex_ldadd) $(LDADD) $(ipc_socketlibs)
-xetex_DEPENDENCIES = $(xetex_dependencies) $(libxetex)
+xetex_prereq = $(libxetex)
+$(xetex_OBJECTS): $(xetex_prereq)
## XeTeX C sources
-xetex_c_h = xetexini.c xetex0.c xetex1.c xetex2.c xetexcoerce.h xetexd.h
+xetex_c_h = xetexini.c xetex0.c xetexcoerce.h xetexd.h
nodist_xetex_SOURCES = $(xetex_c_h) xetex_pool.c xetexextra.c xetexdir/xetexextra.h
$(xetex_c_h): xetex-web2c
+ @$(web2c) xetex
xetex-web2c: xetex.p $(web2c_texmf) xetexdir/xetex.defines
- $(web2c) xetex
- : $(synctex_convert_xetex)
- echo timestamp >$@
- touch $(xetex_c_h)
+ @$(web2c) xetex
xetex_pool.c: xetex.pool xetexd.h
perl $(srcdir)/xetexdir/pool2c.pl $< $@
@@ -87,10 +88,9 @@ xetexdir/xetexextra.h: xetexdir/xetexextra.in xetexdir/xetex.version xetexdir/et
## Tangling XeTeX
xetex.p xetex.pool: xetex-tangle
-xetex-tangle: ./otangle$(EXEEXT) xetex.web
- $(otangle) xetex
- echo timestamp >$@
- touch xetex.p xetex.pool
+ @$(o_tangle) xetex
+xetex-tangle: ./otangle$(EXEEXT) xetex.web tangle-sh
+ @$(o_tangle) xetex
## Extract etex version
xetexdir/etex.version: etexdir/etex.ch
@@ -134,6 +134,10 @@ EXTRA_DIST += \
EXTRA_LIBRARIES += libxetex.a
libxetex_a_CPPFLAGS = $(xetex_cppflags)
+libxetex_a_CFLAGS = # $(WARNING_CFLAGS)
+libxetex_a_CXXFLAGS = # $(WARNING_CXXFLAGS)
+## Not yet for ObjC++ (not yet implemented)
+libxetex_a_OBJCXXFLAGS = ## $(WARNING_OBJCXXFLAGS)
libxetex_a_SOURCES = \
xetexdir/MathTable.h \
@@ -200,8 +204,9 @@ libxetex_a_SOURCES += \
endif XETEX_GRAPHITE
-# We must create xetexd.h before building the libxetex_a_OBJECTS.
-$(libxetex_a_OBJECTS): xetexd.h
+# We must create xetexd.h etc. before building the libxetex_a_OBJECTS.
+libxetex_prereq = xetexd.h $(xetex_dependencies)
+$(libxetex_a_OBJECTS): $(libxetex_prereq)
## libxetexmm (Mac OS X only)
##
diff --git a/Build/source/texk/web2c/xetexdir/cmaps.cpp b/Build/source/texk/web2c/xetexdir/cmaps.cpp
index 464061b48ef..9ae49372d94 100644
--- a/Build/source/texk/web2c/xetexdir/cmaps.cpp
+++ b/Build/source/texk/web2c/xetexdir/cmaps.cpp
@@ -39,8 +39,8 @@ authorization from the copyright holders.
*
************************************************************************/
-#include "LETypes.h"
-#include "LESwaps.h"
+#include "layout/LETypes.h"
+#include "layout/LESwaps.h"
#include "sfnt.h"
#include "cmaps.h"
diff --git a/Build/source/texk/web2c/xetexdir/cmaps.h b/Build/source/texk/web2c/xetexdir/cmaps.h
index f56a2a84817..9236eccd169 100644
--- a/Build/source/texk/web2c/xetexdir/cmaps.h
+++ b/Build/source/texk/web2c/xetexdir/cmaps.h
@@ -43,7 +43,7 @@ authorization from the copyright holders.
#ifndef __CMAPS_H
#define __CMAPS_H
-#include "LETypes.h"
+#include "layout/LETypes.h"
#include "sfnt.h"
class CMAPMapper
diff --git a/Build/source/texk/web2c/xetexdir/sfnt.h b/Build/source/texk/web2c/xetexdir/sfnt.h
index 009cd75d5d9..b9d32133713 100644
--- a/Build/source/texk/web2c/xetexdir/sfnt.h
+++ b/Build/source/texk/web2c/xetexdir/sfnt.h
@@ -42,7 +42,7 @@ authorization from the copyright holders.
#ifndef __SFNT_H
#define __SFNT_H
-#include "LETypes.h"
+#include "layout/LETypes.h"
#ifndef ANY_NUMBER
diff --git a/Build/source/texk/web2c/xetexdir/xetex.ch b/Build/source/texk/web2c/xetexdir/xetex.ch
index 0495d260df5..18db5a1b339 100644
--- a/Build/source/texk/web2c/xetexdir/xetex.ch
+++ b/Build/source/texk/web2c/xetexdir/xetex.ch
@@ -3349,11 +3349,11 @@ if translate_filename then begin
@z
@x
- if open_in_name_ok(stringcast(name_of_file+1))
+ if kpse_in_name_ok(stringcast(name_of_file+1))
and a_open_in(cur_file, kpse_tex_format) then
goto done;
@y
- if open_in_name_ok(stringcast(name_of_file+1))
+ if kpse_in_name_ok(stringcast(name_of_file+1))
and u_open_in(cur_file, kpse_tex_format, XeTeX_default_input_mode, XeTeX_default_input_encoding) then
{At this point |name_of_file| contains the actual name found, as a UTF8 string.
We convert to UTF16, then extract the |cur_area|, |cur_name|, and |cur_ext| from it.}
@@ -7081,6 +7081,13 @@ primitive("pdfsavepos",extension,pdf_save_pos_node);@/
pdf_save_pos_node: print_esc("pdfsavepos");
@z
+% i and j are unused by TeX but required for XeTeX
+@x [53.1348] (do_extension)
+var k:integer; {all-purpose integers}
+@y
+var i,@!j,@!k:integer; {all-purpose integers}
+@z
+
@x
set_language_code:@<Implement \.{\\setlanguage}@>;
@y