This repository has been archived by the owner on Sep 5, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGES
1164 lines (1134 loc) · 65.5 KB
/
CHANGES
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
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Release 080407
* [nt]roff: A type definition problem that caused an endless loop on
64-bit systems has been fixed.
* [nt]roff: The ".warn" request now accepts full numeric expressions
instead of plain numbers only.
* -mg macros: When reading the output of "ls" to emulate ".mso", use
nofill mode to avoid artifacts from paragraph adjustment that cause
the request to fail.
* eqn: Before an equation or binary operator, print a "\|" instead of
a "\^" if the preceding character is italic. The previous behavior
resulted from a too far-reaching change in release 051107. (Bug
reported by Joerg van den Hoff.)
* eqn: Do not displace "hat" and "tilde" horizontally (bug reported by
Joerg van den Hoff).
* eqn: Fixed the types of yylex() and yypv.
Release 070908
* troff: The ".hw" request now works correctly for words that contain
ligatures (bug reported by Dirk-Wilhelm Peters).
* troff: Hyphenate correctly when a hyphenation point occurs inside a
ligature that follows a non-ASCII character. Previously, the word was
actually hyphenated too early in this situation (bug reported by
Dirk-Wilhelm Peters).
* troff: Clear the font width cache before mounting a Type 1, TrueType,
or OpenType font. The previous failure to do so could lead to improper
alignment of lines when a font was mounted on the same font position
that was previously used (bug reported by Dirk-Wilhelm Peters).
* [nt]roff: When converting floating point values in exponential notation
(1.234e5 etc.) to integers, apply the exponent before computing the final
position of the decimal point for better rounding behavior (bug reported
by Dirk-Wilhelm Peters).
Release 070524
* [nt]roff: Fixed an endless loop that occurred when ".ns" was active at
the end of a document and ".bp" was called from the page trap macro.
* dpost: When including a picture, the PostScript "save" and "restore"
operators are now executed in correct order. Previously, the state
before page initialization was restored before including a picture.
Thus, graphics attributes such as colors were reset to the state
before page initialization, and drawing (as with pic) did not work
afterwards but resulted in a PostScript error.
* [nt]roff: With paragraph-at-once adjustment, if a ".in" was encountered
before any input, its argument was ignored. This lead to zero indent in
combination with the 6h Edition manual page macros, and has been fixed.
* troff: Do not break a line at a zero-width character, as e.g. inside a
"\X'...'" or "\z'...'".
* troff: The ".flig" request can now use the \[] names for ff, ffi, and
ffl ligatures properly, i.e. ".flig R ff \[ff]" works (bug reported by
Sebastian Leusch).
* troff: Pseudo-ligatures for ff, ffi, and ffl are no longer added to fonts
that do not contain the respective base characters. This makes it possible
to use a fallback sequence like ".fallback R XX FF", where XX does not
contain ff ligatures, but FF does, and to get the ligatures from font FF
as expected (bug reported by Sebastian Leusch).
* [nt]roff: Using ".hy" or ".nh" is now effective for the last word of a
"\@{...\@}" inline environment.
* The file "grap.defines" is now installed again; it was omitted in the
previous release.
* When generating a RPM package, install all manual pages into
"/usr/share/man/5man" to avoid conflicts with manual pages of
packages supplied by the distribution default packages.
Release 070318
* [nt]roff: The concept of an "inline environment" has been introduced.
An inline environment contains the values of the current point size, the
current font, the current escape character, and other similar parameters.
It can be saved with "\@{" and then restored with "\@}". Unlike the "\s0"
and "\fP" escape sequences, inline environments form a stack. Thus after
executing "\fB...\@{\fR...\@{\fI...\@}...\@}", the current font is "B"
again, while it would be "I" with "\fB...\fR...\fI...\fP...\fP". Inline
environments can be used to represent constructs like "<i>...</i>" in
HTML, which would be translated as "\@{\fI...\@}".
* [nt]roff: A modulo zero operation (N%0) is now ignored and causes a
warning of the "range" type to be issued. It could previously lead to
a core dump because of an arithmetic exception.
* [nt]roff: In paragraph-at-once adjustment mode, ".in" and ".ll", when
invoked from traps, now have a permanent effect; such settings were
previously discarded at the end of the paragraph. What still does not
work is "'in" outside a trap with a value relative to the indent set
inside a trap.
* [nt]roff: An internal problem with paragraph-at-once line breaking mode
has been fixed; it caused a ".in" or ".ll" command to be ignored under
rare circumstances.
* [nt]roff: At the end of input in paragraph-at-once line breaking mode,
make sure that any partial paragraph is flushed before executing other
termination procedures. The previous failure to do so lead to missing
output at the end of the document if it did not fit on the current page.
* troff, dpost: OpenType and TrueType fonts with Unicode platformID cmap
tables are now supported for reading Unicode character mapping tables.
Previously, only Microsoft platformID cmap tables were supported, and
others were ignored.
* troff, dpost: Fixed a null pointer dereference that occurred when an
illegal glyph ID was encountered in the "liga" table of an OpenType
font.
* troff, dpost: Apple TrueType fonts with a "true" header magic are now
actually supported; they could previously only be read by otfdump.
* [nt]roff: ".ev \}" has now been actually fixed (Bugreport by Dirk-Wilhelm
Peters.)
* -man macros: ".P" is now recognized; it is the same as ".PP".
* -man macros: ".I \fR other-args" is not ignored anymore; same for
".B", ".SM", and ".SB".
* Unix 6th Edition manual macro packages have been added.
* -mandoc macros: Recognize Unix 6th Edition pages.
* showfont.sh: Font file arguments with absolute path names are now
supported.
Release 070202
* [nt]roff: The "\J" escape sequence has been introduced to specify a
default line breaking penalty; useful to discourage line breaks within
a person's name or a formula. Relative values in the "\j" sequence now
refer to the default penalty value.
* dpost: A manual page has been added since it has now been released by
Sun under the CDDL license.
* -man macros: The ".TP" macro has been fixed not to spread the initial
string. This is particularly for use in combination with "-mpadj" since
paragraph-at-once line breaking can lead to more spreading in the first
line.
* [nt]roff: Special characters like "\}" do now terminate environment
names in arguments to the ".ev" and ".evc" requests as with other names.
Thus ".ev \}" is no longer misinterpreted as an attempt to change to an
environment named "\}". (Bugreport by Dirk-Wilhelm Peters.)
* dpost: Cast size_t arguments to long for printf (Stefan Tramm).
* The reference manual now uses the free TeX Gyre Termes fonts available
from <http://www.janusz.nowacki.strefa.pl/>. For this and the other
documentation texts, README files have been added to explain which
fonts are needed in order to build them. (Thanks to Werner Lemberg for
notification.)
* Several manual pages have been moved from "BSD Compatibility" to the
standard sections if they had not actually been part of the SVR4 BSD
compatibility package.
Release 061212
* [nt]roff: Relative numbers can be used with the ".pshape" request now;
they refer to the preceding indent and line length pair, or, for the
initial pair, to the standard indent and line lenght settings.
* [nt]roff: A warning of the "range" category is now printed when the
indent is set to a value exceeding the line length.
* troff: In ".ad p" mode, when a line break was inserted after an
existing hyphen or em dash, another hyphen was added when the previous
characters formed a kerning pair. This has been fixed.
* troff: In ".ad p" mode, when the character before the first interword
space formed a kerning pair with the space character, the line length
was incorrectly computed, and the line was prolongated by this amount.
This has been fixed.
* troff: The "\{", "\}", and "\x" escape sequences inhibited kerning in
the adjustment computation but not in the output routine, which could
lead to prolongated output lines. They now inhibit kerning completely.
* eqn: Generated equations no longer start with "\x'0'". This allows
kerning with the preceding character in an inline equation.
* nroff: The content of a "\X" function is now ignored (instead of being
printed with zero width).
* nroff: Combining UTF-8 characters are now assumed to have width zero.
* nroff: The ".rd" request has been fixed; it had not been working since
the last release.
* troff: The ".rd" request now accepts locale-dependent input characters.
* [nt]roff: Fixed an error in ".ad p" mode which could lead to core dumps
with ".ev" requests that were not properly paired.
* nroff: Hyphenation of words containing non-ASCII characters now really
works; such characters were erroneously dropped with the last release,
leading to incorrect hyphenations in some cases.
* troff: Use of the "\s+[n]", "\s-[n]", "\s+'n'", or "\s-'n'" escape
sequence forms now leaves the arithmetic unit handling in a clean
state. The previous failure to do so lead to wrong numeric results
under certain circumstances; in particular, it caused the "over" eqn
keyword to produce incorrect output.
Release 061114
* [nt]roff: The units "t" (printer's point), "T" (printer's pica), "D"
(Didot point) and "C" (cicero) have been introduced.
* [nt]roff: ".ad p" mode no longer employs a temporary diversion; the
lines are now written directly to the current output level, possibly
interrupted by trap processing. This makes it possible to use "'in"
and ".ll" inside a paragraph, although the line breaking decisions
may be suboptimal in this case.
* [nt]roff: The ".hypp" request now accepts a third argument specifying
a penalty for hyphenating the last word of a paragraph.
* nroff: Characters are now internally stored as 64-bit integers as
in troff. As a consequence, hyphenation of words in international
languages now works if non-ASCII characters are involved.
* [nt]roff: A memory allocation error that could occur with extensive
use of output-line traps has been fixed.
* [nt]roff: A control character written in a diversion is now correctly
interpreted when the diversion is re-read (unless in groff compatibility
mode). This fixes the ".AU" macro of "-mm".
* [nt]roff: The "\R" escape sequence works correctly again; in the last
release, it had inserted the letter "R" into the text.
* [nt]roff: Long names including a string in their name are now handled
correctly, e.g. ".nr x\*yz 1" no longer tries to set the register "x\*y"
to the value "z".
* [nt]roff: Fixed some more memory access problems that had been introduced
with support for local variables.
* [nt]roff: Fixed a non-local goto error that could lead to segmentation
faults with ".ad p" at the end of the input.
* [nt]roff: Fixed a problem in ".bp" that could lead to the page number
being reset to zero in ".ad p" mode.
* [nt]roff: A null pointer dereference in ".ad p" mode that occured when
nofill mode was activated while a partial paragraph was present has been
fixed.
* -ms: The ".IX" index macro now works in ".padj" mode.
* -me: The ".(x" and ".)x" index macros now work in ".padj" mode.
* A "-mpadj" macro set has been added. It simply executes ".do padj"
and is useful to enable paragraph-at-once adjustment from the command
line.
Release 061106
* [nt]roff: Support for paragraph-based justification has been added,
enabled with ".ad p". The "Justification in Heirloom Troff" document
has been expanded to cover the new features.
* [nt]roff: The ".hylen" request has been introduced to control the
minimum number of characters a word must contain in order to be subject
to hyphenation. The default is 5 independent of whether the ".hylang"
request is active (in that case, it previously had been 4).
* [nt]roff: The ".pshape" request has been introduced to control the shape
of a paragraph in ".ad p" mode.
* [nt]roff: The ".hypp" request has been introduced to control penalties
of hyphenation points in ".ad p" mode.
* [nt]roff: The ".padj" request has been added; it enables ".ad p" mode
globally in all environments. It is most useful to enable paragraph-at-
once adjustment in existing documents.
* [nt]roff: The "\j" escape sequence has been introduced to specify custom
penalties for line breaks in ".ad p" mode.
* troff: The ".char" request is now able to construct replacements for
otherwise unknown locale-specific characters.
* troff: Fixed a typo in the hyphenation code that could result in the
insertion of a large negative vertical motion in a word containing a
character above Unicode point U+0800.
* troff: Fixed "\H" and "\S" to become effective if positioned directly
after a font change (Bugreport by Dirk-Wilhelm Peters).
* [nt]roff: The ".pull" request (introduced in the previous release) has
been removed again. It is recommended that the traditional approach to
re-divert text is used instead.
* [nt]roff: Fixed an invalid memory access that had been introduced with
local strings in the last release.
* troff: Fixed a segmentation violation if a ligature in a hyphenated
word was not in the current font (Bugreport by Dirk-Wilhelm Peters).
* troff, dpost: Fixed a rounding error when reading TrueType metrics.
* dpost: Fixed a bug introduced with the previous release that caused
PostScript errors on a page following colored text unless the "-e"
option was explicitly specified.
* dpost: Now handles DSC font comments in included PostScript files and
supplies glyph data for them if specified with a troff ".fp" request.
* dpost: Fixed to compile on NetBSD again (Bugreport by Dirk-Wilhelm Peters).
* eqn: Handles fractional point sizes with "size" and "gsize" now.
* tbl: Fixed a segmentation fault with empty tables that occurred due
to the changed memory layout introduced in the last release.
* A "Quickstart Guide" document has been added. It is aimed at people
who know other variants of troff to some extent and want to explore
Heirloom troff.
Release 061010
* A simplistic XSLT stylesheet to convert OpenDocument text to troff input
has been added. See the comments in the file "stuff/odt2tr.xsl" for usage
instructions.
* [nt]roff: Local strings and number registers are now supported. They can
be defined using ".lds", ".lnr", and ".lnrf". A local string or register
is visible only in the instance of the macro in which is has been defined
and can then be accessed like a standard global string or register.
* [nt]roff: The ".pull" request has been introduced to print text of a given
height from a diversion and remove it afterwards.
* [nt]roff: The ".writem" request has been added to write the contents of
a string, macro, or diversion to a file stream.
* [nt]roff: The ".dwh" and ".dch" requests have been introduced to allow
multiple diversion traps in the same diversion.
* [nt]roff: The ".trin" (translate but retranslate with ".asciify") and
".trnt" (translate but not in transparent mode) requests have been added.
* [nt]roff: The "\n[.dilev]" register contains the current diversion level.
* [nt]roff: The "\B" escape sequence (check for valid numerical expression)
is now available in regular mode too, not only in groff compatibility mode.
* troff: The second argument to the ".fkern" request now specifies a minimum
absolute amount for kerning pairs read from font metrics files. Kerning
pairs with smaller adjustments are ignored.
* tbl: Can now optionally use graphic drawing commands (troff "\D") instead
of repeated-character line drawing (troff "\l" and "\L"). The "graphics"
option enables it per table, and the "-g" command line option enables it
globally.
* tbl: The static limits on the number of table lines, columns, and heading
lines have been removed. In effect, all lines of a table are considered
when the column widths are computed, and ".T&" can occur at any line.
* tbl: The "nokeep" option causes tbl not to write a ".ne" command for a
boxed table.
* troff: The CW, CI, CB, and CX fonts no longer substitute the "fi" and "fl"
ligatures with the "devps" device. This is consistent with "devpost".
* [nt]roff: If a word starts with a motion followed by a hyphenation
indicator, such as "\h'1m'\%text" or "\|\%text", hyphenation for the
word is now suppressed, and no hyphen is generated.
* [nt]roff: When text from a diversion is output or rediverted, it is no
longer subject to character translations specified with ".tr" and ".ftr".
* [nt]roff: In groff compatibility mode, unless a string is interpolated
with explicit arguments, the arguments to the surrounding macro instance
remain visible and can be referenced by "\$" from within the string.
* [nt]roff: The ".length" and ".index" request now strip an initial """ in
their last argument to allow initial white space.
* [nt]roff: The blank line macro is not called when a diversion is reread
in nofill mode anymore.
* troff: The escape sequence "\s[0]" now resets the point size to the
previous value as "\s0" does.
* [nt]roff: Arbitrary delimiters are now allowed with "\s''" escape
sequences.
* [nt]roff: Fixed a bug that caused ".shift" without arguments to be ignored
if the last previous numerical expression was invalid.
* troff: The indent of the current line is no longer part of a PDF link
that continues from the previous line.
* [nt]roff: ".rm" and ".rr" no longer issue a warning if one of their
arguments is not a defined macro or register, respectively.
* troff: Fixed an error that sometimes caused the "x X Track" command to miss
in intermediate output.
* troff, dpost: The short font name is now part of the "x font" commands
in intermediate output for Type 1, TrueType, and OpenType fonts.
* troff: Before generating an "x X" command because of a "\X" or "\Y" escape
sequence, the current horizonal position is now emitted to intermediate
output. This makes input like "\h'1i'\X'anything'" work as expected.
* troff: Changes between environments with different ".ss" settings are now
handled correctly.
* dpost: The default encoding for the "ps" device is now "3".
* dpost: The PostScript "awidthshow" operator is now used with the "-e2" and
"-e3" encoding options, resulting in reasonable output in combination with
the ".track" request.
* dpost: With the "-e2" and "-e3" encoding options, use only word spaces as
indicated by troff for the "widthshow" PostScript operator. This usually
results in slightly larger PostScript output but is better encodable when
distilled to PDF so that PDF files become smaller.
* troff: An internal character width caching error has been fixed; it could
lead to misaligned characters when setting text in fonts containing more
than 400 characters.
* troff, dpost: Can now handle fonts with up to 65534 characters.
* eqn: Avoid to recognize delimiters inside troff escape sequences with "("
or "[" as well as directly behind a sequence of backslash characters.
* -mm macros: Fixed a bug which caused .ML output to disappear unless in
troff -x0 mode.
Release 060905
* [nt]roff: The new ".brnl" request causes a break each time a newline is
encountered at the end of a text input line. Unlike nofill mode, text is
still wrapped to the line length.
* [nt]roff: The new ".brpnl" request causes a break and a spread each time
a newline is encountered at the end of a text input line (as if it were
attached a "\p"). The "\p" escape sequence changes its semantics in this
mode and causes a break without a spread.
* [nt]roff: The new ".lpfx" request allows to print a string whenever
a new output line is started. This is mainly useful to implement a
historic form of block quotation.
* [nt]roff: The predefined number registers "\n[.in]", "\n[.hy]",
"\n[.int]", "\n[.lt]", "\n[.pn]", "\n[.psr]", and "\n[.sr]" have been
added.
* [nt]roff: The semantics of the number registers "\n(.x" (remaining space
on current output line) and "\n(.y" (current actual indent) are now
documented.
* [nt]roff: The "\n[.kc]" register has been introduced; it holds the width
of a word interrupted with "\c" on output.
* [nt]roff: Control and escape characters written in a diversion are now
regular characters in groff compatibility mode.
* [nt]roff: It is not a fatal error if the file specified with ".so" is not
accessible in groff compatibility mode.
* [nt]roff: The value of the "\n(.k" register is computed differently in
groff compability mode now.
* [nt]roff: The -mg macros now provide the fonts "C" and "CR".
* [nt]roff: The -mg macros now provide an emulation of the ".mso" request.
* [nt]roff: The command line options "-ds=x" and "-ra=N" are now accepted,
thus the string or register name before "=" can consist of more than one
character.
* [nt]roff: The ".rd" request now works again; it caused a segmentation
fault since several releases.
* [nt]roff: Formatting of a ".char" object immediately before a trap is
executed no longer causes pending input text to disappear (bug reported
by Sebastian Leusch).
* troff: The escape sequence form "\s[+-]'n'" now works with fractional
point sizes.
* troff: With xflag 0, fractional parts and units are now ignored with
the ".ps" command.
* [nt]roff: With xflag 0, ".if !..." works correctly again.
* [nt]roff: When copying text to a macro, if a line appeared that was a
prefix of the terminating macro, its last character was copied twice
(e.g. "..." with the standard ".." was copied as "...."). This has been
fixed.
* -me macros: The macros now work with xflag > 0.
* [nt]roff: The distance to the next trap, and, accordingly, the "\n(.t"
register, can now be larger than the maximum allowed motion with "\h"
and "\v". This allows very long pages without a "trap botch" error,
although vertical motions on such pages may require multiple "\v"
commands.
* [nt]roff: Fixed a reallocation problem that caused segmentation faults
with some compilers.
* [nt]roff: Fixed the "-u" option not to cause a segmentation fault.
* [nt]roff: The "\n(.S" predefined number register has been removed again
since it conflicts with use of this name by "dot -Tpic". (The "\n[.tabs]"
register continues to be available with the same semantics.)
* troff: There is now a "lc_ctype" keyword in the DESC file for the sake
of legacy post-processors that do not understand "x X LC_CTYPE".
* dpost: Use the device given by "x T" in intermediate language for reading
font files only if its name starts with "ps" or if it has the "afmfonts"
keyword in its DESC file; otherwise use "devpost".
* tbl: The forms "f (X)", "w (x)", and "fX." are now accepted in column
specifications.
Release 060813
* [nt]roff: A new type of traps is available: output-line traps. They are
set with the new "\P" escape sequence and are invoked when the line that
contains the corresponding sequence has been output.
* [nt]roff: The ".index" request has been added to determine the position
of a string within a string or macro.
* [nt]roff: Floating-point registers have been introduced; they can be
created and modified with the ".nrf" request and are otherwise like
standard integer number registers, with which they share a common name
space.
* [nt]roff: The ".if f expr" condition has been introduced to evaluate
an expression with floating-point computation.
* [nt]roff: Exponential notation, as in "1e+10", is now supported in
numerical expressions.
* [nt]roff: Debugging requests for watching macros, strings, and number
registers have been added.
* [nt]roff: The ".errprint" request has been added to write custom strings
in the same format as internal error messages.
* [nt]roff: The ".cp" request has been added to control compatibility with
groff.
* [nt]roff: The "-mg" macro package has been added for improved support of
groff documents, preprocessors, and macro sets.
* [nt]roff: The ".while", ".break", and ".continue" requests have been
added as another method to process input repeatedly.
* [nt]roff: Space characters inside parentheses in numerical expressions
are now permissible, i.e. they are discarded and do not terminate the
expression.
* [nt]roff: The ".char", ".fchar", and ".rchar" requests have been added
to transform a single input character to multiple output characters.
* [nt]roff: The ".ecs" and ".ecr" requests have been added to save and
restore the escape character.
* [nt]roff: The ".shc" request has been added to set the soft hyphen
character.
* [nt]roff: The ".hcode" request has been added to specify character
mappings for hyphenation purposes.
* [nt]roff: The sets of sentence-ending and transparent characters are
now configurable with the ".sentchar" and ".transchar" requests.
* [nt]roff: The set of optional line break characters (normally hyphen
and em dash) is now configurable with the ".breakchar" request.
* [nt]roff: The ".nhychar" request defines a set of hyphenation-
inhibiting characters (as hyphen and em dash with traditional troff
hyphenation).
* troff: The second argument to the ".ss" request now actually sets the
size of the sentence-end space instead of just switching it on or off.
* [nt]roff: The ".unformat" and ".asciify" requests have been added to
remove the effects of adjustment, and font and point size information,
respectively, from a diversion.
* [nt]roff: The "\Z'string'" escape sequence (print string and restore
the position afterwards) has been introduced.
* [nt]roff: The ".als" request has been added to create an alias name
for a request, macro, or string.
* [nt]roff: The ".aln" request has been added to create an alias name
for a number register.
* [nt]roff: The ".rnn" request has been added to rename a number register.
* [nt]roff: The ".box" request has been added; it is like ".di" but saves
and restores a previous partially filled line.
* [nt]roff: The ".spacewidth" request has been introduced to default to
the width of the space character as obtained from the font metrics file.
* [nt]roff: The ".rj" request (right-align next input lines) has been
added. The ".rj" number register that holds the number of remaining
lines to be right-adjusted has been added.
* [nt]roff: The ".ce" number register that holds the number of remaining
lines to be centered with the ".ce" request has been added.
* troff: The "\Yx", "\Y(xx", or "\Y[xxx]" escape sequence has been added
to output the contents of the string or macro x, xx, or xxx, respectively,
as a device control function.
* [nt]roff: The "\$0" escape sequence has been added to refer to the name
of the current macro or string.
* [nt]roff: The "(c;e)" numerical expression function has been added to
evaluate "e" using "c" as default scale indicator.
* [nt]roff: The "M" (Em/100), "s" (= "u"), and "z" (= "p") scale indicators
have been added.
* [nt]roff: The ".ta T Nt Mu" syntax to set tab stops repeatedly is now
supported.
* [nt]roff: The "\n(.S" and "\n[.tabs]" registers have been added to save
and restore tab stops.
* [nt]roff: The "\n[.ev]" number register has been added as a method to
determine the name of the current environment.
* troff: The "\n[rst]" and "\n[rsb]" registers are set by the width function
to the highest and lowest extent of the bounding box of any character.
This currently only works for Type 1 and TrueType fonts.
* troff: The "\n[.cht]" and "\n[.cdp]" registers are set to the highest
and lowest extent of the bounding box of the previous character. This
currently only works for Type 1 and TrueType fonts.
* [nt]roff: In extension level 1, long string "\*[xxx]", register "\n[xxx]",
and font "\f[xxx]" names are no longer recognized unless they are on a
line beginning with the ".do" request.
* [nt]roff: The "\n[.ps]" number register, which holds the current font
size in device units, has been added.
* [nt]roff: The "\E" escape sequence has been fixed; it does not resolve
to a printable but to an effective escape character now.
* [nt]roff: The "\)" escape sequence (like "\&" but transparent for
sentence ending) has been added.
* [nt]roff: Static limits on word and line size have been eliminated.
* [nt]roff: The "\{", "\}", "\&", "\%", "\c", and "\(space)" escape
sequences terminate two-character request names now.
* [nt]roff: The ".tm" and ".write" commands now discard formatted motion
sequences.
* troff: The ".psbb" request now reads a "%%HiResBoundingBox" DSC comment
in preference to "%%BoundingBox"; the registers it assigns to are now
floating-point registers.
* troff: The ".psbb" request now properly supports the "(atend)" syntax in
PostScript DSC input files.
* nroff: The ".psbb" request has been made a no-op since nroff cannot
otherwise handle EPS documents anyway.
* [nt]roff: The "right-brace" warning category has been added.
* [nt]roff: Calls of ".vs" that result in negative numbers are now
ignored.
* [nt]roff: The width function "\w" now takes pairwise kerning into
account.
* [nt]roff: The ".return" request has been fixed not to ignore the next
line of input when followed by text on the same line.
* [nt]roff: The second argument of the ".ss" request now also applies
to sequences of space characters that follow a sentence end character.
* [nt]roff: The "\k[name]" escape sequence has been fixed to work if
"name" has not been previously been used.
* [nt]roff: The "\(dq" character has been introduced as an alternate name
for the ASCII double quote character.
* dpost: Character height and slant changes now only apply to the current
font as documented.
* tbl: When ending macros in generated code, ".00" is now used instead
of "..". This allows the use of ".ig" and similar requests within "T{"
etc. without interference.
* pic: Accept "{lower|upper} {left|right} of" as aliases for ".nw", ".sw",
".ne", and ".se".
* pic: Continued newlines in expressions like "center \<newline>of" are
now accepted.
Release 060716
* troff: The ".letadj" request has been added to enable dynamic letter
spacing and letter reshaping when justifying lines.
* troff: Font and size attributes of space (and newline) characters in
input are now honored for computing widths and kerning pairs. Previously,
font and size of space characters were always that of the next printable
character; this is retained with the -x0 option. This means that e.g. in
"\f(CWabc \fRdef", the size of the space is now computed from the
constant width font instead of the roman font.
* [nt]roff, dpost, daps: The character name "\(rs" for backslash has been
introduced.
* nroff: "\[xx]" and "\C'xx'" result in the same character as "\(xx" now.
* [nt]roff: The ".nx" request now works again, it previously caused
a segmentation fault because of a null pointer dereference (bug
reported by Michael Hobgood).
* [nt]roff: With the ".hylang" request, words that consist of four
characters are now subject to hyphenation (with the traditional
hyphenation, five characters are the minimum length).
* [nt]roff: The ".hy" request accepts the additional flags 16 and 32 that
allow the last or first character of a word, respectively, to be split
off.
* troff: Giving no arguments to ".minss" now deactivates this mechanism.
* troff: ".minss" now has no effect unless in ".ad b" mode as documented.
* [nt]roff: The ".ss", ".sss", ".minss", ".lspmin", ".letss", ".lspmax",
".lshmin", ".lshmax", ".lc_ctype", ".hylang", and ".fzoom" number
registers have been added to retrieve the current values set with the
respective requests.
* [nt]roff: The forms "\s+-'dd'", "\s+-[dd]", and "\s[+-dd]" of the size
change escape sequence are now understood.
* [nt]roff: The ".nop text" request (use text as input) has been added.
* [nt]roff: The escape sequence "\R'R +-N'" to set the value of a number
register has been added.
* [nt]roff: String references now accept arguments with the \*[xx arg ...]
escape sequence.
* [nt]roff: The ".blm xx" request has been added, it causes ".xx" to be
called whenever a blank line is encountered.
* [nt]roff: The ".itc" request (input trap not counting "\c") has been
added.
* [nt]roff: The ".hlm" request and the ".hln" and ".hlc" number registers
have been added to control the maximum number of consecutive hyphenated
lines.
* [nt]roff: The "\#" escape sequence (comment including newline) has been
added.
* [nt]roff: With xflag 3 and warning "mac" deactivated, if ".xx" was a
defined request and ".xxx" was not, ".xx" was executed for ".xxx".
* [nt]roff: Several segmentation violations that occurred with arbitrary
binary data as input have been fixed.
* troff, dpost, otfdump: The operator 12 in CFF Top DICT entries was not
handled correctly, resulting in misleading error messages with some
OpenType fonts. This has been fixed (bug reported by D. Jeff Dionne).
Release 060619
* troff: The ".minss" request has been added. It allows troff to decrease
the size of the word space below the value set by ".ss" when adjusting
lines at both margins.
* troff: The ".kernpair", ".kernafter", ".kernbefore", ".lhang", and
".rhang" requests now also accept groups of characters to which the
same kerning/hanging value is applied.
* [nt]roff: It is now possible to use strings inside macros names (e.g.
".xx\*(yy" as documented.
* [nt]roff: The ".if d", ".if n", and ".rr" requests erroneously applied
to a shorter two-character name if an undefined longer name was given
as an argument; this has been fixed.
* troff: The ".fkern" request now properly refers to a single mounted
instance of a font; it previously affected all mounted instances of
one font metrics file.
* troff: Character replacements with ".tr" where the target character
does not originate from the current font but is found in the fallback
sequence are now performed correctly. Previously, an invalid heap
access could occur, resulting in the choice of random characters.
* troff: Margin characters set with ".mc" are now correctly placed in
combination with hanging characters set with ".rhang".
* [nt]roff: It is legal to call ".it" or ".dt" without arguments, thus
a warning is no longer issued in this case.
* troff: Selecting one of the base fonts with ".ft" without a previous
".fp" works again; it was broken in the last release.
Release 060430
* troff/dpost: Links and anchors in PDF documents can now be defined;
"\A" and "\T" escape sequences have been introduced for this.
* [nt]roff: Tail-recursion elimination for macro calls has been added.
This allows recursive macro calls of arbitrary depths when the call
to itself occurs in the last line of the macro.
* troff: The ".fkern" request has been introduced to disable the use of
the kerning tables of specific fonts.
* [nt]roff: The "\V" escape sequence has been introduced; it prints the
value of an environment variable.
* troff: An explicit "N" font register argument to the ".fp" request may
now be an arbitrary number between 1 and 255.
* troff: The "\n[.fp]" number register has been introduced to make it
possible to determine the next unused font register.
* [nt]roff: The "-daS" command line option has been added to define the
string "a" to "S".
* [nt]roff: The ".output" request has been added to write a command to
intermediate output regardless of whether there is a current diversion
or not (unlike "\!").
* [nt]roff: A warning is now issued when a non-ASCII byte is found in
a name (of a request, number register, etc.) with the "input" warning
category.
* [nt]roff: Long request names as second arguments to macro definitions
(as in ".de xx longname") are now handled correctly.
* [nt]roff: The ".close" request has been fixed; repeated calls to it
could previously result in lost file stream descriptors.
* troff, otfdump, dpost: The end of floating point values in CFF data is
now properly recognized; the previous failure to do so could result in
errors like "invalid operand b0 range 255" with valid OpenType fonts.
* troff: In TrueType fonts with version 3.0 "post" tables, characters that
lack a Unicode mapping can now be accessed as "\[index0xN]".
* [nt]roff: The need for the sbrk() system call has been eliminated; the
regular system malloc() is now used.
Release 060409
* dpost: An error that could lead to invalid PostScript output when the
last character of a long output string sequence was a backslash has
been fixed.
* troff: The ".flig" request has been enhanced to enable the definition
of arbitrary font-specific ligatures, e.g. ".flig R Th \[T_h]" could
be used for a "Th" ligature. The previous syntax is still accepted.
* troff: If a hyphentation point occurs within an automatically created
ligature, the ligature is now split into its parts.
* troff: The "\;" escape sequence has been introduced as a ligature
suppressor without other side-effects.
* troff: The ".fdeferlig" request has been introduced. It defers building
of a ligature by one character, e.g. if both "ff" and "fi" are defined
as ligatures and "ffi" appears in input, a single "f" followed by the
"fi" ligature can be constructed instead of a "ff" ligature followed by
a single "i".
* [nt]roff: The hyphenation language as set by the ".hylang" request is
now specific to the current environment.
* [nt]roff: The ".substring" and ".length" requests have been added to
replace a string by a substring of it and to determine the length of
a string, respectively.
* troff: No longer prints a warning when a font selected with ".ft" is
not currently mounted but can be mounted in position 0.
* nroff: No longer prints a warning when a font is selected with ".ft".
* nroff: Multibyte characters are now emboldened correctly. Previously,
the number of backspace characters output corresponded to the length
of the multibyte sequence instead of the column width of the character
(bug reported by Alexander E. Patrakov).
* dpost: The line width for drawing has been fixed; previously, lines
were 100 times too slim with the "ps" device.
* troff: The "\C'xxx'" escape sequence is now available; it selects a
named character with the same effect as "\[xxx]".
Release 060321
* An revised version of the "Nroff/Troff User's Manual" is now available
in the directory "doc/troff". It replaces the "NEWS" and "PDFS" text
files; these have been removed.
* A typeset version of "Font Handling in Troff With PostScript Devices"
is now available in the directory "doc/fonts". It replaces the "FONTS"
text file that has been removed.
* [nt]roff: Hyphenation is now enabled by default. This is compatible
with most other versions of troff, but differs from Solaris troff.
* troff/dpost: The characters \(or \- \` \' " # < > @ \ ^ ~ are now
taken from the current font instead of the special font by default
if possible with the "ps" and "psmed" devices. The new DESC keyword
"allpunct" controls this.
* troff: Kerning pairs from font metrics files that include "\[name]"
characters now work correctly; they could previously apply to wrong
characters with font files containing more than 260 characters, and
were ineffective with smaller ones.
* troff: OpenType and TrueType kerning pairs with a position difference
of zero are now completely ignored. They could previously overwrite a
previous positioning difference for the same pair. Also if a kerning
pair occurs more than once in the metrics file, the first definition
read is now used instead of the last one.
* troff: In an OpenType font, if a kerning pair occurs in both a "Pair
Positioning Adjustment" format 1 (kerning by specific glyphs) and a
format 2 (kerning by glyph classes) table, the format 1 definition
is now always used.
* tbl: Storage space expansions because of long lines inside a table are
now done properly.
* troff: The "\n[.ascender]" and "\n[.descender]" registers contain the
typical extents of the current font above and below the base line,
scaled to the current point size.
* troff: Zero-width space characters are no longer considered word space
when a line is justified. This fixes "\X" device control functions in
diversions.
* dpost: The metrics of the underscore character in the PostScript Symbol
font (which is mapped to "\(ul" and is used to draw horizontal lines)
are now dynamically adjusted in the generated PostScript code. This
works around varying metrics of this character in different versions
of the Symbol font. Note that this does not work in PDF unless the
font is embedded at the time the document is distilled.
* dpost: The "\(sq" glyph is now filled in any font with a "Weight" entry
of "Bold", "Ultra", or "Heavy".
* dpost: The "post" device works again; dpost previously crashed with a
null pointer dereference when it was used.
* troff/dpost: EPS files that contain carriage-return characters as
newline indicators are now correctly handled with the ".psbb" request
and the picture inclusion mechanism.
* [nt]roff: The "\(.z" number register handles diversion names longer
than two characters properly now.
* [nt]roff: Requests like ".bd" or ".kernpair" now warn when an invalid
font name is given.
* [nt]roff: No "illegal number" warning is printed anymore when a "\}" is
found as part of a possibly numeric argument, as in e.g. ".bp \}".
* [nt]roff: The ".mc" request does not require an argument so no warning
is printed if it is given none.
* dpost: When a PDFMark Bookmark command is issued at the beginning of
a page of intermediate output before any text has been printed, the
value "4" is now substracted automatically to make the PDF viewer
show the whole page top including margin.
* -mm macros: An error that was introduced when the macros were converted
to use spaces between a request name and its arguments has been fixed.
It sometimes caused the page offset to be wrong.
Release 060221
* [nt]roff: With the ".hylang" request, the individual parts of words
composed by "-" or "\(em" characters are now subject to hyphenation.
* troff: The ".fspacewidth" request has been introduced to set the width
of the space character of a font.
* troff: For monospaced fonts, the space width is now set to the size of
the "space" character in the AFM/TrueType/OpenType font metrics. This
matches the traditional behavior of the "post" device with the "Courier"
font, but was previously not done for "ps", which led to incorrect
formatting.
* troff: Non-ASCII small characters were erroneously mapped to uppercase
input characters. They are now mapped to lowercase input characters as
it is done for ASCII characters.
* troff: When a regular font was chosen as fallback for an expert font,
non-ASCII characters were selected from the regular font even if a
matching character in the expert font existed.
* [nt]roff: Additional conditions are available with ".if": "c" to test
for a glyph in the current font, "d" to test for the existence of a
macro, and "r" to test for the existence of a number register.
* [nt]roff: Three additional operators for numeric expressions are
available: "<>" (not equal), "<?" (minimum), and ">?" (maximum).
* [nt]roff: The input line number is now adjusted at a different place,
fixing many glitches which previously caused it to be wrong.
* tbl: The ".lf" troff request is now used internally to adjust troff's
idea of the current input file and line number, making troff warnings
more helpful.
* tbl: The ".warn" troff request is now used internally to save, disable,
and restore warning messages around those portions of tbl output which
use potentially undefined requests or registers.
* pic: The comments before ".PS" containing bounding box information are
now prefixed by '.\"' instead of '...' for compatibility with ".warn".
* [nt]roff: The "\n[.warn]" number register is now properly changed after
a call to ".warn" with no arguments.
* pic/dpost: The PostScript implementation of the "Dl" (draw line)
operation now rounds the current point to the troff device resolution
when testing for equality. This is another fix for "box fill 0" in pic.
* troff/dpost: A "x X LC_CTYPE localename" device command has been added.
This ensures that troff and dpost use the same locale for generating
PDF bookmark entries.
* dpost: CFF font data is now ASCII hex encoded in PostScript output.
Release 060208
* troff: Eastern European characters for Unicode/PostScript conversion
have been added (patch by Vladimir B. Machulsky).
* troff, dpost: Font file names can now contain spaces or bytes outside
the ASCII range. A "%xx" escape sequence, where "xx" are hexadecimal
digits, has been introduced in order to achieve this. The description
of ".fp" in the "NEWS" file contains details on this.
* [nt]roff: The ".vpt" request has been added to make it possible to
disable vertical position traps.
* dpost: With the ".track" command, the tracking amount was not properly
initialized at every page of PostScript output. This could result in
incorrect arrangements of characters.
* [nt]roff: Diagnostic messages now include the number of the current
output page.
* [nt]roff: Page breaks inside a diversion are now properly ignored.
* dpost: When a font was mounted replacing another font on the same
physical position, non-ASCII characters were not printed correctly
afterwards (bug reported by Vladimir B. Machulsky).
* dpost: The BookMark device command now causes "/XYZ" destination keys
to be written to PDF documents. This has the effect that the current
zoom factor is retained when a bookmark is selected.
* pic, grap: Fixed 8-bit input in label texts (bug reported by Vladimir
B. Machulsky).
* troff: The ".trimat", ".bleedat", and ".cropat" requests caused some
following requests (e.g. ".fp") to fail because of an improper reset
of number scaling (bug reported by Sebastian Leusch).
* troff: If the "\~" character appeared as part of the first word of
a line not immediately following a break, the current line and the
line before it were not justified correctly (bug reported by
Christian Schaper).
* [nt]roff: The ".spreadwarn" request was wrongly called ".spreadlimit"
in the NEWS file.
Release 060114
* troff: The internal codes for PostScript characters are now unique across
all fonts. In effect, requests like ".tr" or ".lc" now handle arbitrary
characters correctly, including locale-dependent ones.
* [nt]roff: The ".mk" request now accepts long register names.
* [nt]roff: Using ".wh" with an undefined long macro name now works as with
undefined short names; the macro is executed once it has been created.
* troff/dpost: PostScript characters are now passed as "CPSname" in the
intermediate output (instead of "Nnnn").
* troff/dpost/otfdump: Apple TrueType fonts with a "true" header magic can
now be read (thanks to Stefan Tramm).
* troff/dpost/otfdump: TrueType handling has been made more robust against
an error in Microsoft/Unicode "cmap" subtables.
* dpost: Error messages now include the number of the current output page.
* dpost: Color bars can now be generated with "-M colorbars", star targets
with "-M startargets", and all marks are enabled with "-M all".
* dpost: The ".mediasize" request now also causes a "%%DocumentMedia:" DSC
comment to be written. This enables some PostScript previewer programs
to determine the document size.
* troff: On a font mounted with ".fps punct", the "\(en" character is now
available as expected.
* pic/dpost: The PostScript implementation of the "Dl" (draw line)
operation has been fixed to move to the beginning of the line properly
even when "inpath" is set. This fixes "box fill 0" for pic.
* dpost: The geometry setup for drawing commands is now executed in the
setup section for each page. This makes pic work with filters that
re-arrange pages in PostScript.
Release 051227
* [nt]roff: A new extension level "3" is available. In this level, undefined
long requests whose first two characters form an existing short request
are ignored instead of being interpreted as short requests. Also string
and number register references are interpreted at any position of a
long request name in this level.
* troff: Unicode mapping tables from OpenType and TrueType fonts are now
used for converting input characters.
* troff: Locale-dependent input characters for which no matching glyph can
be found are now replaced by spaces.
* troff: The ".fps" request has been introduced to map troff special
characters like "\(*a" or "\(+-" to a custom font.
* [nt]roff: The warning category "missing" is now available; it includes
warnings about missing required arguments to requests.
* [nt]roff: The warning category "delim" is now available; it includes
warnings about missing delimiters to escape sequences.
* troff: The ".trimat", ".bleedat, and ".cropat" " requests have been added
to include advice about the "TrimBox", "BleedBox", and "CropBox" page
parameters to a PDF distiller command, particularly for PDF/X generation.
* dpost: The "-M" option has been added. It can be used to print cut marks
("-M cut"), registration marks ("-M registration"), or both cut marks and
registration marks ("-M cut:registration") in combination with the
".trimat" troff request.
* [nt]roff: The ".af" request now handles long register names correctly.
* troff: Kerning now works correctly in combination with leaders and
fields.
* troff: The ".tm" and ".write" requests now correctly handle locale-
dependent input characters as well as one-character escape sequences
that are interpreted in copy mode such as "\&".
* [nt]roff: The "-msafe" macro now correctly removes the ".do pso",
".do open", and ".do opena" requests in -x1 (default) mode. They
were previously removed in -x2 mode only.
Release 051212
* [nt]roff: The ".pso" request has been added; it reads the output of
a command as input to troff.
* [nt]roff: The ".tmc" request has been added; it works like ".tm" but
does not terminate the message with a newline.
* [nt]roff: The ".open", ".opena", ".write", ".writec", and ".close"
requests have been added. They work like ".tm" but write to a named
file.
* [nt]roff: The ".warn" request has been added; it enables additional
warning messages. The "\n[.warn]" register prints bits representing
the warning categories that are currently enabled.
* [nt]roff: The ".spreadlimit" request has been added; it can be used
to print a warning when the adjustment computed for an output line
exceeds a certain value.
* [nt]roff: The ".mediasize" request has been added; it causes dpost to
specify the page size using the PostScript "setpagedevice" operator.
This is mainly useful for creating PDF documents.
* [nt]roff: The "\n[hours]", "\n[minutes]", "\n[seconds]", and "\n[year]"
registers have been added to print more parts of the current time.
* [nr]roff: Availability of extensions is now controlled using an "-xN"
option, where "N" is the extension level. The previous "-x" and "-X"
options are still accepted.
* [nt]roff: A "-msafe" macro package has been added; it disables those
requests that allow to execute commands or to write to files. It is
mainly useful for viewing manual pages.
* pic: An "-S" option has been added to disable the "sh" element.
* grap: An "-S" option has been added to disable the "sh" command.
* nroff: Recognize the "\s'n'" escape sequence and discard it for
compatibility with troff.
* dpost: When writing Type 42 fonts, write the sfnts array in a different
order to avoid an error with Acrobat Distiller.
Release 051202
* [nt]roff: When text is written to a diversion in nofill mode, spacing
characters are preserved. This allows the text in the diversion to be
adjusted later when it is actually printed. The "-X" option disables
the new behavior.
* [nt]roff: The static limit on the number of if-else constructs has
been removed.
* [nt]roff: The static limit on the number of nested diversions has been
removed.
* [nt]roff: A maximum of 2000 characters (bytes) is now allowed as the
total of all arguments to a macro.
* dpost: The inclusion of PostScript pictures has been fixed; it could
generate invalid PostScript programs since release 051025 under certain
circumstances.
* dpost: A "x X PSSetup" device request to support a "\X'PSSetup: ...'"
escape sequence has been added. It can be used to include arbitrary
PostScript code in the setup section of the output file.
* dpost/troff -mcolor: CMYK colors and arbitrary PostScript color spaces
can now be used. The "setcolor" procedure in "color.ps" has been renamed
to "_setcolor" in order to make this possible.
* [nt]roff: A ".psbb" command is now available to retrieve the bounding box
of a PostScript document (particularly of an EPS image).
* dpost: DSC comments of included EPS images are now preserved.
* dpost: PostScript pictures that contain binary data can be included now.
* pic: Troff commands that begin with a "'" are now passed through.
* grap: Negative zeros in coordinate tick labels are now avoided.
* -man macros: Fixed the output of a very long line following ".TP".
* -mdoc macros: Changed the names of Courier fonts to \f(CW \f(CI to
match those of troff.
* RPM package builds now require the new "Heirloom Development Tools"
package from <http://heirloom.sourceforge.net/devtools.html> to be
installed.
Release 051107
* The "checknr" utility has been added from OpenSolaris source code.
* The "ptx" utility has been added from Unix 7th Edition source code.
* When a locale-dependent or font-specific character was used directly
after a macro that ended with a font switch, it was chosen from the
old font. This has been fixed.
* The ".hidechar" request now works correctly if the selected font is
not the current font.
* eqn: More narrow spaces are inserted at some roman/italic font changes
now to better match the appearance of the current fonts.
* grap: The file "grap.defines" has been moved to $(LIBDIR).
Release 051031
* The "-mpm" macros and the "pm" program have been added from Plan 9 source
code. They form a "-ms"-like package for vertical justification; the file
"mpm/README" explains some details.
* eqn: The generated troff program is now resolution-independent; the "-r"
option is no longer needed and is ignored.
* dpost: The elements of overbars, brackets, and braces align better now, in
particular in respect to documents distilled by Ghostscript.
* In the "man" macro package, ".B" and similar font change macros now accept
more than six arguments.
* tbl: The maximum length for "w(...)" width specifications has been raised
from 10 to 100.
* The "make install" procedures of refer and vgrind have been fixed to work
with RPM and similar package builds.
Release 051025
* The "pic" and "grap" utilities have been added from Plan 9 sources.
* The "vgrind" utility has been added from OpenSolaris sources.
* "refer" and related utilites have been added from OpenSolaris sources.
* [nt]roff: The new ".recursionlimit" request allows to change the maximum
permitted recursion depth for macro invocations from the default 512.
Release 051015
* troff, dpost, otfdump: Handle TrueType files with version 3.0 "post" table
and no Microsoft/Unicode "cmap" subtable.
* otfdump: Kerning information was omitted for all but the first font when
multiple font file arguments were given. This has been fixed.
* troff: Fonts that contain possible ligatures (fi, fl, etc.) in their file
names are now mounted correctly.
* dpost: Allow only the glyph at position 0 to be named ".notdef" when
generating Type 42 font data.
* dpost: No longer leaves a stale temporary file in /var/tmp.
* tbl: Inspects the first 4000 rows of a table now (instead of the first 200)
in order to determine column widths and "T{" blocks.
* tbl: Can handle more than 62 "T{" blocks per table now.
Release 051011
* troff/dpost: Support for OpenType fonts has been added. This includes
support for CFF-based (PostScript) OpenType fonts as well as support for
most TrueType fonts.
* otfdump: New utility that prints the contents of an OpenType font file in
an ASCII format just as troff interprets it.
* troff: A ".ftr" request has been introduced as a font-specific variant of
the ".tr" request.
* troff: A ".feature" request has been introduced to access special features
of OpenType fonts.
* troff: Kerning is now applied to pairs of characters that originate from
the same font mounted at two different positions.
* dpost: Can now access all characters in a large PostScript font, not only
the first 255.
* dpost: If the data in a PFB file to be included does not end with a
newline character, add one to the generated PostScript to achieve a
consistent DSC structure (Bugreport by Sebastian Leusch).
* dpost: The limit of characters with "x X" commands has been raised from
50 to 4096. This in particular allows to supply fonts with long path
names.
* The "-mcolor" macros have been added from Plan 9 sources.
Release 050920