Skip to content
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

Adding advanced typography capability #297 #329

Merged
merged 19 commits into from
Jan 30, 2020

Conversation

codecracker2014
Copy link
Contributor

So far OpenPDF doesn't support advanced typography features like processing of GSUB table. Good documentation for typography is available at following link https://docs.microsoft.com/en-us/typography/opentype/spec/, https://docs.microsoft.com/en-us/typography/opentype/spec/gsub

Apache FOP supports advanced typography(https://xmlgraphics.apache.org/fop/1.1/releaseNotes_1.1.html) and is pretty stable. I've added support of advanced typography by utilizing Apache FOP. With this change OpenPDF will be supporting TrueTypeFonts and advanced typography.

@asturio
Copy link
Member

asturio commented Jan 20, 2020

@codecracker2014 Do you have a sample, using this new advances typography? This would be very nice.

Copy link
Contributor

@andreasrosdal andreasrosdal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dependencies needs to be implemented to be optional.
Please also add unit tests.

@codecracker2014
Copy link
Contributor Author

@andreasrosdal thanks for review, i'll update soon.

@codecracker2014
Copy link
Contributor Author

@codecracker2014 Do you have a sample, using this new advances typography? This would be very nice.

@asturio junit test would be fine?

@asturio
Copy link
Member

asturio commented Jan 25, 2020

@codecracker2014 Do you have a sample, using this new advances typography? This would be very nice.

@asturio junit test would be fine?

Yeah, junit is fine.

Copy link
Member

@asturio asturio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please:

  • move new dependencies above of dependencies with test-scope
  • set new dependencies as optional
  • add some junit test for the new feature

openpdf/pom.xml Show resolved Hide resolved
@andreasrosdal
Copy link
Contributor

Will OpenPDF still work correctly, compile and run without crashing, when these optional dependencies are not present?

@codecracker2014
Copy link
Contributor Author

@andreasrosdal i thought optional dependency is to be marked just to avoid version conflicts. If it is required to make this feature optional then this needs to be handled in code.

@andreasrosdal
Copy link
Contributor

andreasrosdal commented Jan 27, 2020

Yes, I think this feature should be optional, if possible. So that OpenPDF can be used without requiring these extra two dependencies.

Users of OpenPDF don't want extra dependencies which are required, since it can cause dependency hell.

Copy link
Contributor

@andreasrosdal andreasrosdal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs to be optional. OpenPDF must still work without this.

@codecracker2014
Copy link
Contributor Author

@andreasrosdal I've made this feature optional based on presence of Fop on classpath.

@codecracker2014
Copy link
Contributor Author

@asturio I've added unit test for typography please review.
For hindi i've used jaldi font(https://github.com/Omnibus-Type/Jaldi) which is having OFL 1.1 license(SIL Open Font License 1.1).

@codecracker2014
Copy link
Contributor Author

codecracker2014 commented Jan 29, 2020

I've updated wiki for this feature have a look https://github.com/LibrePDF/OpenPDF/wiki/Multi-byte-character-language-support-with-TTF-fonts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants