<pre style='margin:0'>
Herby Gillot (herbygillot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/80327ba20ec0a75fec6395e4d6f3a9fc40eabdba">https://github.com/macports/macports-ports/commit/80327ba20ec0a75fec6395e4d6f3a9fc40eabdba</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 80327ba20ec a2ps: update to 4.15.6
</span>80327ba20ec is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 80327ba20ec0a75fec6395e4d6f3a9fc40eabdba
</span>Author: aeiouaeiouaeiouaeiouaeiouaeiou <aeioudev@outlook.com>
AuthorDate: Sun Mar 24 01:47:08 2024 +0300

<span style='display:block; white-space:pre;color:#404040;'>    a2ps: update to 4.15.6
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    * remove obsolete patches
</span>---
 print/a2ps/Portfile                               |  10 +-
 print/a2ps/files/implicit.patch                   | 122 ----------------------
 print/a2ps/files/patch-contrib_sample_Makefile.in |  11 --
 print/a2ps/files/patch-lib__xstrrpl.c             |  11 --
 print/a2ps/files/patch-ps-base.ps                 |  91 ----------------
 5 files changed, 5 insertions(+), 240 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/print/a2ps/Portfile b/print/a2ps/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9b550845868..0cb7381a26c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/print/a2ps/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/print/a2ps/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,8 +3,8 @@
</span> PortSystem          1.0
 
 name                a2ps
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             4.15.5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             4.15.6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> 
 categories          print
 license             GPL-3+
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,9 +18,9 @@ long_description    a2ps is a utilty that allows the user to do \
</span> homepage            https://www.gnu.org/software/a2ps/
 master_sites        gnu
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  cf26798f298a542ca7d7b6d98c3b9d2f14953953 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  81bb1b4104e7c2639762451edc9786daf3dfeb3884adfc7dc6ac9d208f30da7f \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    3571724
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  f4f61a0c3181366544028d755e1b5fae2e5890fe \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  87ff9d801cb11969181d5b8cf8b65e65e5b24bb0c76a1b825e8098f2906fbdf4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    3605392
</span> 
 depends_build       bin:psnup:psutils \
                     port:help2man \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/print/a2ps/files/implicit.patch b/print/a2ps/files/implicit.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 137f382508c..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/print/a2ps/files/implicit.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,122 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fix:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-error: implicit declaration of function 'puts' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-error: implicitly declaring library function 'malloc' with type 'void *(unsigned long)' [-Werror,-Wimplicit-function-declaration]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-error: implicitly declaring library function 'strlen' with type 'unsigned long (const char *)' [-Werror,-Wimplicit-function-declaration]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-error: implicit declaration of function 'ioctl' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-error: implicitly declaring library function 'abort' with type 'void (void) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure.orig 2007-12-28 21:28:03.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure      2020-12-29 21:20:42.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23909,6 +23909,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat >>conftest.$ac_ext <<_ACEOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* end confdefs.h.  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <stdio.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -24684,7 +24685,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cat >>conftest.$ac_ext <<_ACEOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* end confdefs.h.  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <stdio.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--int main () { exit (rename ("conftest.1", "conftest.2")); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int main () { return rename("conftest.1", "conftest.2"); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _ACEOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rm -f conftest$ac_exeext
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { (ac_try="$ac_link"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -27310,7 +27311,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      exit (malloc (0) ? 0 : 1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      return malloc(0) ? 0 : 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _ACEOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -27391,7 +27392,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      exit (realloc (0, 0) ? 0 : 1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      return realloc(0, 0) ? 0 : 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _ACEOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- lib/argmatch.c.orig    2007-12-28 19:37:53.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ lib/argmatch.c 2020-12-29 21:19:51.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -22,6 +22,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <stdio.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef STDC_HEADERS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # include <string.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- lib/path-concat.c.orig 2007-12-28 19:37:54.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ lib/path-concat.c      2020-12-29 21:22:53.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -31,7 +31,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <sys/types.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* char *malloc (); */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef HAVE_STDLIB_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifndef DIRECTORY_SEPARATOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # define DIRECTORY_SEPARATOR '/'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- lib/title.c.orig       2007-12-28 19:37:54.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ lib/title.c    2020-12-29 21:28:02.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -29,6 +29,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <stdio.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef HAVE_STRING_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# include <string.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if HAVE_VPRINTF || HAVE_DOPRNT || _LIBC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # if __STDC__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  include <stdarg.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- lib/tterm.c.orig       2007-12-28 19:37:54.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ lib/tterm.c    2020-12-29 21:26:23.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -63,7 +63,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # include <termios.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifdef HAVE_SYS_IOCTL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef HAVE_SYS_IOCTL_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # include <sys/ioctl.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- lib/obstack.h.orig     2007-12-28 19:37:59.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ lib/obstack.h  2020-12-29 21:41:26.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -109,6 +109,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifndef _OBSTACK_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define _OBSTACK_H 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef HAVE_CONFIG_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# include "config.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern "C" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/long-options.c.orig        2007-12-28 19:33:58.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/long-options.c     2020-12-29 21:44:25.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -22,6 +22,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <stdio.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef HAVE_STDLIB_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <getopt.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "closeout.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "long-options.h"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/print/a2ps/files/patch-contrib_sample_Makefile.in b/print/a2ps/files/patch-contrib_sample_Makefile.in
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0ef9e3600d9..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/print/a2ps/files/patch-contrib_sample_Makefile.in
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- contrib/sample/Makefile.in.orig        2009-02-21 05:14:32.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ contrib/sample/Makefile.in     2009-02-21 05:14:45.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -298,7 +298,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AUTOMAKE_OPTIONS = $(top_builddir)/lib/ansi2knr
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sample_SOURCES = main.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- INCLUDES = -I. -I.. -I$(top_builddir) -I$(top_srcdir)/intl -I$(top_srcdir)/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--sample_LDADD = $(top_builddir)/lib/liba2ps.la @LIBINTL@ -lm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+sample_LDADD = -lm $(top_builddir)/lib/liba2ps.la @LIBINTL@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- all: all-am
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .SUFFIXES:
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/print/a2ps/files/patch-lib__xstrrpl.c b/print/a2ps/files/patch-lib__xstrrpl.c
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 4294254e2d3..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/print/a2ps/files/patch-lib__xstrrpl.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- lib/xstrrpl.c.orig     2009-08-28 17:22:42.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ lib/xstrrpl.c  2009-08-28 17:22:45.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -22,8 +22,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <assert.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "xstrrpl.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--extern char * stpcpy();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Perform subsitutions in string.  Result is malloc'd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    E.g., result = xstrrrpl ("1234", subst) gives result = "112333"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    where subst = { {"1", "11"}, {"3", "333"}, { "4", ""}}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/print/a2ps/files/patch-ps-base.ps b/print/a2ps/files/patch-ps-base.ps
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 8c2aff50913..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/print/a2ps/files/patch-ps-base.ps
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,91 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ps/base.ps.org 2007-02-28 11:43:50.000000000 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ps/base.ps     2007-02-28 11:44:05.000000000 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -158,48 +158,46 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- % reencode the font
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- % <encoding-vector> <fontdict> -> <newfontdict>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/reencode { %def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  dup length 5 add dict begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    { %forall
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      1 index /FID ne 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      { def }{ pop pop } ifelse
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    } forall
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    /Encoding exch def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    % Use the font's bounding box to determine the ascent, descent,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    % and overall height; don't forget that these values have to be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    % transformed using the font's matrix.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    % We use `load' because sometimes BBox is executable, sometimes not.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    % Since we need 4 numbers an not an array avoid BBox from being executed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    /FontBBox load aload pop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    FontMatrix transform /Ascent exch def pop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    FontMatrix transform /Descent exch def pop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    /FontHeight Ascent Descent sub def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    % Define these in case they're not in the FontInfo (also, here
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    % they're easier to get to.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    /UnderlinePosition 1 def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    /UnderlineThickness 1 def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    % Get the underline position and thickness if they're defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    currentdict /FontInfo known {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      FontInfo
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      dup /UnderlinePosition known {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  dup /UnderlinePosition get
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  0 exch FontMatrix transform exch pop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  /UnderlinePosition exch def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      } if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      dup /UnderlineThickness known {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  /UnderlineThickness get
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  0 exch FontMatrix transform exch pop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  /UnderlineThickness exch def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      } if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    } if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    currentdict 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  end 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/reencode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   dup length 5 add dict begin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     { % <vector> <key> <val>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       1 index /FID ne
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       { def }{ pop pop } ifelse
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     } forall
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     /Encoding exch def % -
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     % Use the font's bounding box to determine the ascent, descent,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     % and overall height; don't forget that these values have to be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     % transformed using the font's matrix. We use `load' because sometimes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     % BBox is executable, sometimes not. Since we need 4 numbers an not 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     % an array avoid BBox from being executed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     /FontBBox load aload pop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     FontMatrix transform /Ascent exch def pop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     FontMatrix transform /Descent exch def pop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     /FontHeight Ascent Descent sub def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     % Get the underline position and thickness if they're defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     % Use 1 if they are not defined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     currentdict /FontInfo 2 copy known
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     { get
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       /UnderlinePosition 2 copy  % <FontInfo> /UP <FontInfo> /UP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       2 copy known
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       { get }{ pop pop 1} ifelse
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       0 exch FontMatrix transform exch pop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       def           % <FontInfo>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       /UnderlineThickness 2 copy  % <FontInfo> /UT <FontInfo> /UT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       2 copy known
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       { get }{ pop pop 1} ifelse
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       0 exch FontMatrix transform exch pop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       def           % <FontInfo>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       pop           % -
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     }{ pop pop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     } ifelse
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     currentdict
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } bind def
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- % Function print line number (<string> # -)
</span></pre><pre style='margin:0'>

</pre>