karaoke-dev / karaoke

Will be the best karaoke system.
http://blog.karaoke.dev
GNU General Public License v3.0
207 stars 16 forks source link

Implement for supporting otf text format. #791

Open andy840119 opened 3 years ago

andy840119 commented 3 years ago

Implement something like OtfGlyphStore / TTFGlyphStore to let karaoke ruleset support oft / ttf format easily. And might be able to use this repo: https://github.com/Robmaister/SharpFont/tree/master/Source/Examples

Notice that it's just a easy to let user import it's own oft / ttf font. But not means it can be distribute unless it's able to compress oft / ttf with target charset.

update: cannot open font from the stream 氣死

andy840119 commented 3 years ago

Inspired from #787 and this chinses article. And looks like .fnt is not the only choice for osu-framework when ppy design it.

andy840119 commented 3 years ago

Seems have another choice: https://github.com/LayoutFarm/Typography

update: The demo is crash-friendly.

andy840119 commented 3 years ago

Or the safty way is using sixlabor https://github.com/SixLabors/Fonts

update: Fick this shit does not implement its one text render. And most of demo is outdated WTF

andy840119 commented 3 years ago

another repo: https://github.com/vidstige/NRasterizer not upload to nuget 😢

andy840119 commented 3 years ago

https://www.grapecity.com/documents-api-imaging/pricing paid solution

andy840119 commented 3 years ago

And another issue: otf/fft is vertix format. And it can be render in openGL directly. Not really sure if weird to change to image first 🤔

andy840119 commented 3 years ago

Seems Sixlabor is not supported .otf now. Also should implement another font store after mark sure that TTFGlyphStore is workable(without cost toooo much time to generate texture.)

andy840119 commented 3 years ago

I guess it might be better to wait until Sixlabor supports of instead of finding a new package.