[
https://issues.apache.org/jira/browse/PDFBOX-5729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17794332#comment-17794332
]
JAVA USER edited comment on PDFBOX-5729 at 12/7/23 5:23 PM:
------------------------------------------------------------
[~tilman] For Devanagari, the missing top horizontal bar in the third glyph of
first word in Mangal is by design:
!Screenshot from 2023-12-07 20-46-25.png!
You can see it's also present in Lohit-Devanagari, Baloo, Biryani and Hind
fonts.
The fact that rkrf feature isn't present in Lohit Devanagari and Mangal, led to
the creation of createRKRF, given vatu was present. But things are opposite in
Noto Sans Devanagari. Maybe that's why it won't work in Noto Sans Gujarati as
well. Devanagari GsubWorker needs improvement.
For Gujarati, the repositionGlyphs function is running from index 3, that's why
the beforeHalfGlyphIds isn't positioning arc vowel ({*}ि{*}) to the starting
consonant (શ). Changing the starting index to 1 will fix that.
Also, this arc vowel ({*}ि{*}) should also be substituted with wider arc vowel
glyph (Noto Sans Gujarati present at index 404 called ivowelsigndefaultgujr) if
its following glyphs are half+consonant, and should happen in applyGsubFeature.
I'll try by running repositionGlyphs before applyGsubFeature maybe it'll
capture the substitution condition that way.
By FCFS, I mean in Language.java, if the first enum is DEVANAGARI(new
String[]\{"dev2", "deva"}), Nirmala UI will select DEVANAGARI, even if the text
is in Bengali or Gujarati.
Will there by GPOS feature in the future? There are GPOS features such as kern,
dist, abvm, blwm which needs to be implemented.
* I'll provide you test codes for GsubWorkerForDevanagariTest.java. I'd like
to provide input data from Lohit-Devanagari as well as Noto Sans Devanagari, as
they're SIL.
* I haven't checked TestFontEmbedding.testBengali(). I'll check it out.
was (Author: javauser):
[~tilman] For Devanagari, the missing top horizontal bar in the third glyph of
first word in Mangal is by design:
!Screenshot from 2023-12-07 20-46-25.png!
You can see it's also present in Lohit-Devanagari, Baloo, Biryani and Hind
fonts.
The fact that rkrf feature isn't present in Lohit Devanagari and Mangal led to
creation of createRKRF, given vatu was present. But opposite is present in Noto
Sans Devanagari. Maybe that's why it won't work in Noto Sans Gujarati as well.
Devanagari Gsub needs more improvement.
For Gujarati, the repositionGlyphs function is running from index 3, that's why
the beforeHalfGlyphIds ({*}ि{*}) isn't positioning it to the first consonant
(શ). Changing the starting index to 1 will fix that
Also, this arc ({*}ि{*}) should also be substituted with bigger arc glyph (Noto
Sans Gujarati present at index 404 called ivowelsigndefaultgujr) if its
following glyphs are half+consonant, should happen in applyGsubFeature. I'll
try by running repositionGlyphs before applyGsubFeature maybe it'll capture the
substitution condition that way.
By FCFS, I mean in Language.java, if the first enum is DEVANAGARI(new
String[]\{"dev2", "deva}), Nirmala UI will select DEVANAGARI, even if the text
is in Bengali or Gujarati.
Will there by GPOS feature in the future? There are GPOS features kern, dist,
abvm, blwm which needs to be implemented.
* I'll provide you test codes for GsubWorkerForDevanagariTest.java. I'd like
to provide input data from Lohit-Devanagari as well as Noto Sans Devanagari, as
they're SIL.
* I haven't checked TestFontEmbedding.testBengali(). I'll check it out.
> GsubWorkerForDevanagari and GsubWorkerForGujarati created
> ---------------------------------------------------------
>
> Key: PDFBOX-5729
> URL: https://issues.apache.org/jira/browse/PDFBOX-5729
> Project: PDFBox
> Issue Type: Improvement
> Components: FontBox
> Affects Versions: 3.0.0 PDFBox
> Reporter: JAVA USER
> Priority: Trivial
> Labels: GsubWorkerForDevanagari, GsubWorkerForGujarati
> Attachments: GsubWorkerForDevanagari.java,
> GsubWorkerForGujarati.java, NotoSansDevanagari-Regular.ttf, Screenshot from
> 2023-12-07 20-46-25.png, TiroDevanagariHindi-Regular.ttf,
> devanagari-example-TiroDevanagariHindi.pdf, devanagari-example-bad.pdf,
> devanagari-example-notosans.pdf, devanagari-example-siddhanta.pdf,
> image-2023-12-07-09-54-31-449.png, image-2023-12-07-10-18-33-457.png,
> image-2023-12-07-10-33-37-499.png, image-2023-12-07-14-39-24-187.png,
> image-2023-12-07-16-27-22-510.png, screenshot-1.png, screenshot-2.png,
> screenshot-3.png, screenshot-4.png, screenshot-5.png, screenshot-6.png
>
>
> Created Gsub workers for Devanagari and Gujarati languages.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]