GithubHelp home page GithubHelp logo

aiekick / imguifontstudio Goto Github PK

View Code? Open in Web Editor NEW
375.0 11.0 33.0 28.65 MB

Embedded Font Helper Gui Tool for programming

License: Apache License 2.0

CMake 0.60% C++ 98.29% C 1.11%
imgui font subset-font embedded theme font-icons font-awesome tool software font-merge

imguifontstudio's People

Contributors

aiekick avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

imguifontstudio's Issues

How to merge all final glyphs to a new file

Hi Aiekick,

Thank you for such a cool tool!

I'm testing a feature to save all final selected fonts to a single .ttf file and generate a header for all the glyph.
In this case, no matter if a source font file in the project is used (i.e. has its glyph(s) selected), since it is a candidate and I may use it next time, a final .ttf should be exported.

I'm not sure if the "Merge" mode is the correct mode in this use case, but the Generator::GenerateFontFile_Merged function returned with error.

Any help to compile on Windows?

Trying to compile here.
I am very newbie out of Visual Studio...

Any help is appreciated.


  1. I am trying to compile on the command prompt but I am getting this error:
PS D:\_CODE\_C\ImGuiFontStudio> cmake -B my_build_directory -DCMAKE_BUILD_TYPE=BuildMode
CMake Error: The current CMakeCache.txt directory D:/_CODE/_C/ImGuiFontStudio/my_build_directory/CMakeCache.txt is different than the directory /d/_CODE/_C/ImGuiFontStudio/my_build_directory where CMakeCache.txt was created. This may result in binaries being created in the wrong place. If you are not sure, reedit the CMakeCache.txt
CMake Error: The source "D:/_CODE/_C/ImGuiFontStudio/CMakeLists.txt" does not match the source "/d/_CODE/_C/ImGuiFontStudio/CMakeLists.txt" used to generate cache.  Re-run cmake with a different source directory.
PS D:\_CODE\_C\ImGuiFontStudio> cmake --build my_build_directory --config BuildMode
CMake Error: The current CMakeCache.txt directory D:/_CODE/_C/ImGuiFontStudio/my_build_directory/CMakeCache.txt is different than the directory /d/_CODE/_C/ImGuiFontStudio/my_build_directory where CMakeCache.txt was created. This may result in binaries being created in the wrong place. If you are not sure, reedit the CMakeCache.txt
The system cannot find the file specified
CMake Error: Generator: execution of make failed. Make command was: /usr/bin/make.exe -f Makefile &&
PS D:\_CODE\_C\ImGuiFontStudio>

  1. I also tried on MSYS1 32/64 but I am having errors... OpenGL looks that is installed...
moebiussurfing@surfingMachine MINGW64 /d/_CODE/_C/ImGuiFontStudio
$ pacman -Ss glew
mingw32/mingw-w64-i686-glew 2.2.0-2 [installed]
    GLEW, The OpenGL Extension Wrangler Library (mingw-w64)
mingw64/mingw-w64-x86_64-glew 2.2.0-2 [installed]
    GLEW, The OpenGL Extension Wrangler Library (mingw-w64)
ucrt64/mingw-w64-ucrt-x86_64-glew 2.2.0-2
    GLEW, The OpenGL Extension Wrangler Library (mingw-w64)
clang32/mingw-w64-clang-i686-glew 2.2.0-2
    GLEW, The OpenGL Extension Wrangler Library (mingw-w64)
clang64/mingw-w64-clang-x86_64-glew 2.2.0-2
    GLEW, The OpenGL Extension Wrangler Library (mingw-w64)

moebiussurfing@surfingMachine MINGW64 /d/_CODE/_C/ImGuiFontStudio
$ cmake -B my_build_directory -DCMAKE_BUILD_TYPE=BuildMode
System is unknown to cmake, create:
Platform/MINGW64_NT-10.0-19044 to use this system, please post your config file on discourse.cmake.org so it can be added to cmake
Your CMakeCache.txt file was copied to CopyOfCMakeCache.txt. Please post that file on discourse.cmake.org.
CMake Error at /usr/share/cmake-3.22.1/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find OpenGL (missing: OPENGL_opengl_LIBRARY OPENGL_glx_LIBRARY)
Call Stack (most recent call first):
  /usr/share/cmake-3.22.1/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.22.1/Modules/FindOpenGL.cmake:443 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  cmake/3rdparty.cmake:14 (find_package)
  CMakeLists.txt:22 (include)

-- Configuring incomplete, errors occurred!
See also "/d/_CODE/_C/ImGuiFontStudio/my_build_directory/CMakeFiles/CMakeOutput.log".

Build on Visual Studio "lose some const-volatile qualifiers"

Describe the bug
Build error related to sfntly:

Errors:

  • ...\14.26.28720\include\xtree(1708,1): error C3848: expression having type 'const sfntly::HeaderComparatorByOffset' would lose some const-volatile qualifiers in order to call 'bool sfntly::HeaderComparatorByOffset::operator ()(sfntly::HeaderPtr,sfntly::HeaderPtr)' [...\ImGuiFontStudio\sfntly.vcxproj]
  • ...\14.26.28720\include\xtree(1698,1): error C3848: expression having type 'const sfntly::HeaderComparatorByOffset' would lose some const-volatile qualifiers in order to call 'bool sfntly::HeaderComparatorByOffset::operator ()(sfntly::HeaderPtr,sfntly::HeaderPtr)' [...\ImGuiFontStudio\sfntly.vcxproj]

To Reproduce

  1. CMake
  2. Build Solution

Visual Studio 2019 - 14.26.28720 (tested \c++lastest)

Expected behavior
Built project.

Screenshots

Desktop (please complete the following information):

  • OS: Windows
  • Browser [e.g. chrome, safari]
  • Version [master - head]

Im Merge mode, some glyphs of the resulting font are very small

If the two fonts have different Height, the resulting font will use the height of the first font.
so many glyph can be very small.

we need to scale each contours of each glyph.
so we need to inspect and modify each glyph.

for the moment, the soft copy the whole glyph data. not modify nothing inside the glyph

Header is not generated in merge mode after app start

Describe the bug
When open ImGuiFontStudio.ifs project file
Set Merged mode + Header + font + + by Name and generate
the ttf is generated bu the header cuase an error in console.
header file in .h not found
error seen in Osw and Linux only

Merged fonts not working

I did merge two different font files. Fonts from second file(tasks.ttf) is not working from generated as header+cpp. Files are attached below.

Screen Shot 2020-05-11 at 22 08 12

Header + CPP files: Archive.zip

 ImGui::MenuItem(ICON_FileMenu_ROOT); // Not showing
 ImGui::MenuItem(ICON_FileMenu_OPEN);

Screen Shot 2020-05-11 at 22 10 58

Can't compile on Fedora

Describe the bug
The ImGuiFileDialog.cmake script did not work! After fixing it finnished.
All went fine until the compiler hit ImWidgets.cpp, there where to many
errors to fix so I give up.

Desktop (please complete the following information):

  • OS: [Linux, Fedora 36]

Not a valid font file ttf error (using Windows release binary)

Describe the bug
Opening the generated ttf is giving an error.
.h file look fine.
That happened using one only font or/and merging/picking from many fonts.

Screenshots
fonts

Desktop (please complete the following information):
Windows 10

Additional context
Thats the binary that I used:
https://github.com/aiekick/ImGuiFontStudio/releases/download/b0.5/ImGuiFontStudio_Msvc_Win32.exe

Should I compile a new version from the repo by myself?

Thanks!

Bug: font studio generates broken fonts

Hi! You created an awersome tool. Thank you! But it doesn't work for me.
I get an error after generating a font:
image
As far as I understand, it tries to load just generated font, but it can't because the font is broken. Also, I tried to manually open generated font using OS font viewer and font studio, both give an error.

How I have compiled it:

  • Cloned master branch with submodules
  • Executed terminal command cmake -B build -S . -DCMAKE_BUILD_TYPE=Release
  • Then cmake --build build --config Release
    And it was built successfully.

Then I just created a new project, opened just downloaded FontAwersome font, selected all glyphs, and pressed generate. I didn't change any settings.
Font studio opened header file (ok), png (ok), but the font generated by the studio was broken, so, I got this error message.
Also, I tried different fonts.

OS: Linux 5.10
Compiler: GCC (10.2)
CMake: latest (3.19)

Screenshot:
image

I hope for your help! Thanks in advance!

Merged mode; glyph downscale look bad

Describe the bug
when a high res font is merged in a low res font, the glyphs downscale cause deformed glyphs and outside of bounding box
the inverse from low scale to high scale look nice without issues

Wrong font size

First of all this is a great tool, I love it, thank you very much.

I have a stupid problem about the font sizes. But I 'm not sure why this is happening or what is wrong. I'll be glad if you can point me to the right direction.

Here is my font icon result. As you can see only (blue area) more than half of them is active. Looks like their size is wrong. This also cause a problem MainMenuBar's size(height) and those icons are not at the center of it.
2020-05-11 14-14-50 2020-05-11 14_16_54

My settings:

Screen Shot 2020-05-11 at 14 21 49

I guess merging fonts cause this problem. When I disable merging, it works

 // ImGui::GetIO().Fonts->AddFontDefault();
    static const ImWchar icons_ranges[] = {ICON_MIN_FileMenu, ICON_MAX_FileMenu, 0};
    ImFontConfig icons_config;
    // icons_config.MergeMode = true;
    icons_config.PixelSnapH = true;
    ImGui::GetIO().Fonts->AddFontFromMemoryCompressedBase85TTF(FONT_ICON_BUFFER_NAME_FileMenu, 22.0f, &icons_config, icons_ranges);

Screen Shot 2020-05-11 at 15 11 51

Is there a way to fix this? Any suggestions?

Thank you

Development help?

Hi @aiekick,

When I was working on ImGuiFontDialog this morning I have to admit I didn't fully understand what ImGuiFontStudio was. When I mentioned ImGuiCppIcons there I didn't realize that you had this project that does the same thing and so much more. When I saw you had edited that section to mention this project, I took a closer look and wow, this is a really neat project.

I'm sorry I neglected your project with my edits there! I'm going to send you a fix for that with a better nod to this repo.

Would you mind if hacked around a bit and dropped in some PRs on this project?

I'd also like to do some work on the file dialog if you're ok with that.

Cheers,

Dan

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.