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 simple line breaking support #50

Open
khaledhosny opened this issue Feb 16, 2016 · 11 comments
Open

Add simple line breaking support #50

khaledhosny opened this issue Feb 16, 2016 · 11 comments

Comments

@khaledhosny
Copy link
Collaborator

Just the basics (breaking at spaces and other simple break opportunities), just good enough for basic Arabic and Latin needs.

@khaledhosny
Copy link
Collaborator Author

grigorig/ucdn#7 should be helpful here. cc @mzn723.

mzn723 added a commit to mzn723/libraqm that referenced this issue Apr 4, 2016
- Add absolute x and y positions
- Add udcn library
- Add alignment feature (left, right, center)

close HOST-Oman#50, close HOST-Oman#57
khaledhosny pushed a commit that referenced this issue Aug 7, 2016
- Add absolute x and y positions
- Add udcn library
- Add alignment feature (left, right, center)

close #50, close #57
khaledhosny pushed a commit that referenced this issue Aug 7, 2016
- Add absolute x and y positions
- Add udcn library
- Add alignment feature (left, right, center)

Closes #50
Closes #57
khaledhosny pushed a commit that referenced this issue Aug 7, 2016
- Add absolute x and y positions
- Add udcn library
- Add alignment feature (left, right, center)

Closes #50
Closes #57
khaledhosny pushed a commit that referenced this issue Aug 7, 2016
- Add absolute x and y positions
- Add udcn library
- Add alignment feature (left, right, center)

Closes #50
Closes #57
khaledhosny pushed a commit that referenced this issue Aug 7, 2016
- Add absolute x and y positions
- Add udcn library
- Add alignment feature (left, right, center)

Closes #50
Closes #57
khaledhosny pushed a commit that referenced this issue Aug 7, 2016
- Add absolute x and y positions
- Add udcn library
- Add alignment feature (left, right, center)

Closes #50
Closes #57
@khaledhosny khaledhosny modified the milestones: v0.3.0, v0.2.0 Aug 25, 2016
khaledhosny pushed a commit that referenced this issue Sep 13, 2016
- Add absolute x and y positions
- Add udcn library
- Add alignment feature (left, right, center)

Closes #50
Closes #57
@brawer
Copy link
Contributor

brawer commented Oct 6, 2016

Hm, when I use this in fontview, raqm enters an endless loop inside _raqm_line_break(). Specifically, in the loop for (size_t i = 0; i < glyph_count; i++) after the comment /* finding possible breaks in text */, the variable i stays at value 1 for every iteration. It gets of course increased on each loop iteration, but then it gets decreased again inside the loop. — To reproduce, check out fontview, uncomment the call to raqm_set_line_width() in src/fontview/sample_text.cpp and run git checkout linebreaking inside src/third_party/raqm/libraqm.

@khaledhosny
Copy link
Collaborator Author

I was debugging that a couple of weeks ago, and the current code in _raqm_line_break() is very fragile and I need to re-write it in a more robust way.

@brawer
Copy link
Contributor

brawer commented Oct 6, 2016

Thanks, much appreciated.

@brawer
Copy link
Contributor

brawer commented Dec 1, 2016

Curious, how’s the rewrite going?

@khaledhosny
Copy link
Collaborator Author

Not much unfortunately, didn’t have time to do Raqm hacking lately.

@brawer
Copy link
Contributor

brawer commented Feb 6, 2017

Curious, any updates? (Sorry for the nagging).

@khaledhosny
Copy link
Collaborator Author

No, unfortunately. I have been pretty busy with other stuff and right now I don’t know when I’ll have time again to look into this.

khaledhosny pushed a commit that referenced this issue Feb 10, 2018
- Add absolute x and y positions
- Add udcn library
- Add alignment feature (left, right, center)

Closes #50
Closes #57
@khaledhosny khaledhosny removed this from the v0.3.0 milestone May 5, 2018
@ericoporto
Copy link

Hey, I am looking into this library because I wanted to use it along with Harfbuzz and FreeType for Persian, but I am a bit stuck at linebreaks, has there been any change in this issue?

@khaledhosny
Copy link
Collaborator Author

No one is actively working on this unfortunately, and I cam to the conclusion that this is best handled by an more actively maintained library, probably libunibreak than trying to replicate that work here, though I suspect some Raqm users might not appreciate the extra dependency.

@therahedwig
Copy link
Contributor

No one is actively working on this unfortunately, and I cam to the conclusion that this is best handled by an more actively maintained library, probably libunibreak than trying to replicate that work here, though I suspect some Raqm users might not appreciate the extra dependency.

Hi, I was wondering, might it be an idea to have sort of wrapper functions around the linebreaking functionality, that library-consumers can then reimplement, much like harfbuzz has for it's unicode functions? This way this library can have some super-basic implementation for people who don't need much, and then people who need up-to-date linebreaking algos can use libunibreak or ICU directly.

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

No branches or pull requests

5 participants