Comments (6)
Makes sense. We probably should take a step back and re-design this API as it was designed before the final HarfBuzz API was settled on, and may be make a breaking change this this time since it is getting really convoluted.
from uharfbuzz.
Also, I think get_glyph_shape()
should have a draw_data
argument. But see harfbuzz/harfbuzz#3765, I'm not sure I understand that argument.
from uharfbuzz.
Yes, that is the main reason I think the Python API needs to be redesigned. When it was written there was no draw_data
.
from uharfbuzz.
It's already pretty close to being a good parallel to the C API, I don't think that it needs a big redesign. We should just make get_glyph_shape
a method of Font
, and add the draw_data
argument.
draw_data
is better than user_data
for FontGoggles and draw_glyph_with_pen
, as in both cases we can use a singleton DrawFuncs
instance instead of instantiating a new one for every single call.
from uharfbuzz.
I think the complication would be adapting the convoluted (but probably necessary) way in which pure Python callaback functions are wrapped.
from uharfbuzz.
Right, I see. Also, the pure Python callbacks are a much simplified version of the C callbacks. Yeah, more thinking and designing would be good.
from uharfbuzz.
Related Issues (20)
- `Blob.from_file_path` does not bail on error HOT 4
- Files missing in 0.24.0 sources HOT 2
- New Release for Repacking Bugfix HOT 3
- New release needed to grab repacking bugfix from harfbuzz HOT 4
- New release needed for harfbuzz 5.3.1 HOT 1
- Build harfbuzz with experimental features by default? HOT 7
- Builds _draw_test_funcs.cc into the library
- Speeding up the CI/CD pipeline HOT 3
- can't install uharfbuzz due to cython new version 3 HOT 4
- Wheels for alpine/musl HOT 2
- Crash when repacking fonts with latest binary wheels (v0.37.1, v0.37.1.post1) HOT 45
- Add support for synthetic bold HOT 1
- New release to pick up bugfix HOT 7
- RFE: build uharfbuzz against system isnatlled harfbuzz library HOT 3
- Hi
- make use of info.cluster HOT 3
- v0.39.2 release hiccups HOT 3
- Add a CI job to test building with unvendored harfbuzz USE_SYSTEM_LIBS=1
- When I have multiple lines of text, how should the line height be calculated?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from uharfbuzz.