[
https://issues.apache.org/jira/browse/PDFBOX-6103?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Fabrice Calafat updated PDFBOX-6103:
------------------------------------
Description:
Currently, the PDFBox GSUB (Glyph Substitution) system does not handle the DFLT
(default) script tag defined in the OpenType specification. According to the
OpenType spec, the DFLT script table is used to
define features that are not script-specific and should be applied when:
1. No script table exists for the specific script of the text being processed
2. Text lacks a defined script (containing only symbols or punctuation)
* Impact:*
Fonts that rely on DFLT script features may not render correctly,
particularly when processing text containing symbols, punctuation, or
unsupported scripts.
*Solution:*
This patch adds a new GsubWorkerForDflt class that implements script-neutral
typographic features according to OpenType standards. The implementation:
- Creates a dedicated GSUB worker for handling DFLT script
- Integrates with the existing GsubWorkerFactory
- Applies common typographic features in the standard recommended order
- Follows OpenType specification guidelines for universal glyph substitutions
*Testing:*
Comprehensive unit tests have been added using real-world fonts
(JosefinSans-Italic.ttf and RobotoMono-Regular.ttf) to verify correct DFLT
script processing.
*Reference:*
https://learn.microsoft.com/en-us/typography/opentype/spec/chapter2#scriptlist-table
*Pull request*
https://github.com/apache/pdfbox/pull/351
was:
Currently, the PDFBox GSUB (Glyph Substitution) system does not handle the DFLT
(default) script tag defined in the OpenType specification. According to the
OpenType spec, the DFLT script table is used to
define features that are not script-specific and should be applied when:
1. No script table exists for the specific script of the text being processed
2. Text lacks a defined script (containing only symbols or punctuation)
* Impact:*
Fonts that rely on DFLT script features may not render correctly,
particularly when processing text containing symbols, punctuation, or
unsupported scripts.
*Solution:*
This patch adds a new GsubWorkerForDflt class that implements script-neutral
typographic features according to OpenType standards. The implementation:
- Creates a dedicated GSUB worker for handling DFLT script
- Integrates with the existing GsubWorkerFactory
- Applies common typographic features in the standard recommended order
- Follows OpenType specification guidelines for universal glyph substitutions
*Testing:*
Comprehensive unit tests have been added using real-world fonts
(JosefinSans-Italic.ttf and RobotoMono-Regular.ttf) to verify correct DFLT
script processing.
*Reference:*
https://learn.microsoft.com/en-us/typography/opentype/spec/chapter2#scriptlist-table
> Add DFLT script support in GSUB system for OpenType fonts
> ---------------------------------------------------------
>
> Key: PDFBOX-6103
> URL: https://issues.apache.org/jira/browse/PDFBOX-6103
> Project: PDFBox
> Issue Type: New Feature
> Components: FontBox
> Affects Versions: 3.0.6 PDFBox
> Reporter: Fabrice Calafat
> Priority: Minor
>
> Currently, the PDFBox GSUB (Glyph Substitution) system does not handle the
> DFLT (default) script tag defined in the OpenType specification. According to
> the OpenType spec, the DFLT script table is used to
> define features that are not script-specific and should be applied when:
> 1. No script table exists for the specific script of the text being
> processed
> 2. Text lacks a defined script (containing only symbols or punctuation)
> * Impact:*
> Fonts that rely on DFLT script features may not render correctly,
> particularly when processing text containing symbols, punctuation, or
> unsupported scripts.
> *Solution:*
> This patch adds a new GsubWorkerForDflt class that implements
> script-neutral typographic features according to OpenType standards. The
> implementation:
> - Creates a dedicated GSUB worker for handling DFLT script
> - Integrates with the existing GsubWorkerFactory
> - Applies common typographic features in the standard recommended order
> - Follows OpenType specification guidelines for universal glyph
> substitutions
> *Testing:*
> Comprehensive unit tests have been added using real-world fonts
> (JosefinSans-Italic.ttf and RobotoMono-Regular.ttf) to verify correct DFLT
> script processing.
> *Reference:*
>
> https://learn.microsoft.com/en-us/typography/opentype/spec/chapter2#scriptlist-table
> *Pull request*
> https://github.com/apache/pdfbox/pull/351
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]