From ed35ca7560a0e1ec82107722d95212d02e0f6120 Mon Sep 17 00:00:00 2001 From: Peter Breitenlohner Date: Tue, 16 Sep 2014 09:01:26 +0000 Subject: Build system: Add texk/web2c/pmpostdir/ for pMetaPost and upMetaPost git-svn-id: svn://tug.org/texlive/trunk@35184 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/pmpostdir/psvgout.ch | 77 ++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 Build/source/texk/web2c/pmpostdir/psvgout.ch (limited to 'Build/source/texk/web2c/pmpostdir/psvgout.ch') diff --git a/Build/source/texk/web2c/pmpostdir/psvgout.ch b/Build/source/texk/web2c/pmpostdir/psvgout.ch new file mode 100644 index 00000000000..5e624585709 --- /dev/null +++ b/Build/source/texk/web2c/pmpostdir/psvgout.ch @@ -0,0 +1,77 @@ +@x +#include +@y +#include +#include +#ifdef UPMP +#include +#endif +@z + +@x +@= + (k=='&')||(k=='>')||(k=='<') +@y +@= + (k=='&')||(k=='>')||(k=='<')||(k>=0x7F) +@z + +@x +@ Now for outputting the actual graphic objects. +@y +@ Now for outputting the actual graphic objects. + +@d yoko_jfm_id 11 /* `yoko-kumi' fonts */ +@d tate_jfm_id 9 /* `tate-kumi' fonts */ +@d font_jfm_p(A) (mp->font_id[(A)]!=0) +@z + +@x Even if prologues=3, Japanese texts are not converted into paths. + if (prologues == 3 ) { +@y + if (prologues == 3 && mp->font_id[gr_font_n(p)]==0) { +@z + +@x To realise vertical Japanese texts ... + mp_svg_attribute(mp, "font-size", mp->svg->buf); +@y + mp_svg_attribute(mp, "font-size", mp->svg->buf); + if ( mp->font_id[gr_font_n(p)]==tate_jfm_id ) { + mp_svg_reset_buf(mp); + append_string("tb-rl"); + mp_svg_attribute(mp, "writing-mode", mp->svg->buf); + } +@z + +@x + while (l-->0) { +@y + if ( mp->font_id[gr_font_n(p)]!=0 ) { +#ifdef UPMP + if (is_internalUPTEX() ) { + while (l>0) { + append_string("&#"); + mp_svg_store_int(mp,UTF8StoUCS(s)); + append_char(';'); + k = UTF8length((int)*s); s += k; l -= k; + } + } else /* 1 charatcer = 2 bytes */ +#endif + { + l >>= 1; + while (l-->0) { + k =((int)*s++)*0x100; k += (int)*s++; + append_string("&#"); + mp_svg_store_int(mp,toUCS(k)); + append_char(';'); + } + } + } else + while (l-->0) { +@z + +@x + mp_svg_print(mp, ""); +@y + mp_svg_print(mp, ""); +@z -- cgit v1.2.3