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

Add Punjabi Font based on GurbaniLipi Font #17

Merged
merged 20 commits into from
Mar 1, 2020

Conversation

mbaljeetsingh
Copy link
Contributor

@mbaljeetsingh mbaljeetsingh commented Dec 30, 2019

Added punjabi font based on GurbaniLipi Punjabi Font. Let me know if it looks it. Looking forward.

Closes #12

@rajadain
Copy link
Contributor

rajadain commented Jan 2, 2020

Hi @mbaljeetsingh, Happy New Year! Thank you for putting this up. I'm traveling this week, but should have a chance next week to spend some time looking at this. We'll want to also copy the documentation to make a page for the Punjabi version once the font itself is ready.

@mbaljeetsingh
Copy link
Contributor Author

Hi @rajadain, Happy New Year to you too. Sure, You can have a look at it once you get time. I'll work on the documentation part. Thanks.

Remove non-integral values for shapes, add missing
extremities, ensure there are no self-intersecting
shapes, and generally validate the font.

This is done mainly by the auto-fix option in
FontForge, with some hand-tweaking done for `n`
and `N` to ensure the lack of self-intersection,
by making sure the chhat-wali-lakir of the Na does
not intersect with that of the ee-ki-matra.
@rajadain
Copy link
Contributor

rajadain commented Jan 9, 2020

Hi Baljeet,

Back from the travels and finally got some time for this. I did some initial validation via FontForge and ironed out some basic issues. I pushed up my work in a branch and you can see the diff here: mbaljeetsingh/fonts@master...omenad:mbaljeetsingh-master.

When comparing the Punjabi file against the Hindi file as a baseline I'm seeing some differences that I don't understand just yet, such as different values for BeginChars and Encoding for almost every character. I'll have to read up a bit on the SFD file format to learn what that means exactly.

Also, I see the Mizrab-ke-bol glyphs are missing. Were planning on adding those or going without them?

@mbaljeetsingh
Copy link
Contributor Author

Hi @rajadain

I'm not sure about it, you can have a look.

When comparing the Punjabi file against the Hindi file as a baseline I'm seeing some differences that I don't understand just yet, such as different values for BeginChars and Encoding for almost every character. I'll have to read up a bit on the SFD file format to learn what that means exactly.

I was actually planning to go without Mizarab-ke-bol. I can add it similar to the one for the hindi font. I tried searching them for gurmat sangeet, but didn't find anything. That's why didn't add.

@mbaljeetsingh
Copy link
Contributor Author

I also tried generating .ttf font for the punjabi. It seems to work similar to the other fonts (english, hindi) on my machine.

@mbaljeetsingh
Copy link
Contributor Author

Hi @rajadain,

I have updated the n, can you see if it looks ok now?

Remove non-integral values for shapes, add missing
extremities, ensure there are no self-intersecting
shapes, and generally validate the font.

I'm not sure, if I understand this. Can you guide me through it?

If possible, can you make the necessary modifications?

@rajadain
Copy link
Contributor

I can add it similar to the one for the hindi font.

For consistency, I'd like for them to be there. If you can do a Punjabi version of them that'd be great, otherwise we could keep the Hindi ones.

I'll add an explanation for the font validation that was done soon. I did make the modifications in that pull-request, and will do so in the future as well.

@mbaljeetsingh
Copy link
Contributor Author

Hi @rajadain

I have updated the Mizrab-ke-bol with the punjabi version. Please have a look.

@mbaljeetsingh
Copy link
Contributor Author

Hi @rajadain

Can you please share, how can I test the documetation on my local machine? I'm assuming everything is inside the docs directory.

@rajadain
Copy link
Contributor

Hi @mbaljeetsingh,

The documentation is generated using Jekyll, which runs on Ruby. You can install it using:

$ gem install bundler jekyll

I just updated the dependencies on master in 3c0720c, an opened a PR against your work here: mbaljeetsingh#2 that copies those updates.

Once those updates are in, go in to the ./docs/ directory and run:

$ bundle install

to install the dependencies. Then you can run the documentation by running

$ ./scripts/server.sh

in the root of the project.

Let me know if there's any questions. I'll get back to the fonts shortly.

Thanks for all your work on this!

@mbaljeetsingh
Copy link
Contributor Author

Hi @rajadain

I have done the first two steps

$ gem install bundler jekyll
$ bundle install

but I'm not able to run server.sh inside windows.
Any suggestions?

@mbaljeetsingh
Copy link
Contributor Author

Tried scripts/server command,
Now I'm getting the following error
image

@mbaljeetsingh
Copy link
Contributor Author

Added gem "faraday", "< 1.0" inside docs/Gemfile. It seems to be working now

@rajadain
Copy link
Contributor

Hi Baljeet,

Thanks for all your work on this. I think updating the Gemfile is something we should leave out, although I understand that you had to make some adjustments to get it to work under Windows, and that's fair. I think I'll have a separate effort to move the documentation to either Docker or Hugo or something that doesn't have as much of the Ruby dependency nightmare.

But the documentation is just a side thing, the main thing is the font. I'll take another look at it in a couple days and make a PR against your branch with any cleanups that result.

Thanks for your patience.

@rajadain
Copy link
Contributor

rajadain commented Feb 4, 2020

Hi Baljeet,

When I got some time last week I tried to set the docs to generate via Docker in this branch, but haven't yet tested this on Windows yet (learning how to thread Docker through WSL is tricky).

In any case, I can probably handle the docs part myself. I'll get back to looking at the font itself soon.

Thanks.
Terence

@rajadain rajadain self-requested a review February 11, 2020 17:36
@mbaljeetsingh
Copy link
Contributor Author

Hi @rajadain
Have you been able to look at it?

@rajadain
Copy link
Contributor

Hi Baljeet,

Sorry, this has been a crazy week at work. I'll get back to this soon. I did take an initial look, and was trying to resolve some discrepancies around Ni, which seemed to be taking more width than it does in the other fonts. Dir was also taking more than twice the width. It's possible we may have to scale down all the characters to keep it consistent with the other Bhatkhande fonts. As I was investigating that this week FontForge kept crashing. I'll get back to it soon.

Thanks for your patience.

@rajadain
Copy link
Contributor

While I'm still figuring out the differences, perhaps you can use the font at the current version: OmeBhatkhandePunjabi.ttf.zip

This was built using the following command:

$ fontforge scripts/convert.pe bhatkhande/punjabi/OmeBhatkhandePunjabi.sfd 

@mbaljeetsingh
Copy link
Contributor Author

While I'm still figuring out the differences, perhaps you can use the font at the current version: OmeBhatkhandePunjabi.ttf.zip

This was built using the following command:

$ fontforge scripts/convert.pe bhatkhande/punjabi/OmeBhatkhandePunjabi.sfd 

Hi @rajadain

Can you confirm If you have changed the font name? when I open the ttf it shows the name Ome Bhatkhande Hindi. I guess it needs to be changed to Ome Bhatkhande Punjabi.

Looking forward to see it added to the web version soon.

@rajadain
Copy link
Contributor

Ah good catch, added it in cf04e97. Here's the updated version, if you could test again with it: OmeBhatkhandePunjabi.ttf.zip

@mbaljeetsingh
Copy link
Contributor Author

Yeah, It seems to working fine now.

Change the order of some of the glyphs, remove extraneous
attributes, ensure high degree of correspondence with
Bhatkhande Hindi.

Compared using:

  code --diff bhatkhande/hindi/OmeBhatkhandeHindi.sfd bhatkhande/punjabi/OmeBhatkhandePunjabi.sfd

where `code` is for Visual Studio Code.
@rajadain
Copy link
Contributor

Hi Baljeet,

I just compared the Punjabi version with the Hindi version in code, and made some edits to bring them more in line with each other in 0ff602a. Here's the latest font from that version: OmeBhatkhandePunjabi.ttf.zip. Please take a look when you can.

I still need to figure out some width issues before finalizing this, but we're getting really close!

@rajadain rajadain changed the base branch from master to font/bhatkhande-punjabi March 1, 2020 03:54
@rajadain
Copy link
Contributor

rajadain commented Mar 1, 2020

Hi Baljeet,

I just made mbaljeetsingh#3 for the final changes to the font. I also retargeted this PR to a new branch font/bhatkhande-punjabi. Once approved, let's get your changes merged there, where I will do some more cleanup (with the docs, etc) and will then merge that into master.

Thanks.

Regularize to Hindi format, add Ra
@mbaljeetsingh
Copy link
Contributor Author

Hi @rajadain,

I have merged the pull request. Yeah, Looking very good in the FontGoogles image. So, If I have to make any change, I'll make the PR to font/bhatkhande-punjabi, right. Are there any other changes required from my side?

@rajadain
Copy link
Contributor

rajadain commented Mar 1, 2020

Excellent, thank you! No more changes required from your end. I'm now going to merge this PR (I've already changed it to target font/bhatkhande-punjabi instead of master), and then will do some cleanup. Then will create a release and let you know when it is publicly available. Thanks for all your work on this!! 👏

@rajadain rajadain merged commit 80ebab3 into omenad:font/bhatkhande-punjabi Mar 1, 2020
rajadain added a commit that referenced this pull request Apr 4, 2020
Add Ome Bhatkhande Punjabi font

Follow up to #17. Closes #12.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants