Difference between revisions of "ConTeXt Standalone/Implementation"

From Wiki
Jump to navigation Jump to search
m
(fix links to metapost)
 
(31 intermediate revisions by 5 users not shown)
Line 1: Line 1:
= Current state of binaries in minimals =
+
< [[ConTeXt Standalone]] | [[ConTeXt Standalone/Structure]] >
  
{| border="1"
 
! program
 
| windows      || linux || linux-64 || mac-intel || mac-ppc || latest || TL || recommended
 
|-
 
! metapost
 
| latest (A/M) || 1.002 (SVN #202) || 1.002 || 1.002 || 1.00x || 1.002 (SVN #202) || 0.993 || any
 
|-
 
! pdfTeX
 
| latest (A/M) || 1.50.0/#326 (M) || 1.40.5 (M) || 1.50.0/#326 (M) || 1.50.0/#326 (M) || 1.40.7/SVN #371 or 1.50.0 || 1.40.2 || any
 
|-
 
! XeTeX
 
| latest (A/M) || 0.997/#589 (M) || 0.997/#539 (M) || 0.997/#589 (M) || 0.997/#526 (M) || 0.997/SVN #589 || 0.996 || 0.997/SVN #526 (#543) or later
 
|-
 
! xdvipdfmx
 
| latest (A/M) || 0.5/#108 (M) || 0.5/#102 (M) || 0.5/#108 (M) || 0.4/#96 (M) || 0.5/SVN #108 || 0.5 || 0.5/SVN #102
 
|-
 
! luatex
 
| latest (A/M)
 
|| 0.22.1 (M)
 
|| 0.22.0 (M)
 
|| 0.22.1 (M)
 
|style="background:gray; color:black"| 0.20.2 (M)
 
|| 0.22.0
 
| --
 
|| 0.22.1/SVN #10xx
 
|-
 
|}
 
  
A = automatic, M = manual
+
Binaries can now be built from
 +
  svn co http://svn.contextgarden.net/suite/build-binaries
 +
It might take some time to propagate the changes and auto-update this page :)
  
 
== Binary sources ==
 
== Binary sources ==
 +
 +
We take binaries from the following sources:
  
 
=== MetaPost ===
 
=== MetaPost ===
* SVN: svn://scm.foundry.supelec.fr/svn/metapost
+
* SVN: https://foundry.supelec.fr/svn/metapost
* ViewVC: http://foundry.supelec.fr/plugins/scmsvn/viewcvs.php/?root=metapost
+
* ViewVC: https://foundry.supelec.fr/scm/viewvc.php/?root=metapost
 +
* files: http://foundry.supelec.fr/gf/project/metapost/frs/
 +
<code>tags/XXX</code>
 +
 
 +
=== LuaTeX ===
 +
* SVN: https://foundry.supelec.fr/svn/luatex
 +
* ViewVC: https://foundry.supelec.fr/scm/viewvc.php/?root=luatex
 +
* Files: http://foundry.supelec.fr/gf/project/luatex/frs/
 +
<code>tags/beta-XXX</code>
 +
 
 +
=== W32TeX ===
  
=== pdfTeX ===
+
* http://w32tex.org
* SVN: svn://scm.foundry.supelec.fr/svn/pdftex
 
* VieCV: http://foundry.supelec.fr/plugins/scmsvn/viewcvs.php/?root=pdftex
 
  
=== luaTeX ===
+
=== TeX Live 2012 ===
* SVN: svn://scm.foundry.supelec.fr/svn/luatex
 
* ViewVC: http://foundry.supelec.fr/plugins/scmsvn/viewcvs.php/?root=luatex
 
* Files: http://foundry.supelec.fr/frs/?group_id=10
 
  
=== XeTeX ===
+
* http://www.tug.org/texlive/svn/
* http://scripts.sil.org/svn-public/xetex/TRUNK
 
  
=== xdvipdfmx ===
+
=== Others (not used any more) ===
* http://scripts.sil.org/svn-public/xdvipdfmx/TRUNK
+
 
 +
We also used to compile pdfTeX and XeTeX, but stopped doing so as there was no need to use a version newer than what's in TeX Live.
 +
 
 +
==== pdfTeX ====
 +
* SVN: http://foundry.supelec.fr/svn/pdftex
 +
* VieVC: http://foundry.supelec.fr/gf/project/pdftex/scmsvn/
 +
<code>branches/stable/source</code>
 +
 
 +
==== XeTeX ====
 +
* GIT: git://git.code.sf.net/p/xetex/code
 +
* Gitweb: http://xetex.git.sourceforge.net/
 +
<code>master</code>
  
 
== rsync ==
 
== rsync ==
Line 56: Line 48:
 
Rsync on Windows behaves a bit weird. We fetched binaries from
 
Rsync on Windows behaves a bit weird. We fetched binaries from
 
* http://www.itefix.no/cwrsync/
 
* http://www.itefix.no/cwrsync/
After rsync-ing binaries, one needs to execute
+
One needs to set
 +
set CYGWIN=noNTsec
 +
before syncing binaries or
 
  chmod 777 tex/texmf-win/bin/*
 
  chmod 777 tex/texmf-win/bin/*
It might be that numbers smaller than 777 are OK as well, but I didn't want to risk. From rsync bundle one needs to have at least
+
after that, else binaries won't work.
 +
 
 +
From rsync bundle one needs to have at least
 
  chmod.exe
 
  chmod.exe
 
  cygiconv-2.dll # for chmod
 
  cygiconv-2.dll # for chmod
Line 64: Line 60:
 
  cygwin1.dll
 
  cygwin1.dll
 
  rsync.exe
 
  rsync.exe
to be able to use rsync from the garden properly. I have no idea what happens if cygwin is in PATH.
+
to be able to use rsync from the garden properly. I have no idea what happens if cygwin is in PATH, but it is asking for problems.
  
== building XeTeX and xdvipdfmx ==
 
  
(This might need to be moved to some better place, for example under XeTeX, but I needed to leave a note on building process before we all forget it.)
 
  
SVN sources are available at:
+
== Cross-compiling on Mac OS X ==
http://scripts.sil.org/svn-public/xetex/TRUNK
 
http://scripts.sil.org/svn-public/xdvipdfmx/TRUNK
 
  
Prerequisits: You need to have the runtime libraries for fontconfig and zlib installed, as well as the devel package for fontconfig
+
In order to cross-compile for PPC on a Intel Mac, you need to give the compiler and the linker the following additional  switches:
  
=== Taco's notes (for linux) ===
+
-arch ppc
  
XeTeX's build process needs the tex binaries directory in the path to deduce an installation directory from.
+
So all you have to do is set <code>CFLAGS</code> and <code>LDFLAGS</code> before you run <code>configure</code> (as well as <code>CXXFLAGS</code>, if applicable). Of course it may be that some Makefiles don't honor these variables and override them with something of their own, and this is the major inconvience you will have to deal with (this is actually what the Makefile for lua does; here you would have to set something like <code>MYCFLAGS</code> or <code>XCFLAGS</code> in addition).
On the contextgarden, that should be <code>/opt/texlive2007/bin/i386-linux/</code>,
 
because it assumes the path is TDS compliant (i.e., it ends with '<code>/bin/<<platform>></code>')
 
  
  $ export PATH=/opt/texlive2007/bin/i386-linux:$PATH
+
Obviously, you can also use a similar instruction to cross-compile the other way round (build for Intel on a PPC host); it's called <code>-arch i386</code>; and if you give both at the same time, it results with a so-called ''universal'' binary (the size of which being approximately the sum of the size of both individual binaries). [[User:Arthur|Arthur]] 17:20, 30 September 2007 (CEST)
  
=== Arthur's notes (for xdvipdfmx) ===
+
For pdfTeX it's enough to say
 
+
  CFLAGS="-arch ppc" LDFLAGS="-arch ppc" CXXFLAGS="-arch ppc" ./build.sh
  $ export XETEX=location-of-xetex-TRUNK
 
$ CFLAGS="-I$XETEX/texk -I$XETEX/Work/texk -I$XETEX/libs/freetype2/include -I$XETEX/libs/freetype2" \
 
    LDFLAGS="-L$XETEX/Work/texk/kpathsea/.libs -L$XETEX/Work/libs/freetype2" ./configure
 
  
== Cross-compiling for PPC on Intel Mac ==
+
XeTeX supports the syntax
 +
./build-xetex "-arch ppc"
 +
for cross-compiling.
  
I see that Mojca has left homework for me to do over the week-end <code>;-)</code> so here goes:
+
It is also adviced to use
 +
gcc_select
 +
and select gcc 3.3 to be more backward compatible, as well as setting
 +
export MACOSX_DEPLOYMENT_TARGET=10.3
  
In order to cross-compile for PPC on a Intel Mac, you need to give the compiler and the linker the following additional  switches:
+
== Compiling TeX Live binaries ==
  
  -arch ppc
+
To compile 64-bit binaries on 10.6 or later:
 +
  ./Build --disable-xdvipdfmx --disable-xetex --disable-xdv2pdf
 +
To select the latest compiler on Lion:
 +
  CC=clang OBJC=clang CXX=clang++ ./Build <options>
 +
If we want to compile for 10.6 on 10.7 we additionally need:
 +
export MACOSX_DEPLOYMENT_TARGET=10.6
 +
# or add -mmacosx-version-min=10.6 to CFLAGS
 +
# most of the time optional; usually not needed, but one never knows
 +
  export MYCFLAGS='-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk'
 +
export CC=llvm-gcc-4.2; export CFLAGS=$MYCFLAGS
 +
export OBJC=llvm-gcc-4.2; export OBJCFLAGS=$MYCFLAGS
 +
export CXX=llvm-g++-4.2; export CXXFLAGS=$MYCFLAGS
 +
./Build <options>
  
Pretty damn simple, isn't?
+
To compile ppc and i386 binaries for Tiger on 10.6:
 +
export ARCH=i386
 +
export MACOSX_DEPLOYMENT_TARGET=10.4
 +
export MYCFLAGS='-arch $ARCH -isysroot /Developer/SDKs/MacOSX10.4u.sdk'
 +
export LDFLAGS='-arch $ARCH'
 +
export CC=gcc-4.0; export CFLAGS=$MYCFLAGS
 +
export OBJC=gcc-4.0; export OBJCFLAGS=$MYCFLAGS
 +
export CXX=g++-4.0; export CXXFLAGS=$MYCFLAGS
  
So all you have to do is set <code>CFLAGS</code> and <code>LDFLAGS</code> before you run <code>configure</code> (as well as <code>CXXFLAGS</code>, if applicable). Of course it may be that some Makefiles don't honor these variables and override them with something of their own, and this is the major inconvience you will have to deal with (this is actually what the Makefile for lua does; here you would have to set something like <code>MYCFLAGS</code> or <code>XCFLAGS</code> in addition).
+
Or alternatively:
 +
export MACOSX_DEPLOYMENT_TARGET=10.4
 +
export MYCFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk'
 +
export CC=i686-apple-darwin10-gcc-4.0.1; export CFLAGS=$MYCFLAGS
 +
export OBJC=i686-apple-darwin10-gcc-4.0.1; export OBJCFLAGS=$MYCFLAGS
 +
export CXX=i686-apple-darwin10-g++-4.0.1; export CXXFLAGS=$MYCFLAGS
  
Obviously, you can also use a similar instruction to cross-compile the other way round (build for Intel on a PPC host); it's called <code>-arch i386</code>; and if you give both at the same time, it results with a so-called ''universal'' binary (the size of which being approximately the sum of the size of both individual binaries). [[User:Arthur|Arthur]] 17:20, 30 September 2007 (CEST)
+
export MACOSX_DEPLOYMENT_TARGET=10.4
 
+
export MYCFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk'
For pdfTeX it's enough to say
+
  export CC=powerpc-apple-darwin10-gcc-4.0.1; export CFLAGS=$MYCFLAGS
  CFLAGS="-arch ppc" LDFLAGS="-arch ppc" CXXFLAGS="-arch ppc" ./build.sh
+
export OBJC=powerpc-apple-darwin10-gcc-4.0.1; export OBJCFLAGS=$MYCFLAGS
 +
export CXX=powerpc-apple-darwin10-g++-4.0.1; export CXXFLAGS=$MYCFLAGS
  
 
= Non-Polish Fonts =
 
= Non-Polish Fonts =
Line 206: Line 223:
 
*  \definefontsynonym [RalfSmithFormalScript] [rsfs10]
 
*  \definefontsynonym [RalfSmithFormalScript] [rsfs10]
 
*  \definefontsynonym [MartinVogel]          [fmvr8x]
 
*  \definefontsynonym [MartinVogel]          [fmvr8x]
 +
 +
== Building plain formats (to be done) ==
 +
 +
''This text will disapear from page, but until we put some additional files to the distribution, here are some notes for me.''
 +
 +
There are no CMR fonts in the distribution (more or less on purpose), but you can use LM replacement instead.
 +
 +
% pdftex.ini
 +
\pdfoutput=1
 +
\pdfcompresslevel=9
 +
\pdfdecimaldigits=3
 +
\pdfpagewidth=210 true mm
 +
\pdfpageheight=297 true mm
 +
\pdfhorigin=1 true in
 +
\pdfvorigin=1 true in
 +
\pdfpkresolution=600
 +
 +
\input plain
 +
\dump
 +
\endinput
 +
 +
pdftex -ini pdftex.ini
 +
 +
One needs to use:
 +
\pdfmapfile{+lm-rep-cmtext.map}
 +
'''Bold text'''
 +
 +
[[Category:Standalone|Implementation]]

Latest revision as of 13:14, 13 December 2014

< ConTeXt Standalone | ConTeXt Standalone/Structure >


Binaries can now be built from

 svn co http://svn.contextgarden.net/suite/build-binaries

It might take some time to propagate the changes and auto-update this page :)

Binary sources

We take binaries from the following sources:

MetaPost

tags/XXX

LuaTeX

tags/beta-XXX

W32TeX

TeX Live 2012

Others (not used any more)

We also used to compile pdfTeX and XeTeX, but stopped doing so as there was no need to use a version newer than what's in TeX Live.

pdfTeX

branches/stable/source

XeTeX

master

rsync

Rsync on Windows behaves a bit weird. We fetched binaries from

One needs to set

set CYGWIN=noNTsec

before syncing binaries or

chmod 777 tex/texmf-win/bin/*

after that, else binaries won't work.

From rsync bundle one needs to have at least

chmod.exe
cygiconv-2.dll # for chmod
cygintl-3.dll  # for chmod
cygwin1.dll
rsync.exe

to be able to use rsync from the garden properly. I have no idea what happens if cygwin is in PATH, but it is asking for problems.


Cross-compiling on Mac OS X

In order to cross-compile for PPC on a Intel Mac, you need to give the compiler and the linker the following additional switches:

-arch ppc

So all you have to do is set CFLAGS and LDFLAGS before you run configure (as well as CXXFLAGS, if applicable). Of course it may be that some Makefiles don't honor these variables and override them with something of their own, and this is the major inconvience you will have to deal with (this is actually what the Makefile for lua does; here you would have to set something like MYCFLAGS or XCFLAGS in addition).

Obviously, you can also use a similar instruction to cross-compile the other way round (build for Intel on a PPC host); it's called -arch i386; and if you give both at the same time, it results with a so-called universal binary (the size of which being approximately the sum of the size of both individual binaries). Arthur 17:20, 30 September 2007 (CEST)

For pdfTeX it's enough to say

CFLAGS="-arch ppc" LDFLAGS="-arch ppc" CXXFLAGS="-arch ppc" ./build.sh

XeTeX supports the syntax

./build-xetex "-arch ppc"

for cross-compiling.

It is also adviced to use

gcc_select

and select gcc 3.3 to be more backward compatible, as well as setting

export MACOSX_DEPLOYMENT_TARGET=10.3

Compiling TeX Live binaries

To compile 64-bit binaries on 10.6 or later:

 ./Build --disable-xdvipdfmx --disable-xetex --disable-xdv2pdf

To select the latest compiler on Lion:

 CC=clang OBJC=clang CXX=clang++ ./Build <options>

If we want to compile for 10.6 on 10.7 we additionally need:

export MACOSX_DEPLOYMENT_TARGET=10.6
# or add -mmacosx-version-min=10.6 to CFLAGS
# most of the time optional; usually not needed, but one never knows
export MYCFLAGS='-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk'
export CC=llvm-gcc-4.2; export CFLAGS=$MYCFLAGS
export OBJC=llvm-gcc-4.2; export OBJCFLAGS=$MYCFLAGS
export CXX=llvm-g++-4.2; export CXXFLAGS=$MYCFLAGS
./Build <options>

To compile ppc and i386 binaries for Tiger on 10.6:

export ARCH=i386
export MACOSX_DEPLOYMENT_TARGET=10.4
export MYCFLAGS='-arch $ARCH -isysroot /Developer/SDKs/MacOSX10.4u.sdk'
export LDFLAGS='-arch $ARCH'
export CC=gcc-4.0; export CFLAGS=$MYCFLAGS
export OBJC=gcc-4.0; export OBJCFLAGS=$MYCFLAGS
export CXX=g++-4.0; export CXXFLAGS=$MYCFLAGS

Or alternatively:

export MACOSX_DEPLOYMENT_TARGET=10.4
export MYCFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk'
export CC=i686-apple-darwin10-gcc-4.0.1; export CFLAGS=$MYCFLAGS
export OBJC=i686-apple-darwin10-gcc-4.0.1; export OBJCFLAGS=$MYCFLAGS
export CXX=i686-apple-darwin10-g++-4.0.1; export CXXFLAGS=$MYCFLAGS
export MACOSX_DEPLOYMENT_TARGET=10.4
export MYCFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk'
export CC=powerpc-apple-darwin10-gcc-4.0.1; export CFLAGS=$MYCFLAGS
export OBJC=powerpc-apple-darwin10-gcc-4.0.1; export OBJCFLAGS=$MYCFLAGS
export CXX=powerpc-apple-darwin10-g++-4.0.1; export CXXFLAGS=$MYCFLAGS

Non-Polish Fonts

List of fonts in the old minimals

already there

  • bluesky
    • ams
  • hoekwater
    • context/contnav (is it needed? it's in ConTeXt already)
    • mflogo
    • misc/manfnt
  • public
    • marvosym

temporary there

These fonts will be removed once there will be TeX Gyre math available.

  • urw
    • helvetic
    • palatino
    • times
  • public
    • pxfonts
    • txfonts

superseeded by TeX Gyre

  • urw
    • avantgar (Adobe AvantGarde) -> Adventor
    • bookman -> Bonum
    • courier -> Cursor
    • helvetic -> Heros
    • ncntrsbk (Adobe New Century Schoolbook) -> Schola
    • palatino -> Pagella
    • times -> Termes
    • zapfchan -> Chorus
  • public
    • qfonts

may be removed

  • bluesky
    • cm
  • public
    • cs
    • pl

sort them first

  • adobe/utopia
  • bitstream/charter
  • bluesky
    • ams - check
    • latex-fonts -?
  • public
    • antp -?
    • cb
    • cm-super
    • eulervm
    • fourier
  • urw
    • symbol
    • utopia
    • zapfding

Math support needed

http://www.ctan.org/tex-archive/info/Free_Math_Font_Survey/en/survey.html

  • Helvetica
  • Times: tx (see type-enc) or belleek or symbol math or omega math
  • Palatino: px (or Pazo) or euler
  • Bookman: kerkis (check)
  • Schoolbook: millenial/fourerenc
  • cmbright
  • Concrete and Euler or Concrete Math

forget-me-not (how to generate map files for XeTeX):

ctxtools --dpx --force --maproot=/usr/local/gwTeX/texmf.pkgs/fonts/map/dvips/tex-gyre


Different (check)

  • wcm for syrillic
  • la/lb/lc rb1000 etc.
  • lhr
  • cbgreek
  • computer concrete (AMS) - see type-enc
  • euler (AMS)
  • AMS symbols
  • fourier
  • \definefontsynonym [RalfSmithFormalScript] [rsfs10]
  • \definefontsynonym [MartinVogel] [fmvr8x]

Building plain formats (to be done)

This text will disapear from page, but until we put some additional files to the distribution, here are some notes for me.

There are no CMR fonts in the distribution (more or less on purpose), but you can use LM replacement instead.

% pdftex.ini
\pdfoutput=1
\pdfcompresslevel=9
\pdfdecimaldigits=3
\pdfpagewidth=210 true mm
\pdfpageheight=297 true mm
\pdfhorigin=1 true in
\pdfvorigin=1 true in
\pdfpkresolution=600

\input plain
\dump
\endinput
pdftex -ini pdftex.ini

One needs to use:

\pdfmapfile{+lm-rep-cmtext.map}

Bold text