texmfcnf.lua 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. -- public domain
  2. -- ConTeXt needs a properly expanded TEXMFLOCAL, so here is a
  3. -- bit of lua code to make that happen
  4. local texmflocal = resolvers.prefixes.selfautoparent();
  5. texmflocal = string.gsub(texmflocal, "20%d%d$", "texmf-local");
  6. return {
  7. type = "configuration",
  8. version = "1.1.0",
  9. date = "2012-05-24",
  10. time = "12:12:12",
  11. comment = "ConTeXt MkIV configuration file",
  12. author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
  13. content = {
  14. -- Originally there was support for engines and progname but I don't expect
  15. -- other engines to use this file, so first engines were removed. After that
  16. -- if made sense also to get rid of progname. At some point specific formats
  17. -- will be supported but then as a subtable with fallbacks, which sounds more
  18. -- natural. Also, at some point the paths will become tables. For the moment
  19. -- I don't care too much about it as extending is easy.
  20. variables = {
  21. -- The following variable is predefined (but can be overloaded) and in
  22. -- most cases you can leve this one untouched. The built-in definition
  23. -- permits relocation of the tree.
  24. --
  25. -- TEXMFCNF = "{selfautodir:,selfautoparent:}{,{/share,}/texmf{-local,}/web2c}"
  26. --
  27. -- more readable than "selfautoparent:{/texmf{-local,}{,/web2c},}}" is:
  28. --
  29. -- TEXMFCNF = {
  30. -- "selfautoparent:/texmf-local",
  31. -- "selfautoparent:/texmf-local/web2c",
  32. -- "selfautoparent:/texmf-dist",
  33. -- "selfautoparent:/texmf/web2c",
  34. -- "selfautoparent:",
  35. -- }
  36. -- only used for FONTCONFIG_PATH & TEXMFCACHE in TeX Live
  37. TEXMFSYSVAR = "/var/lib/texmf",
  38. TEXMFVAR = "home:.texlive/texmf-var",
  39. -- We have only one cache path but there can be more. The first writable one
  40. -- will be chosen but there can be more readable paths.
  41. TEXMFCACHE = "$TEXMFSYSVAR;$TEXMFVAR",
  42. TEXMFCONFIG = "home:.texlive/texmf-config",
  43. -- I don't like this texmf under home and texmf-home would make more
  44. -- sense. One never knows what installers put under texmf anywhere and
  45. -- sorting out problems will be a pain. But on the other hand ... home
  46. -- mess is normally under the users own responsibility.
  47. --
  48. -- By using prefixes we don't get expanded paths in the cache __path__
  49. -- entry. This makes the tex root relocatable.
  50. TEXMFOS = "selfautodir:share",
  51. TEXMFDIST = "selfautodir:share/texmf-dist",
  52. TEXMFLOCAL = texmflocal,
  53. TEXMFSYSCONFIG = "/etc/texmf",
  54. TEXMFFONTS = "selfautoparent:texmf-fonts",
  55. TEXMFPROJECT = "selfautoparent:texmf-project",
  56. TEXMFHOME = "home:texmf",
  57. -- TEXMFHOME = os.name == "macosx" and "home:Library/texmf" or "home:texmf",
  58. -- We need texmfos for a few rare files but as I have a few more bin trees
  59. -- a hack is needed. Maybe other users also have texmf-platform-new trees.
  60. TEXMF = "{$TEXMFCONFIG,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFPROJECT,!!$TEXMFFONTS,!!$TEXMFLOCAL,!!$TEXMFDIST}",
  61. TEXFONTMAPS = ".;$TEXMF/fonts/data//;$TEXMF/fonts/map/{pdftex,dvips}//",
  62. ENCFONTS = ".;$TEXMF/fonts/data//;$TEXMF/fonts/enc/{dvips,pdftex}//",
  63. VFFONTS = ".;$TEXMF/fonts/{data,vf}//",
  64. TFMFONTS = ".;$TEXMF/fonts/{data,tfm}//",
  65. T1FONTS = ".;$TEXMF/fonts/{data,type1}//;$OSFONTDIR",
  66. AFMFONTS = ".;$TEXMF/fonts/{data,afm}//;$OSFONTDIR",
  67. TTFONTS = ".;$TEXMF/fonts/{data,truetype}//;$OSFONTDIR",
  68. OPENTYPEFONTS = ".;$TEXMF/fonts/{data,opentype}//;$OSFONTDIR",
  69. CMAPFONTS = ".;$TEXMF/fonts/cmap//",
  70. FONTFEATURES = ".;$TEXMF/fonts/{data,fea}//;$OPENTYPEFONTS;$TTFONTS;$T1FONTS;$AFMFONTS",
  71. FONTCIDMAPS = ".;$TEXMF/fonts/{data,cid}//",
  72. OFMFONTS = ".;$TEXMF/fonts/{data,ofm,tfm}//",
  73. OVFFONTS = ".;$TEXMF/fonts/{data,ovf,vf}//",
  74. TEXINPUTS = ".;$TEXMF/tex/{context,plain/base,generic}//",
  75. MPINPUTS = ".;$TEXMF/metapost/{context,base,}//",
  76. -- In the next variable the inputs path will go away.
  77. TEXMFSCRIPTS = ".;$TEXMF/scripts/context/{lua,ruby,python,perl}//;$TEXINPUTS",
  78. PERLINPUTS = ".;$TEXMF/scripts/context/perl",
  79. PYTHONINPUTS = ".;$TEXMF/scripts/context/python",
  80. RUBYINPUTS = ".;$TEXMF/scripts/context/ruby",
  81. LUAINPUTS = ".;$TEXINPUTS;$TEXMF/scripts/context/lua//",
  82. CLUAINPUTS = ".;$SELFAUTOLOC/lib/{context,luatex,}/lua//",
  83. -- Not really used by MkIV so they might go away.
  84. BIBINPUTS = ".;$TEXMF/bibtex/bib//",
  85. BSTINPUTS = ".;$TEXMF/bibtex/bst//",
  86. -- Experimental
  87. ICCPROFILES = ".;$TEXMF/tex/context/colors/{icc,profiles}//;$OSCOLORDIR",
  88. -- A few special ones that will change some day.
  89. FONTCONFIG_FILE = "fonts.conf",
  90. FONTCONFIG_PATH = "$TEXMFSYSVAR/fonts/conf",
  91. },
  92. -- We have a few reserved subtables. These control runtime behaviour. The
  93. -- keys have names like 'foo.bar' which means that you have to use keys
  94. -- like ['foo.bar'] so for convenience we also support 'foo_bar'.
  95. directives = {
  96. -- There are a few variables that determine the engines
  97. -- limits. Most will fade away when we close in on version 1.
  98. ["luatex.expanddepth"] = "10000", -- 10000
  99. ["luatex.hashextra"] = "100000", -- 0
  100. ["luatex.nestsize"] = "1000", -- 50
  101. ["luatex.maxinopen"] = "500", -- 15
  102. ["luatex.maxprintline"] = " 10000", -- 79
  103. ["luatex.maxstrings"] = "500000", -- 15000 -- obsolete
  104. ["luatex.paramsize"] = "25000", -- 60
  105. ["luatex.savesize"] = "50000", -- 4000
  106. ["luatex.stacksize"] = "10000", -- 300
  107. -- A few process related variables come next.
  108. -- ["system.checkglobals"] = "10",
  109. -- ["system.nostatistics"] = "yes",
  110. ["system.errorcontext"] = "10",
  111. ["system.compile.cleanup"] = "no", -- remove tma files
  112. ["system.compile.strip"] = "yes", -- strip tmc files
  113. -- The io modes are similar to the traditional ones. Possible values
  114. -- are all, paranoid and restricted.
  115. ["system.outputmode"] = "restricted",
  116. ["system.inputmode"] = "any",
  117. -- The following variable is under consideration. We do have protection
  118. -- mechanims but it's not enabled by default.
  119. ["system.commandmode"] = "any", -- any none list
  120. ["system.commandlist"] = "mtxrun, convert, inkscape, gs, imagemagick, curl, bibtex, pstoedit",
  121. -- The mplib library support mechanisms have their own
  122. -- configuration. Normally these variables can be left as
  123. -- they are.
  124. ["mplib.texerrors"] = "yes",
  125. -- Normally you can leave the font related directives untouched
  126. -- as they only make sense when testing.
  127. -- ["fonts.autoreload"] = "no",
  128. -- ["fonts.otf.loader.method"] = "table", -- table mixed sparse
  129. -- ["fonts.otf.loader.cleanup"] = "0", -- 0 1 2 3
  130. -- In an edit cycle it can be handy to launch an editor. The
  131. -- preferred one can be set here.
  132. -- ["pdfview.method"] = "okular", -- default (often acrobat) xpdf okular
  133. },
  134. experiments = {
  135. ["fonts.autorscale"] = "yes",
  136. },
  137. trackers = {
  138. },
  139. },
  140. }