summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/luatex/luamplib/NEWS
blob: 81f07ac38fad019549d37021de109c2e16223110 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
                       History of the luamplib package

2024/06/21 2.32.3
   * 'coloured' is a synonym of the option 'colored' in pattern definition.

   * fix a bug related to pdf page resources in dvi mode

   * users can access the lua table containing mplib instances 'luamplib.instances',
   through which metapost variables are also easily accessible as documented in
   LuaTeX manual 11.2.8.4.

2024/06/14 2.32.2
   * fix matrix conversion between MP and PDF

2024/06/13 2.32.1
   * for the sake of convenience, width and height values of tiling patterns
   will be written down into the log file.

   * table type is allowed as well as string type for 'matrix' and 'bbox'
   options in pattern definition.

   * metapost code such as 'rotated 30 slanted .2' is allowed as well as the
   string or table of numbers for the 'matrix' option in pattern definition.

   * as for the 'resources' option in pattern definition, luamplib
   automatically includes the resources of the current page.

   * luamplib does not log info even if there's no beginfig ... endfig.

2024/06/10 2.32.0
   * \mppattern{<name>} ... \endmppattern defines a tiling pattern which can be
   used with 'withpattern' operator to fill a closed path by replicating the tile
   horizontally and vertically.  \begin{mppattern} ... \end{mppattern} is exactly
   the same as \mppattern ... \endmppattern.  See luamplib manual for details.

2024/05/30 2.31.2
   * support vertical writing mode in mpliboutlinetext (presently luatexko
   package only, and except horizontal mode inside vertical mode)

   * after the process of mpliboutlinetext, mpliboutlinepic[1] ...
   mpliboutlinepic[mpliboutlinenum] will be preserved as an array of images
   each of which containing a glyph or a rule.  N.B. Unicode grapheme cluster
   is not considered here.

2024/05/24 2.31.1
   * fix bugs in outlinetext routine
   * improve rule treatment in graphictext

2024/05/21 2.31.0
   * provide a new metapost operator 'mpliboutlinetext', which mimicks
   metafun's 'outlinetext'. The syntax is the same as metafun's. (#133)

2024/05/10 2.30.0
   * provide a new metapost operator 'mplibglyph', which returns a metapost
   picture containing outline paths of a glyph in opentype, truetype or type1
   fonts.  When a type1 font is specified, metapost primitive 'glyph' will be
   called.  In the syntax as follows, subfont number is zero based.

       mplibglyph 50   of \fontid\font            % slot 50 of current font
       mplibglyph 50   of "cmr10"                          % type1 font
       mplibglyph "Q"  of "TU/TeXGyrePagella(0)/m/n/10"    % font csname
       mplibglyph "똠" of "NotoSansCJKkr-Regular.otf"      % raw filename
       mplibglyph "Q"  of "Times.ttc(2)"                   % subfont number
       mplibglyph "똠" of "SourceHanSansK-VF.otf[Regular]" % instance name

   * provide a new metapost command 'mplibdrawglyph'. In contrast to metapost's
   'draw' command, this one fills paths of a picture according to the Nonzero
   Winding Number Rule.

   * in 'mplibgraphictext', option 'scale' is deprecated and now a synonym of
   'scaled'.  In DVI mode, unicode-math package is needed for math formula
   graphictext.

2024/05/01 2.29.0

   * provide new TeX macros to reduce typing toil.

     \mpfig ... \endmpfig is roughly the abbreviation of
         \begin{mplibcode}[@mpfig]
         beginfig(0)
         token list declared by \everymplib[@mpfig]
         ...
         token list declared by \everyendmplib[@mpfig]
         endfig;
         \end{mplibcode}

     \mpfig* ... \endmpfig is roughly the abbreviation of
         \begin{mplibcode}[@mpfig]
         ...
         \end{mplibcode}

     These macros are protected and unexpandable.
     In these macros \mpliblegacybehavior{false} is forcibly declared.
     As both share the same instance name, MetaPost codes are inherited among them.
     The instance name (default: @mpfig) can be changed by redefining `\mpfiginstancename'.

   * instance names are allowed in plain TeX as well. The syntax is:

         \mplibcode[name] ... \endmplibcode
         \everymplib[name]{ ... }
         \everyendmplib[name]{ ... }

     These macros are now protected and unexpandable.

   * provide new MetaPost operators `mplibtexcolor' and `mplibrgbtexcolor'
     which convert TeX color expressions to MetaPost color expressions.
     The latter one forces rgb model results (#112). For instance,

         mplibtexcolor "olive"     % => (0, 0, 1, 0.5)
         mplibrgbtexcolor "olive"  % => (0.5, 0.5, 0)

     As spot colors are always forced to cmyk or rgb model, it is not
     recommended to use these operators for them.

   * write down MetaPost messages into the log file

2024/04/25 2.28.2
   * direction of figure box is explicitly declared as TLT (#129)
   * figure box materials are emitted in one go at the end of the figure
   (to enable tex.runtoks in spot color shading routine)

2024/04/19 2.28.1
   * fix spot color shading routine

2024/04/12 2.28.0
   * provide a new metapost operator 'mplibgraphictext', which is similar
   to ConTeXt's 'graphictext'. But the syntax is not the same:

       mplibgraphictext "Text" fakebold 2 scale 3
                               fillcolor red drawcolor blue

   where 'fakebold' and 'scale' are fontspec's font options.
   'fakebold', 'scale', 'drawcolor' and 'fillcolor' are optional and
   default values are '2', '1', "black" and "white" respectively.
   When color expressions are given as string, they are regarded as
   xcolor's or l3color's expressions. The operator generates a metapost
   picture, which can be drawn or assigned to a variable. For compatibilty
   with 'graphictext', 'withdrawcolor' and 'withfillcolor' are synonyms of
   'drawcolor' and 'fillcolor'. Because the implementation is quite
   different from the \ConTeXt's, there are some limitations such that
   we can't apply shading (gradient colors) to the text.

   * support metafun's new shading method. Color expressions given as string
   are regarded as xcolor's or l3color's expressions. Spot colors defined
   by the color commands of l3color package are also acceptable
   (currently '\DocumentMetadata{ }' is needed for spot colors).

   * fix the y-position of text figures, which means the result of 'infont'
   operator, not of the 'textext' operator.

2024/04/04 2.27.2
   * for warning/info/error messages we now use our own lua function,
   instead of ltluatex's. As a result, mplib's multi-line messages are
   printed as they are with no module name prepended to each line.
   * terminal messages are now much conciser than before, printing only
   the most relevant part.
   * mplibcode which has no figure output does not print a warning, but
   just an info to the log.

2024/03/29 2.27.1
   * fix a bug regarding local textext boxes

2024/03/23 2.27.0
   * when `mplibcodeinherit' is enabled, `mplibglobaltextext' is implicitly
   enabled as well.
   * when instance name is used to mplibcode environments, btex ... etex
   boxes are also shared among the environments of the same intance name.
   * transparency functionality does not conflict with transparent package.

2024/03/10 2.26.4
    * not just color names but also color expressions of l3color module
    are now supported even if xcolor package is loaded

2024/03/07 2.26.3
    * color expressions of l3color are supported as well.
    But they are regarded as xcolor's expressions if xcolor package is loaded.
    * support pdfmanagement's opacity and shading management.

2024/03/04 2.26.2
    * color expressions ('red!50') are supported with xcolor package only

2024/03/04 2.26.1
    * attempt to support l3color: \mpcolor{color expression}
    * cope with mp.report warning produced by 'message' under metafun

2024/03/01 2.26.0
    * when \mplibcachedir{<dir>} is not set, default cache directory will
    be in the following order:
        $TEXMFVAR/luamplib_cache
        $TEXMF_OUTPUT_DIRECTORY/luamplib_cache
        ./luamplib_cache
        $TEXMFOUTPUT/luamplib_cache
        .

2024/01/25 2.25.3
    * protect "..." even if textextlabel is disabled (revert part of v2.25.0)

2023/12/08 2.25.2
    * info instead of warning when compiling with dviluatex

2023/08/21 2.25.1
    * explicit \par in \mplibstoptoPDF to support LaTeX's paragraph hooks

2023/08/07 2.25.0
    * propagate tex's jobname varible into mplib process as well.
    * protect "..." if and only if textextlabel is enabled.

2023/04/04 2.24.0
    respect '-recorder' command-line option

2022/01/12 2.23.0
    In parellel with the functionality introduced at previous version,
    \everymplib (\everyendmplib as well, of course) supports
    optional argument of named MetaPost instance, affecting only those
    mplibcode environments of the same name.

2022/01/09 2.22.0
    * Sergey Slyusarev (@jemmybutton) has suggested and contributed
    a new feature for LaTeX mplibcode environment, which now supports
    separately named MetaPost instances.  Using this feature,
    all the variables and functions are shared only among
    all the environments belonging to the same instance.
    (#99 and #100)

2021/11/23 2.21.1
    * address #97 (typesetting fails with "--lua" option)

2021/09/16 2.21.0
    * allow empty string in textext()

2021/08/03 2.20.9
    * initialize every mplib instance with random integer seed values

2021/08/02 2.20.8
    * when \mplibshowlog{enable} is declared, log (not term) messages
      returned by mplib instance will be printed into the .log file.

2021/03/11 2.20.7
    * emegency patch for context metafun 2021-03-06

2020/12/30 2.20.6
    * fix a bug regarding no figure output when luamplib.showlog is
      true. (#91)
    * now metapost `show' command triggers a warning message, so that
      it could be shown on the console. (#91)

2020/02/24 2.20.5
    * Extra check for \pdfliteral (PR #89)
    * allow expansion of \mpdim and \mpcolor when they are used in
      another macro
    * step copyright year

2019/12/11 2.20.4
    * remove unnecessary setting of endlinechar
    * \prependtomplibbox instead of \mplibhmodeornot

2019/11/14 2.20.3
    * fix issue #86 (LaTeX command inside metapost label)

2019/10/11 2.20.2
    * fix issue #84 (pgf package hinders \mpcolor process)

2019/03/26 2.20.1
    * '\mpdim' and '\mpcolor' are allowed, even if '\mplibverbatim' is enabled.

2019/03/20 2.20.0
    * huge changes, but mostly internal, so apparently not much difference
      from previous version.
    * '\mplibforcehmode' makes mplibcode typeset in horizontal mode.
      '\mplibnoforcehmode' reverts the setting. The latter is default.
    * '\mpliblegacybehavior{disable}' triggers a new mode of processing
      verbatimtex .. etex: along with btex .. etex, they will be processed
      sequentially one by one. Old behavior, being default, can be restored
      by declaring '\mpliblegacybehavior{enable}'.
      Incidentally, verbatimtex .. etex in MP input files is honored
      from this version, save those that contain '\documentclass'
      or '\begin{document}' etc, which is totally ignored.

2018/09/27 2.12.5
    * change dash.offset pattern from "%i" to "%f" (PR #77)
    * remove unnecessary variables that go back to context (issue #76)

2018/04/16 2.12.4
    * workaround issue #74 relating to PATH limitation
    * substitute InconsolataN font for Liberation Mono in the manual

2018/04/06 2.12.3
    * step copyright year
    * remove a line relating graphictext hindrance

2018/01/04 2.12.2
    * workaround issue #70 "Labels outside beginfig...endfig are not inherited"
    * address issue #71 "metafun problem: arrow tips are not filled"
    by importing luatex-mplib.lua from context beta.

2017/06/02 2.12.1
    * when \mplibglobaltextext{enable} is declared, metapost variables
    containing btex ... etex labels can be inherited across code chunks.
    Of course, \mplibcodeinherit should also be switched on.

2016/03/31 2.11.3
    * fix a bug regarding nested mplibcode environments (issue #63)

2016/01/02 2.11.2
    * updates for luatex 0.87

2015/10/02 2.11.1
    * adapts to latex 2015/10/01 and luatexbase v1.0
    * allows `btex ... etex' and `verbatimtex ... etex' even when
      `\mplibverbatim{enable}' is declared.

2015/08/01 2.11.0
    * after `\mplibverbatim{enable}', contents of mplibcode environment
      will be read verbatim. So `btex ... etex', `verbatimtex ... etex',
      `\mpdim', `\mpcolor' are not allowed and all TeX commands will be
      fed literally into mplib library.
    * allow access to type1 fonts, which means we can use glyph
      operator now (luatex rev 5266)
    * color transparency is now compatible with pgf package and
      beamer class as well. (luatex 0.80+ is recommended)

2015/03/26 2.10.1
    * fix bug #55 regarding hash token

2015/03/20 2.10.0
    * TeX code in `VerbatimTeX()' between `beginfig();' and `endfig;'
      will be inserted after flushing out the mplib figure.
    * `\mpcolor' command accepts optional argument: for instance,
      `\mpcolor[HTML]{FF0000}'.

2015/01/26 2.9.1
    * fix a bug reported by Herbert Schulz via luatex mailing list
      (http://tug.org/pipermail/luatex/2015-January/005054.html)

2015/01/05 2.9.0
    * after declaring `\mplibcodeinherit{enable}', each mplib code chunks
      will inherit variables/constants/macros defined by previous chunks.
      On the contrary, the default value `\mplibcodeinherit{disable}' will
      treat each code chunks as an independent instance, never being affected
      by other code chunks.

2014/07/04 2.8.1
    * support color package on plain tex.
    * fix a failure at `btex \% etex'.

2014/06/17 2.8.0
    * support color/xcolor/spotcolor packages.
      On LaTeX, color names or expressions of color/xcolor packages
      can be used inside mplibcode environment with the command
      \mpcolor{<color expression>}.

2014/04/25 2.7.0
    * support DVIPDFMx
    * default directory for cache is now '$TEXMFVAR/luamplib_cache'
    * internal changes following LuaTeX engine v0.79 and luatexbase
      package v0.7
    * [fix] avoid luatex crash under math_mode 'decimal'

2014/03/26 2.6.1
    * now luamplib does not disregard 'show' command, even if
      'luamplib.showlog' is false. Incidentally, it does not raise
      error, but just prints a warning, even if output contains
      no figure.
    * fix a bug wrt color, which might come to the fore under
      math mode 'double' or 'decimal'.

2014/03/08 2.6.0
    * new macro \mplibtextextlabel{enable} enables string labels typeset
      with textext() instead of infont operator. Every string label
      thereafter will be typeset with current TeX font.
    * fixed a bug wrt btex ... etex parsing (issue #39)
    * [doc] added a mention about \MPllx, \MPlly, \MPurx, and \MPury.

2014/03/01 2.5.3
    * using \mplibcachedir{<directory path>}, users can change the
      directory for storing cache files. By default, it is the directory
      where pdf output file is saved.
    * at the end of package loading, luamplib searches 'luamplib.cfg',
      and, when found, reads the file in automatically.

2014/02/24 2.5.2
    * new macros \mplibmakenocache{...} and \mplibcancelnocache{...} to
      register/unregister those .mp files that do not need caches.
      These macros affect the compilation speed only.
    * added a hack to support graph.mp (in fact, format.mp)
    * [fix] luamplib now respects percent sign if it is enclosed by quotes.

2014/02/19 2.5
    * btex ... etex input from external *.mp files will also be processed
      by luamplib. However, verbatimtex ... etex will be entirely ignored
      in this case.

2014/02/02 2.4
    * implemented "numbersystem" option. Default value "scaled" can be
      changed by declaring \mplibnumbersystem{double}. For details, see
      http://github.com/lualatex/luamplib/issues/21

2014/01/20 2.3
    * \everymplib, \everyendmplib: macros that redefine token lists
      \everymplibtoks and \everyendmplibtoks. These will be
      automatically inserted at the beginning and ending (respectively)
      of each and every mplib code.
    * naked TeX codes, includig \mpdim{...}, are allowed inside
      mplibcode environment. Refer the manual of gmp package for
      details.

2013/12/30 2.2
    * start to support transparency/shading under metafun format.
    * verbatimtex ... etex just before beginfig() is not ignored.
      Using this macro, each mplib box can be moved horizontally and/or
      vertically.

2013/12/23 2.1.1
    * fix a bug wrt "withoutcolor" option
    * fix a bug wrt "char <number> infont <font>" picture
    * bypass some ConTeXt commands which raise errors under metafun format
    * ignore "fontmapfile <filename>" which isn't needed in mplib

2013/12/19 2.1
    * Do not ignore "withcolor" option for textext and normal text object
    * verbatimtex ... etex is now just ignored, not raising error

2013/12/11 2.03
    * implemented textext() macro which is identical to TEX() from TEX.mp.
      TEX() is a synonym of textext().
    * fix a bug regarding tex-text box inside for...endfor loop,
      reported at http://www.ktug.org/xe/index.php?document_srl=178050

2013/09/24 2.01
    * fix bug reported by Stephan Hennig: wrong baseline of tex-text box

2013/05/07 2.0
    * Update with current ConTeXt code
    * Adding the possibility of btex...etex commands (Kim)

2011/12/09 1.09
    * Fix bug reported by Paul Vojta: spurious spaces.

2011/06/23 1.08
    * Fix bug reported by Rolf Dieterich: <, >, TAB anywhere in a luacode
      environment caused errors. The character ` was affected too.

2010/12/28 1.07
    * fix two bugs reported by Arno Trautmann that made the package crash with
      luatex 0.65 (mp 1.5+).
    * remove support for using .mem files (to fix the second bug)

2010/10/17 v1.06
    * bugfix from Hans (bad function name)

2010/10/10 v1.05
    * adapt to luatexbase v0.3

2010/08/02 v1.04
    * fixing a bug in LaTeX's detection (made Tikz fail)
    * setting luamplib-luatex as the default name for the format, it's the case
      in TeXLive 2010
    * adding two test files in the git repository

2010/05/10 v1.03
    * adaptation to the new luatexbase package