-
Notifications
You must be signed in to change notification settings - Fork 33
The future of pTeX ng
For the reason that this is a personal project without any funding or enough donation, this project will be temporarily frozen for about four months, till next spring. There are some TODOs for pTeX-ng (2015).
1 Rearranging Inner Data Structure
pTeX-ng's array, eqtb
, will be splited into serval sparse dynamic arrays and one static array. The dynamic arrays are planned to be used to store catcode
/uccode
/lccode
/sfcode
with the capacity up to 0x10FFFF elements (the upper bound of Unicode). The kinsoku table in pTeX will also be extended to the Unicode range.
2 Embedding a Dynamic Programming Language
Embedding a dynamic programming language is there on the todo list of pTeX-ng. However, I haven't decided which one should be embedded in, and these languages are now taking into consideration:
- Scheme (GNU Guile)
- JavaScript (Google V8/SpiderMonkey)
- Ruby (mruby)
- Lua
Extensions that are developed for pTeX-ng should not reduce the efficiency of pTeX-ng's typesetting. That is, the embedded-in language will only play a supporting role in the TeX marco programming.
3 Introducing an OpenType Layout Engine
libm17n
and libotf
will be introduced into the development of pTeX-ng in the spring of the year 2015. pTeX-ng would have the ability to access the fmt
file, which allows pTeX-ng to acquire the infomation provided by OpenType font files and write them into fmt
files (both XeTeX and LuaTeX do not support this feature).
4 Figure Support
There is no primitive that is relating to figures' support, and it will be added into pTeX-ng in next spring. Additionally, DVIPDFMx (libdpx
) is used as a static library for pTeX-ng to output PDF files. However, pTeX-ng does not support EPS figures out of the concern for performance.
[please choose lua. anything else will drive the tex world and tex developers crazy! -karl]