AllenDang / giu

Cross platform rapid GUI framework for golang based on Dear ImGui.
MIT License
2.16k stars 128 forks source link

[bug] Multiple fonts / Icon fonts broken since migration #711

Open Geo5 opened 9 months ago

Geo5 commented 9 months ago

Hey, using icon fonts (and also possibly the MultipleFonts example) seems to be broken since the migration to cimgui-go.

Below is the code example, which correctly displays icons on v0.7.0 but does not work on current master: Fonts_v0 7 0 Fonts_master

The minimal example uses https://github.com/juliettef/IconFontCppHeaders with forkawesome-webfont.ttf

I could not find any changes, which seemed meaningful to me to FontAtlasProcessor.go since v0.7.0, so maybe it has something to do with cimgui-go itself.

Code example

main.go ```golang package main import ( iconFonts "github.com/juliettef/IconFontCppHeaders" g "github.com/AllenDang/giu" ) var IconFont = iconFonts.IconsForkAwesome func Icon(name string) string { ret, ok := IconFont.Icons[name] if !ok { panic(name + " icon not found") } return ret } func loop() { g.SingleWindow().Layout( g.Label("Content line"), g.Label("Content line "+Icon("Check")), g.Button("Normal button"), g.Button("Normal button"+Icon("Check")), ) } func main() { wnd := g.NewMasterWindow("Multiple fonts and icons", 600, 400, g.MasterWindowFlagsNotResizable) // Change the default font to include icons g.Context.FontAtlas.SetDefaultFont("forkawesome-webfont.ttf", 20) wnd.Run(loop) } ```

To Reproduce

  1. Run the demo on master
  2. Run the demo on v0.7.0

Version

master

OS

Linux

gucio321 commented 8 months ago

GlyphRangesBuilder is broken. Refer https://github.com/AllenDang/cimgui-go/issues/206

gucio321 commented 4 months ago

upstream issue closed, @Geo5 there was a large change in the way how cimgui-go wraps imgui types. Could you check if this works now?

Geo5 commented 4 months ago

It does not seem to fix anything image