-
Notifications
You must be signed in to change notification settings - Fork 599
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fill missing glyph cmap when enableKernLiga to complete pdf/a3-u requirement. #1082
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Quality Gate passedIssues Measures |
asturio
added a commit
that referenced
this pull request
Mar 2, 2024
- fillerCmap is private Map and has getter and "putter" - simplified getSentenceMissingCmap - use more modern Java features - lesser cleanups
asturio
added a commit
that referenced
this pull request
Mar 2, 2024
- Remove unused Method convertToBytes - Add more Tests - Added Font Awesome to tests
asturio
added a commit
that referenced
this pull request
Mar 2, 2024
- force using getter for fillerCmap - more Tests for FontDetails - renamed (test) fonts/liberation-serif to fonts/liberation - added a smoke Test for creating a simple document
asturio
added a commit
that referenced
this pull request
Mar 2, 2024
- rename check-Method in assert
asturio
added a commit
that referenced
this pull request
Mar 2, 2024
- rename check-Method in assert - Codacy issues fixed
asturio
added a commit
that referenced
this pull request
Mar 2, 2024
- fillerCmap is private Map and has getter and "putter" - simplified getSentenceMissingCmap - use more modern Java features - lesser cleanups
asturio
added a commit
that referenced
this pull request
Mar 2, 2024
- Remove unused Method convertToBytes - Add more Tests - Added Font Awesome to tests
asturio
added a commit
that referenced
this pull request
Mar 2, 2024
- force using getter for fillerCmap - more Tests for FontDetails - renamed (test) fonts/liberation-serif to fonts/liberation - added a smoke Test for creating a simple document
asturio
added a commit
that referenced
this pull request
Mar 2, 2024
- rename check-Method in assert - Codacy issues fixed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of the new Feature/Bugfix
When I produce PDF in Thai language and enableKernLiga feature, PDF render text perfectly but it lose the copy text ability.
And also not a PDF-A3U anymore since some glyph is missing in cmap table and violated this rule
This PR try to fix PDF-A3U violation only. Since it also a requirement from RD of Thailand.
I fill missing cmap with help of
getGlyphCharIndex
to determine mapping between glyph to char that produce fromGlyphVector
andlayoutGlyphVector
And determine if cmap missing by check with
getCharacterCode(glyphCode)
function.It not a perfect solution, Since original text still cannot copy from pdf and it beyond my knowledge.
Before
After
Related Issue: #
Unit-Tests for the new Feature/Bugfix
Compatibilities Issues
Is anything broken because of the new code? Any changes in method signatures?
Testing details
Any other details about how to test the new feature or bugfix?