texlive[55284] Build/source/texk/dvipdfm-x: dvipdfm-x: introduce

commits+kakuto at tug.org commits+kakuto at tug.org
Tue May 26 15:45:50 CEST 2020


Revision: 55284
          http://tug.org/svn/texlive?view=revision&revision=55284
Author:   kakuto
Date:     2020-05-26 15:45:50 +0200 (Tue, 26 May 2020)
Log Message:
-----------
dvipdfm-x: introduce rgba_used in order to indicate that rgba_color
for a XeTeX native font is used or not. It enables full range of opacity, 0-255.

Modified Paths:
--------------
    trunk/Build/source/texk/dvipdfm-x/ChangeLog
    trunk/Build/source/texk/dvipdfm-x/configure
    trunk/Build/source/texk/dvipdfm-x/configure.ac
    trunk/Build/source/texk/dvipdfm-x/dvi.c

Modified: trunk/Build/source/texk/dvipdfm-x/ChangeLog
===================================================================
--- trunk/Build/source/texk/dvipdfm-x/ChangeLog	2020-05-26 00:59:53 UTC (rev 55283)
+++ trunk/Build/source/texk/dvipdfm-x/ChangeLog	2020-05-26 13:45:50 UTC (rev 55284)
@@ -1,3 +1,10 @@
+2020-05-26  Akira Kakuto  <kakuto at w32tex.org>
+
+	* dvi.c: Introduce rgba_used in order to indicate that
+	rgba_color for a XeTeX font is used or not. It enables full
+	range of opacity, 0-255.
+	* configure.ac: Version 20200526.
+
 2020-05-10  TANAKA Takuji  <ttk at t-lab.opal.ne.jp>
 
 	* vf.c: reduce message by '-v' less than by '-vv' for

Modified: trunk/Build/source/texk/dvipdfm-x/configure
===================================================================
--- trunk/Build/source/texk/dvipdfm-x/configure	2020-05-26 00:59:53 UTC (rev 55283)
+++ trunk/Build/source/texk/dvipdfm-x/configure	2020-05-26 13:45:50 UTC (rev 55284)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for dvipdfm-x (TeX Live) 20200315.
+# Generated by GNU Autoconf 2.69 for dvipdfm-x (TeX Live) 20200526.
 #
 # Report bugs to <dvipdfmx at tug.org>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='dvipdfm-x (TeX Live)'
 PACKAGE_TARNAME='dvipdfm-x--tex-live-'
-PACKAGE_VERSION='20200315'
-PACKAGE_STRING='dvipdfm-x (TeX Live) 20200315'
+PACKAGE_VERSION='20200526'
+PACKAGE_STRING='dvipdfm-x (TeX Live) 20200526'
 PACKAGE_BUGREPORT='dvipdfmx at tug.org'
 PACKAGE_URL=''
 
@@ -1350,7 +1350,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures dvipdfm-x (TeX Live) 20200315 to adapt to many kinds of systems.
+\`configure' configures dvipdfm-x (TeX Live) 20200526 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1421,7 +1421,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20200315:";;
+     short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20200526:";;
    esac
   cat <<\_ACEOF
 
@@ -1551,7 +1551,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-dvipdfm-x (TeX Live) configure 20200315
+dvipdfm-x (TeX Live) configure 20200526
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2390,7 +2390,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by dvipdfm-x (TeX Live) $as_me 20200315, which was
+It was created by dvipdfm-x (TeX Live) $as_me 20200526, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -8077,7 +8077,7 @@
 
 # Define the identity of the package.
  PACKAGE='dvipdfm-x--tex-live-'
- VERSION='20200315'
+ VERSION='20200526'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -14746,7 +14746,7 @@
 Report bugs to <bug-libtool at gnu.org>."
 
 lt_cl_version="\
-dvipdfm-x (TeX Live) config.lt 20200315
+dvipdfm-x (TeX Live) config.lt 20200526
 configured by $0, generated by GNU Autoconf 2.69.
 
 Copyright (C) 2011 Free Software Foundation, Inc.
@@ -16636,7 +16636,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by dvipdfm-x (TeX Live) $as_me 20200315, which was
+This file was extended by dvipdfm-x (TeX Live) $as_me 20200526, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16706,7 +16706,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-dvipdfm-x (TeX Live) config.status 20200315
+dvipdfm-x (TeX Live) config.status 20200526
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: trunk/Build/source/texk/dvipdfm-x/configure.ac
===================================================================
--- trunk/Build/source/texk/dvipdfm-x/configure.ac	2020-05-26 00:59:53 UTC (rev 55283)
+++ trunk/Build/source/texk/dvipdfm-x/configure.ac	2020-05-26 13:45:50 UTC (rev 55284)
@@ -8,7 +8,7 @@
 dnl   gives unlimited permission to copy and/or distribute it,
 dnl   with or without modifications, as long as this notice is preserved.
 dnl
-AC_INIT([dvipdfm-x (TeX Live)], [20200315], [dvipdfmx at tug.org])
+AC_INIT([dvipdfm-x (TeX Live)], [20200526], [dvipdfmx at tug.org])
 AC_PREREQ([2.65])
 AC_CONFIG_SRCDIR([agl.c])
 AC_CONFIG_AUX_DIR([../../build-aux])

Modified: trunk/Build/source/texk/dvipdfm-x/dvi.c
===================================================================
--- trunk/Build/source/texk/dvipdfm-x/dvi.c	2020-05-26 00:59:53 UTC (rev 55283)
+++ trunk/Build/source/texk/dvipdfm-x/dvi.c	2020-05-26 13:45:50 UTC (rev 55284)
@@ -147,6 +147,10 @@
   spt_t size;
   int   source;     /* Source is either DVI or VF */
   uint32_t rgba_color;
+  uint8_t  rgba_used;
+                    /* Indicates that rgba_color is used or not.
+                     * It enables full range of opacity: 0-255.
+                     */
   int      xgs_id;  /* Transparency ExtGState */
   struct tt_longMetrics *hvmt;
   int   ascent;
@@ -180,6 +184,10 @@
   int    used;
   int    native; /* boolean */
   uint32_t rgba_color;   /* only used for native fonts in XeTeX */
+  uint8_t  rgba_used;
+                    /* Indicates that rgba_color is used or not.
+                     * It enables full range of opacity: 0-255.
+                     */
   uint32_t face_index;
   int    layout_dir; /* 1 = vertical, 0 = horizontal */
   int    extend;
@@ -554,6 +562,7 @@
   def_fonts[num_def_fonts].used        = 0;
   def_fonts[num_def_fonts].native      = 0;
   def_fonts[num_def_fonts].rgba_color  = 0xffffffff;
+  def_fonts[num_def_fonts].rgba_used   = 0;
   def_fonts[num_def_fonts].face_index  = 0;
   def_fonts[num_def_fonts].layout_dir  = 0;
   def_fonts[num_def_fonts].extend      = 0x00010000; /* 1.0 */
@@ -599,6 +608,7 @@
 
   def_fonts[num_def_fonts].layout_dir  = 0;
   def_fonts[num_def_fonts].rgba_color  = 0xffffffff;
+  def_fonts[num_def_fonts].rgba_used   = 0;
   def_fonts[num_def_fonts].extend      = 0x00010000;
   def_fonts[num_def_fonts].slant       = 0;
   def_fonts[num_def_fonts].embolden    = 0;
@@ -606,8 +616,10 @@
   if (flags & XDV_FLAG_VERTICAL)
     def_fonts[num_def_fonts].layout_dir = 1;
 
-  if (flags & XDV_FLAG_COLORED)
-    def_fonts[num_def_fonts].rgba_color  = get_unsigned_quad(dvi_file);
+  if (flags & XDV_FLAG_COLORED) {
+    def_fonts[num_def_fonts].rgba_color = get_unsigned_quad(dvi_file);
+    def_fonts[num_def_fonts].rgba_used = 1;
+  }
 
   if (flags & XDV_FLAG_EXTEND)
     def_fonts[num_def_fonts].extend = get_signed_quad(dvi_file);
@@ -1492,8 +1504,9 @@
                                 def_fonts[i].point_size);
     }
     loaded_fonts[font_id].rgba_color = def_fonts[i].rgba_color;
-    /* Opacity: 0xff is fully opaque. */
-    if ((loaded_fonts[font_id].rgba_color & 0xff) == 0xff) {
+    loaded_fonts[font_id].rgba_used = def_fonts[i].rgba_used;
+    /* if rgba_used == 0, not a colored font */
+    if (loaded_fonts[font_id].rgba_used == 0) {
       loaded_fonts[font_id].xgs_id = -1;
     } else {
       pdf_obj *xgs_dict;
@@ -1716,7 +1729,7 @@
     yloc[i] = get_buffered_signed_quad();
   }
 
-  if (font->rgba_color != 0xffffffff) {
+  if (font->rgba_used == 1) {
     pdf_color color;
     pdf_color_rgbcolor(&color,
       (double)((unsigned char)(font->rgba_color >> 24) & 0xff) / 255,
@@ -1787,7 +1800,7 @@
                        glyph_width, font->font_id, -1);
   }
 
-  if (font->rgba_color != 0xffffffff) {
+  if (font->rgba_used == 1) {
     if (font->xgs_id >= 0) {
       graphics_mode(); 
       pdf_dev_grestore();



More information about the tex-live-commits mailing list.