pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Bruce Momjian <bruce@momjian.us>
To: Yugo Nagata <nagata@sraoss.co.jp>
Cc: Peter Eisentraut <peter@eisentraut.org>
Cc: Tatsuo Ishii <ishii@postgresql.org>
Cc: tgl@sss.pgh.pa.us
Cc: daniel@yesql.se
Cc: pgsql-hackers@postgresql.org
Subject: Re: Doc: typo in config.sgml
Date: Mon, 18 Nov 2024 16:04:20 -0500
Message-ID: <Zzur1CWDmDe6lroJ@momjian.us> (raw)
In-Reply-To: <20241111220215.8aef4df0f8d541df61abad57@sraoss.co.jp>
References: <ZyUGLQ1jZ5MtRFnl@momjian.us>
	<20241102.072700.1635141881080027242.ishii@postgresql.org>
	<ZyWAJp3Ujb2LNFpk@momjian.us>
	<20241102.120212.1541205818288992834.ishii@postgresql.org>
	<ZyYmrwIUlDZuagb0@momjian.us>
	<7491a14c-2215-46f0-87fe-ce30ae9eb4f6@eisentraut.org>
	<20241111220215.8aef4df0f8d541df61abad57@sraoss.co.jp>

On Mon, Nov 11, 2024 at 10:02:15PM +0900, Yugo Nagata wrote:
> On Tue, 5 Nov 2024 10:08:17 +0100
> Peter Eisentraut <peter@eisentraut.org> wrote:
> 
> 
> > >> So you convert LATIN1 characters to HTML entities so that it's easier
> > >> to detect non-LATIN1 characters is in the SGML docs? If my
> > >> understanding is correct, it can be also achieved by using some tools
> > >> like:
> > >>
> > >> iconv -t ISO-8859-1 -f UTF-8 release-17.sgml
> > >>
> > >> If there are some non-LATIN1 characters in release-17.sgml,
> > >> it will complain like:
> > >>
> > >> iconv: illegal input sequence at position 175
> > >>
> > >> An advantage of this is, we don't need to covert each LATIN1
> > >> characters to HTML entities and make the sgml file authors life a
> > >> little bit easier.
> 
> > I think the iconv approach is an idea worth checking out.
> > 
> > It's also not necessarily true that the set of characters provided by 
> > the built-in PDF fonts is exactly the set of characters in Latin 1.  It 
> > appears to be close enough, but I'm not sure, and I haven't found any 
> > authoritative information on that.  
> 
> I found a description in FAQ on Apache FOP [1] that explains some glyphs for
> Latin1 character set are not contained in the standard text fonts.
> 
>  The standard text fonts supplied with Acrobat Reader have mostly glyphs for
>  characters from the ISO Latin 1 character set. For a variety of reasons, even
>  those are not completely guaranteed to work, for example you can't use the fi
>  ligature from the standard serif font.

So, the failure of ligatures is caused usually by not using the right
Adobe Font Metric (AFM) file, I think.  I have seen faulty ligature
rendering in PDFs but was alway able to fix it by using the right AFM
file.  Odds are, failure is caused by using a standard Latin1 AFM file
and not the AFM file that matches the font being used.

> [1] https://xmlgraphics.apache.org/fop/faq.html#pdf-characters
> 
> However, it seems that using iconv to detect non-Latin1 characters may be still
> useful because these are likely not displayed in PDF. For example, we can do this
> in make check as the attached patch 0002. It cannot show the filname where one
> is found, though.

I was thinking something like:

	grep -l --recursive  -P '[\x80-\xFF]' . |
	while read FILE
	do  iconv -f UTF-8 -t ISO-8859-1 "$FILE" || exit 1
	done

This only checks files with non-ASCII characters.

> > Another approach for a fix would be 
> > to get FOP produce the required warnings or errors more reliably.  I 
> > know it has a bunch of logging settings (ultimately via log4j), so there 
> > might be some possibilities.
> 
> When a character that cannot be displayed in PDF is found, a warning
> "Glyph ... not available in font ...." is output in fop's log. We can
> prevent such characters from being contained in PDF by checking
> the message as the attached patch 0001. However, this is checked after
> the pdf is generated since I could not have an idea how to terminate the
> generation immediately when such character is detected.

So, are we sure this will be the message even for non-English users? I
thought checking for warning message text was too fragile.

-- 
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  When a patient asks the doctor, "Am I going to die?", he means 
  "Am I going to die soon?"





view thread (70+ messages)  latest in thread

Message-ID: <Zzur1CWDmDe6lroJ@momjian.us>
Permalink:  ../Zzur1CWDmDe6lroJ@momjian.us/
Also on:    postgresql.org/message-id/Zzur1CWDmDe6lroJ@momjian.us

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: bruce@momjian.us, nagata@sraoss.co.jp, peter@eisentraut.org, ishii@postgresql.org, tgl@sss.pgh.pa.us, daniel@yesql.se
  Subject: Re: Doc: typo in config.sgml
  In-Reply-To: <Zzur1CWDmDe6lroJ@momjian.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox