%% $Id: dvipdfmx.cfg 61101 2021-11-20 23:01:11Z karl $
%% dvipdfmx.cfg for dvipdfmx and xdvipdfmx.  (Public domain.)
%% (maintained in TeX Live /source/ tree, copied to Master.)
%% 
%% PDF Version Setting
%%
%% PDF (minor) version stamp to use in output file.
%% This also implies maximal version of PDF file allowed to be included.
%% Dvipdfmx does not support 1.0, 1.1, 1.2 since TrueType font embedded
%% as CIDFontType2 requires at least version 1.3. Transparent imaging
%% model requires version 1.4. So if you want soft-masking support for
%% PNG image with alpha channels, you should set version to 4 or higher.
%% PDF 1.5 enables object compression.

V  5

%% Dvipdfmx Compatibility Flags
%%
%%   0x0002  Use semi-transparent filling for tpic shading command,
%%           instead of opaque gray color. (requires PDF 1.4)
%%   0x0004  Treat all CIDFont as fixed-pitch font.
%%           This is only for backward compatibility. Don't use that.
%%   0x0008  Do not replace duplicate fontmap entries.
%%           Dvipdfm's (not 'x') behaviour.
%%   0x0010  Do not optimize PDF destinations. Use this if you want to
%%           refer from other files to destinations in the current file.

%C  0x0000

%% PDF Document Settings
%%
%% Papersize Option:
%%
%%   p papersize-spec
%%
%% papersize-spec is 'paper-format' or length-pair, e.g., 'a4', 'letter',
%% '20cm,30cm'. Recognized unit is 'cm', 'mm', 'bp', 'pt', 'in'.

p  a4

%% Annotation Box Margin:
%%
%%   g length
%%
%% Add margin to annotation rectangle created via various \specials. Many
%% TeX macro packages set the annotation bounding box equal to the TeX box
%% that encloses the material. That's not always what you want.
%% Annotations created by pdf:bannot/pdf:eannot is also affected.

%g  0

%% Bookmark Open Level:
%%
%%   O integer
%%
%% Mark bookmark (outline) item as initial state 'open' if the depth
%% of that item (from root node) is less than or equal to the integer
%% specified with this option.

O  0

%% PDF Security (Encryption) Setting
%%
%% Those options won't take effects unless you use flag 'S'.
%%
%% Key bits for PDF encryption (40 - 128)

K  40

%% Permission flag for PDF encryption: Revision will be 3 if the key size
%% is greater than 40 bits.
%%
%% 0x0004 (Revision 2) Print the document.
%%        (Revision 3) Print the document (possibly not at the highest quality
%%        level, depending on whether bit 12[0x0800] is also set).
%% 0x0008 Modify the contents of the document by operations other than those
%%        controlled by bits 6[0x0020], 9[0x0100], and 11[0x0400].
%% 0x0010 (Revision 2) Copy or otherwise extract text and graphics from the
%%        document, including extracting text and graphics (in support of
%%        accessibility to disabled users or for other purposes).
%%        (Revision 3) Copy or otherwise extract text and grphics from the
%%        document by operations other than that controlled by bit 10[0x0200].
%% 0x0020 Add or modify text annotations, fill in interactive form fields,
%%        and, if bit 4[0x0008] is also set, create or modify interactive
%%        form fields (including signature fields).
%%
%% (Revision 3 only)
%% 0x0100 Fill in existing interactive form fields (including signature
%%        fields), even if bit 6 is clear.
%% 0x0200 Extract text and graphics (in support of accessibility to disabled
%%        users or for other purposes).
%% 0x0400 Assemble the document (insert, rotate, or delete pages and create
%%        bookmarks or thumbnail images), even if bit 4 is clear.
%% 0x0800 Print the document to a representation from which a faithful digital
%%        copy of the PDF content could be generated. When this bit is clear
%%        (and bit 3 is set), printing is limited to a low-level representation
%%        of the appearance, possibly of degraded quality.

P  0x003C

%% Image Handler
%%
%% With 'D' option dvipdfmx may invoke shell command via system()
%% function call.
%%
%% Command-line template for a-to-b conversion:
%%
%% Supported target format ('b') is currently PDF.
%% Percent sign '%' is special character:
%%
%%   %i  Input file name (FQPN). Name of file to be converted to PDF.
%%   %o  Output file name (FQPN). Temporary file to store conversion
%%       result. Removed after inclusion is finished. (regardless of
%%       success or failure)
%%   %b  The "base" name of the input file, e.g., "foo" instead of
%%       "foo.eps".
%%   %v  The PDF version to be converted to, e.g. "1.4" for PDF 1.4.
%%   %%  Replaced with single '%'.

%% Ghostscript (PS-to-PDF and PDF-to-PDF):
%%
%% In TeX Live, we use the rungs wrapper instead of ps2pdf, in order to
%% use our own supplied gs on Windows.
%% 
%% Without the -dEPSCROP below, an eps file with negative llx/lly (as
%% created by MetaPost, for example) fails.  In 2013, changes were made
%% to the drivers xetex.def, dvipdfmx.def, etc., to handle non-zero
%% llx/lly so we could use it.  The file epsf-dvipdfmx.tex is available
%% from CTAN/TL/etc. to support plain's epsf.tex.
%% 
%% In 2014, we discovered that -sPAPERSIZE=a0 was needed to support
%% pstricks under xetex; otherwise, images were cropped (see thread at
%% https://tug.org/pipermail/xetex/2014-November/025664.html).
%% Happily, it seems that using both -dEPSCROP and -sPAPERSIZE=a0
%% simultaneously works ok.  So that's we do below.
%% 
%% By default, gs encodes all images contained in a PS file using
%% the lossy DCT (i.e., JPEG) filter. This can lead to inferior
%% result (see the discussion at http://electron.mit.edu/~gsteele/pdf/).
%% The "-dAutoFilterXXXImages" and "-dXXXImageFilter" options used
%% below force all images to be encoded with the lossless Flate (zlib,
%% same as PNG) filter. Note that if the PS file already contains DCT
%% encoded images (which is possible in PS level 2), then these images
%% will also be re-encoded using Flate. To turn the conversion off,
%% remove the options mentioned above.
%% 
%% Incidentally, more than one dvipdfmx.cfg may exist.
%% You can find the one that is active by running:
%%   kpsewhich -progname=dvipdfmx -format=othertext dvipdfmx.cfg
%% and control which one is found by setting DVIPDFMXINPUTS.
%%
D  "rungs -q -dSAFER -dNOPAUSE -dBATCH -dEPSCrop -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=%v -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dAutoRotatePages=/None -sOutputFile='%o' '%i' -c quit"
%% If you change the above rungs invocation, also change dvipdfmx-unsafe.cfg!

% other random ps converters people have experimented with.
%D "/usr/local/bin/ps2pdf -dEPSCrop '%i' '%o'"
%D "/usr/texbin/epstopdf '%i' -o '%o'"
%D "/usr/bin/pstopdf '%i' -o '%o'"
%
%% Frank Siegert's PStill:
%D  "/usr/local/bin/pstill -c -o '%o' '%i'"
%
%% Batik + Fop (SVG-to-PDF):
%% If you want both PS and SVG, you need to write a script or program
%% that selectively invokes converters.
%D  "java -classpath classpaths -jar /path/to/batik-rasterizer.jar -m application/pdf -d '%o' '%i'"
%
%% There are no way to directly know suggested size of (raster) images.
%% You may want to use %b here, since you can try reading the ebb file
%% to see what is natural (physical) size of images. 
%D  "ras2pdf -r 300x300 -b '%b.bb' -o '%o' '%i'"
%
%% ImageMagick:
%% Easiest way to support various file formats.
%D  "convert '%i' 'epdf:%o'"

%% Other Options
%%
%% DPI for PK font creation

%r  600

%% Set number of fractional digit kept for various numbers in PDF page
%% content output. By setting this to 2 (default), dvipdfmx rounds
%% real numbers at 2nd fractional (decimal) digit; e.g., "3.14159" is
%% written as "3.14". Increasing this to more than 2 isn't meaningful
%% for old Acrobat due to implementation limit of Acrobat.
%% Length 0.01 in unscaled coordinate system amount to width of 1 pixel
%% in 7200ppi display. 

%d  5

%% Image cache life in hours
%%  0 means erase all old images and leave new images
%% -1 means erase all old images and also erase new images
%% -2 means ignore image cache
%I -2

%% Font Map Files
%%
%% teTeX 2.x and TeX Live using updmap (pdfTeX format)
%f  pdftex.map

%% teTeX 2.x and TeX Live using updmap (DVIPDFM format)
%f dvipdfm.map

%% teTeX 2.x and TeX Live using updmap (DVIPS format)
%% MiKTeX 2.2 and 2.3
%f psfonts.map

%% Put additional fontmap files here (usually for Type0 fonts)
%f  cid-x.map

% the following file is generated by updmap(-sys) from the 
% KanjiMap entries in the updmap.cfg file.
%f kanjix.map
% minimal example for Chinese and Korean users
% improvements please to tex-live@tug.org
%f ckx.map

%% Include other config files
%i <filename>
