Compare commits
No commits in common. "25c8d7b01b972dfdf0db79d3d6125ef489d2d389" and "73686be9259447e8fa33a24b95d4a0335ab5b9fa" have entirely different histories.
25c8d7b01b
...
73686be925
483 changed files with 1897 additions and 216466 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -8,11 +8,7 @@ compile_commands.json
|
|||
flatpak-repo
|
||||
*.flatpak
|
||||
!build*.sh
|
||||
!build*.py
|
||||
!build.gradle
|
||||
venv
|
||||
__pycache__
|
||||
.cxx
|
||||
.gradle
|
||||
/sdl-android-project/app/jni
|
||||
wasm-rt/wasmer
|
||||
|
|
27
.gitmodules
vendored
27
.gitmodules
vendored
|
@ -1,60 +1,39 @@
|
|||
[submodule "backends/ui/imgui/IconFontCppHeaders"]
|
||||
path = backends/ui/imgui/IconFontCppHeaders
|
||||
[submodule "backends/imgui/IconFontCppHeaders"]
|
||||
path = backends/imgui/IconFontCppHeaders
|
||||
url = https://github.com/juliettef/IconFontCppHeaders.git
|
||||
required = true
|
||||
[submodule "subprojects/SDL-Mixer-X"]
|
||||
path = subprojects/SDL-Mixer-X
|
||||
url = https://github.com/WohlSoft/SDL-Mixer-X.git
|
||||
branch = 22aed1f6bcfa6912a34d3241edf3bd90498a6bc2
|
||||
required = true
|
||||
[submodule "subprojects/jsoncpp"]
|
||||
path = subprojects/jsoncpp
|
||||
url = https://github.com/open-source-parsers/jsoncpp
|
||||
branch = master
|
||||
required = true
|
||||
[submodule "subprojects/vgmstream"]
|
||||
path = subprojects/vgmstream
|
||||
url = https://github.com/vgmstream/vgmstream.git
|
||||
branch = master
|
||||
required = true
|
||||
[submodule "backends/ui/imgui/imgui"]
|
||||
path = backends/ui/imgui/imgui
|
||||
url = https://github.com/ocornut/imgui.git
|
||||
branch = v1.91.2-docking
|
||||
required = true
|
||||
[submodule "subprojects/soundtouch"]
|
||||
path = subprojects/soundtouch
|
||||
url = https://codeberg.org/soundtouch/soundtouch.git
|
||||
required = false
|
||||
[submodule "subprojects/SDL"]
|
||||
path = subprojects/SDL
|
||||
url = https://github.com/libsdl-org/SDL.git
|
||||
required = false
|
||||
[submodule "subprojects/SDL_image"]
|
||||
path = subprojects/SDL_image
|
||||
url = https://github.com/libsdl-org/SDL_image.git
|
||||
required = false
|
||||
[submodule "subprojects/libintl-lite"]
|
||||
path = subprojects/libintl-lite
|
||||
url = https://github.com/hathlife/libintl-lite.git
|
||||
required = false
|
||||
[submodule "subprojects/oboe"]
|
||||
path = subprojects/oboe
|
||||
url = https://github.com/google/oboe.git
|
||||
required = false
|
||||
[submodule "subprojects/protobuf"]
|
||||
path = subprojects/protobuf
|
||||
url = https://github.com/protocolbuffers/protobuf.git
|
||||
required = false
|
||||
url = /subprojects/protobuf
|
||||
[submodule "subprojects/fmt"]
|
||||
path = subprojects/fmt
|
||||
url = https://github.com/fmtlib/fmt.git
|
||||
branch = master
|
||||
required = true
|
||||
[submodule "subprojects/grpc"]
|
||||
path = subprojects/grpc
|
||||
url = https://github.com/grpc/grpc
|
||||
required = false
|
||||
[submodule "subprojects/googletest"]
|
||||
path = subprojects/googletest
|
||||
url = https://github.com/google/googletest.git
|
||||
|
|
627
CMakeLists.txt
627
CMakeLists.txt
|
@ -2,11 +2,9 @@ cmake_minimum_required(VERSION 3.22)
|
|||
project(looper VERSION 1.0.0 LANGUAGES C CXX)
|
||||
option(SHARED_LIB "Enables building as a shared library." OFF)
|
||||
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Emscripten")
|
||||
set(EMSCRIPTEN ON)
|
||||
message("Building for WASM.")
|
||||
set(EMSCRIPTEN ON)
|
||||
message("Building for WASM.")
|
||||
endif()
|
||||
option(TESTS "Enables unit testing" OFF)
|
||||
find_package(Threads)
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
|
||||
include(SanitizerBuildTypes)
|
||||
sanitizer_build_types(ASAN AddressSanitizer LSAN LeakSanitizer MSAN MemorySanitizer TSAN ThreadSanitizer UBSAN UndefinedBehaviorSanitizer)
|
||||
|
@ -41,102 +39,95 @@ set(JSONCPP_WITH_CMAKE_PACKAGE OFF CACHE BOOL "" FORCE)
|
|||
option(ENABLE_DBUS "Enables DBus support" ON)
|
||||
option(USE_PORTALS "Enables libportal" ON)
|
||||
if (DEFINED EMSCRIPTEN)
|
||||
option(FOR_WASMER "Enables support for wasmer" OFF)
|
||||
set(BUILD_STATIC ON CACHE BOOL "" FORCE)
|
||||
set(ENABLE_DBUS OFF CACHE BOOL "" FORCE)
|
||||
set(DOWNLOAD_AUDIO_CODECS_DEPENDENCY ON CACHE BOOL "" FORCE)
|
||||
set(SDL_MIXER_X_SHARED OFF CACHE BOOL "" FORCE)
|
||||
set(SDL_MIXER_X_STATIC ON CACHE BOOL "" FORCE)
|
||||
set(USE_OGG_VORBIS_STB ON CACHE BOOL "" FORCE)
|
||||
set(USE_OPUS OFF CACHE BOOL "" FORCE)
|
||||
set(USE_MODPLUG OFF CACHE BOOL "" FORCE)
|
||||
set(USE_GME OFF CACHE BOOL "" FORCE)
|
||||
set(USE_WAVPACK OFF CACHE BOOL "" FORCE)
|
||||
set(USE_XMP OFF CACHE BOOL "" FORCE)
|
||||
set(USE_MIDI_EDMIDI OFF CACHE BOOL "" FORCE)
|
||||
set(USE_PORTALS OFF CACHE BOOL "" FORCE)
|
||||
set(USE_SYSTEM_SDL2 ON CACHE BOOL "" FORCE)
|
||||
set(USE_MPEG OFF CACHE BOOL "" FORCE)
|
||||
set(USE_CELT OFF CACHE BOOL "" FORCE)
|
||||
set(USE_ATRAC9 OFF CACHE BOOL "" FORCE)
|
||||
set(USE_SPEEX OFF CACHE BOOL "" FORCE)
|
||||
set(BUILD_PROTOC OFF CACHE BOOL "" FORCE)
|
||||
# set(BUILD_LIBUPB OFF CACHE BOOL "" FORCE)
|
||||
set(USE_G719 OFF CACHE BOOL "" FORCE)
|
||||
set(EXTRA_FLAGS "-sUSE_VORBIS -sUSE_MPG123=1 -sUSE_ZLIB -sUSE_OGG=1 -sUSE_MODPLUG=1 -sUSE_SDL=2 -sUSE_SDL_IMAGE=2 -sNO_DISABLE_EXCEPTION_CATCHING")
|
||||
set(DEBUG_INFO ${CMAKE_BUILD_TYPE} STREQUAL Debug OR ${CMAKE_BUILD_TYPE} STREQUAL RelWithDebInfo)
|
||||
set(RELASE_OPTS ${CMAKE_BUILD_TYPE} STREQUAL Release OR ${CMAKE_BUILD_TYPE} STREQUAL RelWithDebInfo)
|
||||
set(PROFILE_ENABLED ${CMAKE_BUILD_TYPE} STREQUAL RelWithDebInfo)
|
||||
set(EXTRA_LINKER_FLAGS "-sALLOW_MEMORY_GROWTH=1 -sEXPORTED_RUNTIME_METHODS=UTF8ToString,stringToUTF8,lengthBytesUTF8 -sEXPORTED_FUNCTIONS=_malloc,_main,_memset,_write_log,_write_logln")
|
||||
if (NOT FOR_WASMER)
|
||||
set(EXTRA_LINKER_FLAGS "${EXTRA_LINKER_FLAGS} -sASYNCIFY_IMPORTS=read_file,read_storage,write_storage,remove_storage,find_keys")
|
||||
set(EXTRA_FLAGS "${EXTRA_FLAGS} --shell-file=${CMAKE_CURRENT_SOURCE_DIR}/web/shell.html --js-library=${CMAKE_CURRENT_SOURCE_DIR}/web/api.js")
|
||||
endif()
|
||||
set(OPENMP OFF CACHE BOOL "" FORCE)
|
||||
set(SOUNDSTRETCH OFF CACHE BOOL "" FORCE)
|
||||
set(SOUNDTOUCH_DLL OFF CACHE BOOL "" FORCE)
|
||||
if(DEBUG_INFO)
|
||||
option(STACK_OVERFLOW_CHECK "Enables extra stack overflow checks" OFF)
|
||||
if(${STACK_OVERFLOW_CHECK})
|
||||
set(EXTRA_LINKER_FLAGS "${EXTRA_LINKER_FLAGS} -sSTACK_OVERFLOW_CHECK=2")
|
||||
endif()
|
||||
set(EXTRA_FLAGS "${EXTRA_FLAGS} -g -gsource-map")
|
||||
set(EXTRA_LINKER_FLAGS "${EXTRA_LINKER_FLAGS} --emit-symbol-map -sASSERTIONS=1")
|
||||
endif()
|
||||
if(RELEASE_OPTS)
|
||||
set(EXTRA_FLAGS "${EXTRA_FLAGS} -flto")
|
||||
set(EXTRA_LINKER_FLAGS "${EXTRA_LINKER_FLAGS} --closure 1")
|
||||
endif()
|
||||
if(PROFILE_ENABLED)
|
||||
set(EXTRA_LINKER_FLAGS "${EXTRA_LINKER_FLAGS} --profiling --profiling-funcs")
|
||||
endif()
|
||||
set(CMAKE_FIND_ROOT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/web/cmake" ${CMAKE_FIND_ROOT_PATH})
|
||||
set(SDL2_DIR ${CMAKE_CURRENT_SOURCE_DIR}/web/cmake)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_FLAGS}")
|
||||
set(EXTRA_LINKER_FLAGS "${EXTRA_LINKER_FLAGS} ${EXTRA_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${EXTRA_LINKER_FLAGS}")
|
||||
set(BUILD_STATIC ON CACHE BOOL "" FORCE)
|
||||
set(ENABLE_DBUS OFF CACHE BOOL "" FORCE)
|
||||
set(DOWNLOAD_AUDIO_CODECS_DEPENDENCY ON CACHE BOOL "" FORCE)
|
||||
set(SDL_MIXER_X_SHARED OFF CACHE BOOL "" FORCE)
|
||||
set(SDL_MIXER_X_STATIC ON CACHE BOOL "" FORCE)
|
||||
set(USE_OGG_VORBIS_STB ON CACHE BOOL "" FORCE)
|
||||
set(USE_OPUS OFF CACHE BOOL "" FORCE)
|
||||
set(USE_MODPLUG OFF CACHE BOOL "" FORCE)
|
||||
set(USE_GME OFF CACHE BOOL "" FORCE)
|
||||
set(USE_WAVPACK OFF CACHE BOOL "" FORCE)
|
||||
set(USE_XMP OFF CACHE BOOL "" FORCE)
|
||||
set(USE_MIDI_EDMIDI OFF CACHE BOOL "" FORCE)
|
||||
set(USE_PORTALS OFF CACHE BOOL "" FORCE)
|
||||
set(USE_SYSTEM_SDL2 ON CACHE BOOL "" FORCE)
|
||||
set(USE_MPEG OFF CACHE BOOL "" FORCE)
|
||||
set(USE_CELT OFF CACHE BOOL "" FORCE)
|
||||
set(USE_ATRAC9 OFF CACHE BOOL "" FORCE)
|
||||
set(USE_SPEEX OFF CACHE BOOL "" FORCE)
|
||||
set(USE_G719 OFF CACHE BOOL "" FORCE)
|
||||
set(EXTRA_FLAGS "-sUSE_VORBIS -sUSE_MPG123=1 -sUSE_ZLIB -sUSE_OGG=1 -sUSE_MODPLUG=1 -sUSE_SDL=2 -sUSE_SDL_IMAGE=2 --shell-file=${CMAKE_CURRENT_SOURCE_DIR}/web/shell.html --js-library=${CMAKE_CURRENT_SOURCE_DIR}/web/api.js -sNO_DISABLE_EXCEPTION_CATCHING")
|
||||
set(DEBUG_INFO ${CMAKE_BUILD_TYPE} STREQUAL Debug OR ${CMAKE_BUILD_TYPE} STREQUAL RelWithDebInfo)
|
||||
set(RELASE_OPTS ${CMAKE_BUILD_TYPE} STREQUAL Release OR ${CMAKE_BUILD_TYPE} STREQUAL RelWithDebInfo)
|
||||
set(PROFILE_ENABLED ${CMAKE_BUILD_TYPE} STREQUAL RelWithDebInfo)
|
||||
set(EXTRA_LINKER_FLAGS "-sALLOW_MEMORY_GROWTH=1 -sEXPORTED_RUNTIME_METHODS=UTF8ToString,stringToUTF8,lengthBytesUTF8 -sEXPORTED_FUNCTIONS=_malloc,_main,_memset,_write_log,_write_logln -sASYNCIFY_IMPORTS=read_file,read_storage,write_storage,remove_storage,find_keys")
|
||||
set(OPENMP OFF CACHE BOOL "" FORCE)
|
||||
set(SOUNDSTRETCH OFF CACHE BOOL "" FORCE)
|
||||
set(SOUNDTOUCH_DLL OFF CACHE BOOL "" FORCE)
|
||||
if(DEBUG_INFO)
|
||||
option(STACK_OVERFLOW_CHECK "Enables extra stack overflow checks" OFF)
|
||||
if(${STACK_OVERFLOW_CHECK})
|
||||
set(EXTRA_LINKER_FLAGS "${EXTRA_LINKER_FLAGS} -sSTACK_OVERFLOW_CHECK=2")
|
||||
endif()
|
||||
set(EXTRA_FLAGS "${EXTRA_FLAGS} -g -gsource-map")
|
||||
set(EXTRA_LINKER_FLAGS "${EXTRA_LINKER_FLAGS} --emit-symbol-map -sASSERTIONS=1")
|
||||
endif()
|
||||
if(RELEASE_OPTS)
|
||||
set(EXTRA_FLAGS "${EXTRA_FLAGS} -flto")
|
||||
set(EXTRA_LINKER_FLAGS "${EXTRA_LINKER_FLAGS} --closure 1")
|
||||
endif()
|
||||
if(PROFILE_ENABLED)
|
||||
set(EXTRA_LINKER_FLAGS "${EXTRA_LINKER_FLAGS} --profiling --profiling-funcs")
|
||||
endif()
|
||||
set(CMAKE_FIND_ROOT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/web/cmake" ${CMAKE_FIND_ROOT_PATH})
|
||||
set(SDL2_DIR ${CMAKE_CURRENT_SOURCE_DIR}/web/cmake)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_FLAGS}")
|
||||
set(EXTRA_LINKER_FLAGS "${EXTRA_LINKER_FLAGS} ${EXTRA_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${EXTRA_LINKER_FLAGS}")
|
||||
else()
|
||||
set(BUILD_STATIC OFF CACHE BOOL "")
|
||||
set(BUILD_STATIC OFF CACHE BOOL "")
|
||||
endif()
|
||||
option(BUILD_SDL "Enables built-in SDL" OFF)
|
||||
option(BUILD_SDL_IMAGE "Enables built-in SDL_image" ${BUILD_SDL})
|
||||
if(DEFINED ANDROID_NDK)
|
||||
set(USE_SYSTEM_SDL2 ON CACHE BOOL "" FORCE)
|
||||
set(AUDIOCODECS_BUILD_TIMIDITYSDL OFF CACHE BOOL "" FORCE)
|
||||
set(AUDIOCODECS_BUILD_OPUS OFF CACHE BOOL "" FORCE)
|
||||
set(USE_OGG_VORBIS_STB ON CACHE BOOL "" FORCE)
|
||||
set(AUDIOCODECS_BUILD_WAVPACK OFF CACHE BOOL "" FORCE)
|
||||
set(USE_WAVPACK OFF CACHE BOOL "" FORCE)
|
||||
set(USE_MODPLUG OFF CACHE BOOL "" FORCE)
|
||||
set(USE_XMP OFF CACHE BOOL "" FORCE)
|
||||
set(USE_GME OFF CACHE BOOL "" FORCE)
|
||||
set(USE_MIDI_EDMIDI OFF CACHE BOOL "" FORCE)
|
||||
set(USE_OPUS OFF CACHE BOOL "" FORCE)
|
||||
set(USE_MPEG OFF CACHE BOOL "" FORCE)
|
||||
set(USE_CELT OFF CACHE BOOL "" FORCE)
|
||||
set(USE_ATRAC9 OFF CACHE BOOL "" FORCE)
|
||||
set(USE_SPEEX OFF CACHE BOOL "" FORCE)
|
||||
set(USE_G719 OFF CACHE BOOL "" FORCE)
|
||||
set(USE_VORBIS OFF CACHE BOOL "" FORCE)
|
||||
set(USE_SYSTEM_SDL2 ON CACHE BOOL "" FORCE)
|
||||
set(AUDIOCODECS_BUILD_TIMIDITYSDL OFF CACHE BOOL "" FORCE)
|
||||
set(AUDIOCODECS_BUILD_OPUS OFF CACHE BOOL "" FORCE)
|
||||
set(USE_OGG_VORBIS_STB ON CACHE BOOL "" FORCE)
|
||||
set(AUDIOCODECS_BUILD_WAVPACK OFF CACHE BOOL "" FORCE)
|
||||
set(USE_WAVPACK OFF CACHE BOOL "" FORCE)
|
||||
set(USE_MODPLUG OFF CACHE BOOL "" FORCE)
|
||||
set(USE_XMP OFF CACHE BOOL "" FORCE)
|
||||
set(USE_GME OFF CACHE BOOL "" FORCE)
|
||||
set(USE_MIDI_EDMIDI OFF CACHE BOOL "" FORCE)
|
||||
set(USE_OPUS OFF CACHE BOOL "" FORCE)
|
||||
set(USE_MPEG OFF CACHE BOOL "" FORCE)
|
||||
set(USE_CELT OFF CACHE BOOL "" FORCE)
|
||||
set(USE_ATRAC9 OFF CACHE BOOL "" FORCE)
|
||||
set(USE_SPEEX OFF CACHE BOOL "" FORCE)
|
||||
set(USE_G719 OFF CACHE BOOL "" FORCE)
|
||||
set(USE_VORBIS OFF CACHE BOOL "" FORCE)
|
||||
endif()
|
||||
if (BUILD_SDL)
|
||||
set(SDL_SHARED OFF CACHE BOOL "" FORCE)
|
||||
set(SDL_STATIC ON CACHE BOOL "" FORCE)
|
||||
set(SDL_TEST OFF CACHE BOOL "" FORCE)
|
||||
set(USE_SYSTEM_SDL2 ON CACHE BOOL "" FORCE)
|
||||
set(SDL_MIXER_X_STATIC ON CACHE BOOL "" FORCE)
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/subprojects/SDL)
|
||||
install(TARGETS SDL2-static SDL2main EXPORT SDL_EXPORTS)
|
||||
install(EXPORT SDL_EXPORTS DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
|
||||
export(TARGETS SDL2-static sdl-build-options SDL2main FILE ${CMAKE_CURRENT_BINARY_DIR}/SDL2Config.cmake NAMESPACE SDL2)
|
||||
set(SDL2_DIR ${CMAKE_CURRENT_SOURCE_DIR}/cmake/built_sdl)
|
||||
set(SDL_SHARED OFF CACHE BOOL "" FORCE)
|
||||
set(SDL_STATIC ON CACHE BOOL "" FORCE)
|
||||
set(SDL_TEST OFF CACHE BOOL "" FORCE)
|
||||
set(USE_SYSTEM_SDL2 ON CACHE BOOL "" FORCE)
|
||||
set(SDL_MIXER_X_STATIC ON CACHE BOOL "" FORCE)
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/subprojects/SDL)
|
||||
install(TARGETS SDL2-static SDL2main EXPORT SDL_EXPORTS)
|
||||
install(EXPORT SDL_EXPORTS DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
|
||||
export(TARGETS SDL2-static sdl-build-options SDL2main FILE ${CMAKE_CURRENT_BINARY_DIR}/SDL2Config.cmake NAMESPACE SDL2)
|
||||
set(SDL2_DIR ${CMAKE_CURRENT_SOURCE_DIR}/cmake/built_sdl)
|
||||
endif()
|
||||
if (BUILD_SDL_IMAGE)
|
||||
set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
|
||||
set(SDL2IMAGE_SAMPLES OFF CACHE BOOL "" FORCE)
|
||||
set(SDL2IMAGE_TESTS OFF CACHE BOOL "" FORCE)
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/subprojects/SDL_image)
|
||||
set(SDL2_image_DIR ${CMAKE_CURRENT_SOURCE_DIR}/cmake/built_sdl_image)
|
||||
set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
|
||||
set(SDL2IMAGE_SAMPLES OFF CACHE BOOL "" FORCE)
|
||||
set(SDL2IMAGE_TESTS OFF CACHE BOOL "" FORCE)
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/subprojects/SDL_image)
|
||||
set(SDL2_image_DIR ${CMAKE_CURRENT_SOURCE_DIR}/cmake/built_sdl_image)
|
||||
endif()
|
||||
find_package(PkgConfig)
|
||||
#add_subdirectory(subprojects/jsoncpp)
|
||||
|
@ -145,26 +136,26 @@ include(GNUInstallDirs)
|
|||
add_subdirectory(subprojects/SDL-Mixer-X)
|
||||
add_subdirectory(subprojects/vgmstream)
|
||||
if (DEFINED EMSCRIPTEN)
|
||||
set(EXTRA_LIBS )
|
||||
set(EXTRA_LIBS )
|
||||
else()
|
||||
set(EXTRA_LIBS libvgmstream_shared)
|
||||
set(EXTRA_LIBS libvgmstream_shared)
|
||||
endif()
|
||||
if(SDL_MIXER_X_STATIC)
|
||||
set(SDL_MIXER_X_TARGET SDL2_mixer_ext_Static)
|
||||
set(SDL_MIXER_X_TARGET SDL2_mixer_ext_Static)
|
||||
else()
|
||||
set(SDL_MIXER_X_TARGET SDL2_mixer_ext)
|
||||
set(EXTRA_LIBS ${EXTRA_LIBS} ${SDL_MIXER_X_TARGET})
|
||||
set(SDL_MIXER_X_TARGET SDL2_mixer_ext)
|
||||
set(EXTRA_LIBS ${EXTRA_LIBS} ${SDL_MIXER_X_TARGET})
|
||||
endif()
|
||||
add_custom_target(looper_assets COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/assets/update_assets.py WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
|
||||
find_package(Git)
|
||||
if (Git_FOUND)
|
||||
execute_process(COMMAND ./version.sh OUTPUT_VARIABLE TAG WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
message("" ${TAG})
|
||||
execute_process(COMMAND ./version.sh OUTPUT_VARIABLE TAG WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
message("" ${TAG})
|
||||
else()
|
||||
set(TAG "unknown")
|
||||
set(TAG "unknown")
|
||||
endif()
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(DEBUG ON)
|
||||
set(DEBUG ON)
|
||||
endif()
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
|
||||
|
@ -174,251 +165,244 @@ set(DEBUG_MODE_VALUE ${DEBUG})
|
|||
configure_file(config.cmake.h.in config.h)
|
||||
add_subdirectory(subprojects/fmt)
|
||||
macro(target_pkgconfig)
|
||||
push_fnstack("target_pkgconfig")
|
||||
cmake_parse_arguments(PARSED_ARGS "OPTIONAL;PRIVATE;PUBLIC;INTERFACE" "PREFIX" "TARGETS;LIBRARIES" ${ARGN})
|
||||
if (NOT ${PARSED_ARGS_PREFIX})
|
||||
warning(MESSAGE "No prefix specified for reading thie PKGConfig variable to. Attempting to guess it from the library specification...")
|
||||
if (NOT ${PARSED_ARGS_LIBRARIES})
|
||||
fatal(MESSAGE "... But it turns out no library specification was specified. Giving up.")
|
||||
else()
|
||||
set(PARSED_ARGS_PREFIX ${PARSED_ARGS_LIBRARIES})
|
||||
endif()
|
||||
else()
|
||||
if(NOT ${PARSED_ARGS_NAME})
|
||||
warning(MESSAGE "No library name was specified. Assuming it is the same as the prefix.")
|
||||
set(PARSED_ARGS_LIBSPEC ${PARSED_ARGS_LIBRARIES})
|
||||
endif()
|
||||
endif()
|
||||
pkg_check_modules(${PARSED_ARGS_PREFIX} IMPORTED_TARGET ${PARSED_ARGS_LIBRARIES})
|
||||
set(PARSED_ARGS_PUBLICITY PRIVATE)
|
||||
if(${PARSED_ARGS_PRIVATE})
|
||||
set(PARSED_ARGS_PUBLICITY PRIVATE)
|
||||
elseif(${PARSED_ARGS_PUBLIC})
|
||||
set(PARSED_ARGS_PUBLICITY PUBLIC)
|
||||
elseif(${PARSED_ARGS_INTERFACE})
|
||||
set(PARSED_ARGS_PUBLICITY INTERFACE)
|
||||
endif()
|
||||
foreach(TARGET IN ITEMS ${PARSED_ARGS_TARGETS})
|
||||
target_link_libraries(${TARGET} ${PARSED_ARGS_PUBLICITY} PkgConfig::${PARSED_ARGS_PREFIX})
|
||||
endforeach()
|
||||
pop_fnstack()
|
||||
push_fnstack("target_pkgconfig")
|
||||
cmake_parse_arguments(PARSED_ARGS "OPTIONAL;PRIVATE;PUBLIC;INTERFACE" "PREFIX" "TARGETS;LIBRARIES" ${ARGN})
|
||||
if (NOT ${PARSED_ARGS_PREFIX})
|
||||
warning(MESSAGE "No prefix specified for reading thie PKGConfig variable to. Attempting to guess it from the library specification...")
|
||||
if (NOT ${PARSED_ARGS_LIBRARIES})
|
||||
fatal(MESSAGE "... But it turns out no library specification was specified. Giving up.")
|
||||
else()
|
||||
set(PARSED_ARGS_PREFIX ${PARSED_ARGS_LIBRARIES})
|
||||
endif()
|
||||
else()
|
||||
if(NOT ${PARSED_ARGS_NAME})
|
||||
warning(MESSAGE "No library name was specified. Assuming it is the same as the prefix.")
|
||||
set(PARSED_ARGS_LIBSPEC ${PARSED_ARGS_LIBRARIES})
|
||||
endif()
|
||||
endif()
|
||||
pkg_check_modules(${PARSED_ARGS_PREFIX} IMPORTED_TARGET ${PARSED_ARGS_LIBRARIES})
|
||||
set(PARSED_ARGS_PUBLICITY PRIVATE)
|
||||
if(${PARSED_ARGS_PRIVATE})
|
||||
set(PARSED_ARGS_PUBLICITY PRIVATE)
|
||||
elseif(${PARSED_ARGS_PUBLIC})
|
||||
set(PARSED_ARGS_PUBLICITY PUBLIC)
|
||||
elseif(${PARSED_ARGS_INTERFACE})
|
||||
set(PARSED_ARGS_PUBLICITY INTERFACE)
|
||||
endif()
|
||||
foreach(TARGET IN ITEMS ${PARSED_ARGS_TARGETS})
|
||||
target_link_libraries(${TARGET} ${PARSED_ARGS_PUBLICITY} PkgConfig::${PARSED_ARGS_PREFIX})
|
||||
endforeach()
|
||||
pop_fnstack()
|
||||
endmacro()
|
||||
set(INC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} subprojects/vgmstream/src subprojects/vgmstream/src/base)
|
||||
set(UI_BACKENDS "")
|
||||
list(POP_FRONT UI_BACKENDS)
|
||||
macro(prefix_all)
|
||||
set(ARGS ${ARGV})
|
||||
list(POP_FRONT ARGS OUT_VAR PREFIX)
|
||||
set(${OUT_VAR} )
|
||||
foreach(ARG IN ITEMS ${ARGS})
|
||||
list(APPEND ${OUT_VAR} ${PREFIX}${ARG})
|
||||
endforeach()
|
||||
set(ARGS ${ARGV})
|
||||
list(POP_FRONT ARGS OUT_VAR PREFIX)
|
||||
set(${OUT_VAR} )
|
||||
foreach(ARG IN ITEMS ${ARGS})
|
||||
list(APPEND ${OUT_VAR} ${PREFIX}${ARG})
|
||||
endforeach()
|
||||
endmacro()
|
||||
find_package(Protobuf REQUIRED)
|
||||
find_package(gRPC CONFIG REQUIRED)
|
||||
|
||||
if(BUILD_PROTOBUF)
|
||||
set(_PROTOBUF_LIBPROTOBUF protobuf::libprotobuf)
|
||||
else()
|
||||
set(_PROTOBUF_LIBPROTOBUF protobuf::libprotobuf)
|
||||
endif()
|
||||
set(_PROTOBUF_LIBPROTOBUF ${Protobuf_LIBRARY_RELEASE})
|
||||
set(_REFLECTION gRPC::grpc++_reflection)
|
||||
set(_GRPC_GRPCPP gRPC::grpc++)
|
||||
find_program(_GRPC_CPP_PLUGIN_EXE grpc_cpp_plugin)
|
||||
find_program(_PROTOBUF_PROTOC protoc)
|
||||
function(grpc_proto)
|
||||
cmake_parse_arguments(GRPC_PROTO "" "TARGET"
|
||||
"SOURCES" ${ARGV})
|
||||
foreach (GRPC_PROTO_SOURCE ${GRPC_PROTO_SOURCES})
|
||||
set(GRPC_PROTO_SRCS)
|
||||
set(GRPC_PROTO_HDRS)
|
||||
get_filename_component(src_stem "${GRPC_PROTO_SOURCE}" NAME_WE)
|
||||
get_filename_component(src_path "${GRPC_PROTO_SOURCE}" DIRECTORY)
|
||||
cmake_path(RELATIVE_PATH src_path BASE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT_VARIABLE src_rel_path)
|
||||
set(src_out ${CMAKE_CURRENT_BINARY_DIR}/${src_rel_path})
|
||||
message("Output directory: ${src_out}")
|
||||
list(APPEND GRPC_PROTO_SRCS ${src_out}/${src_stem}.pb.cc)
|
||||
list(APPEND GRPC_PROTO_HDRS ${src_out}/${src_stem}.pb.h)
|
||||
make_directory(${src_out})
|
||||
add_custom_command(
|
||||
OUTPUT ${GRPC_PROTO_SRCS} ${GRPC_PROTO_HDRS}
|
||||
COMMAND ${_PROTOBUF_PROTOC}
|
||||
--cpp_out "${src_out}"
|
||||
-I "${src_path}"
|
||||
"${GRPC_PROTO_SOURCE}"
|
||||
DEPENDS "${GRPC_PROTO_SOURCE}"
|
||||
)
|
||||
target_sources(${GRPC_PROTO_TARGET} PRIVATE ${GRPC_PROTO_SRCS})
|
||||
target_include_directories(${GRPC_PROTO_TARGET} PRIVATE ${src_out})
|
||||
endforeach()
|
||||
target_include_directories(${GRPC_PROTO_TARGET} PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
|
||||
if (BUILD_PROTOBUF)
|
||||
target_include_directories(${GRPC_PROTO_TARGET} PUBLIC ${CMAKE_SOURCE_DIR}/subprojects/protobuf/src ${CMAKE_SOURCE_DIR}/subprojects/protobuf/third_party/abseil-cpp)
|
||||
endif()
|
||||
target_link_libraries(${GRPC_PROTO_TARGET} PUBLIC ${_PROTOBUF_LIBPROTOBUF})
|
||||
cmake_parse_arguments(GRPC_PROTO "" "TARGET"
|
||||
"SOURCES" ${ARGV})
|
||||
foreach (GRPC_PROTO_SOURCE ${GRPC_PROTO_SOURCES})
|
||||
set(GRPC_PROTO_SRCS)
|
||||
set(GRPC_PROTO_HDRS)
|
||||
set(GRPC_GRPC_SRCS)
|
||||
set(GRPC_GRPC_HDRS)
|
||||
get_filename_component(src_stem "${GRPC_PROTO_SOURCE}" NAME_WE)
|
||||
get_filename_component(src_path "${GRPC_PROTO_SOURCE}" DIRECTORY)
|
||||
cmake_path(RELATIVE_PATH src_path BASE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT_VARIABLE src_rel_path)
|
||||
set(src_out ${CMAKE_CURRENT_BINARY_DIR}/${src_rel_path})
|
||||
message("Output directory: ${src_out}")
|
||||
list(APPEND GRPC_PROTO_SRCS ${src_out}/${src_stem}.pb.cc)
|
||||
list(APPEND GRPC_PROTO_HDRS ${src_out}/${src_stem}.pb.h)
|
||||
list(APPEND GRPC_GRPC_SRCS ${src_out}/${src_stem}.grpc.pb.cc)
|
||||
list(APPEND GRPC_GRPC_HDRS ${src_out}/${src_stem}.grpc.pb.h)
|
||||
make_directory(${src_out})
|
||||
add_custom_command(
|
||||
OUTPUT ${GRPC_PROTO_SRCS} ${GRPC_PROTO_HDRS} ${GRPC_GRPC_SRCS} ${GRPC_GRPC_HDRS}
|
||||
COMMAND ${_PROTOBUF_PROTOC}
|
||||
ARGS --grpc_out "${src_out}"
|
||||
--cpp_out "${src_out}"
|
||||
-I "${src_path}"
|
||||
--plugin=protoc-gen-grpc="${_GRPC_CPP_PLUGIN_EXE}"
|
||||
"${GRPC_PROTO_SOURCE}"
|
||||
DEPENDS "${GRPC_PROTO_SOURCE}"
|
||||
)
|
||||
target_sources(${GRPC_PROTO_TARGET} PRIVATE ${GRPC_PROTO_SRCS} ${GRPC_GRPC_SRCS})
|
||||
target_include_directories(${GRPC_PROTO_TARGET} PRIVATE ${src_out})
|
||||
endforeach()
|
||||
target_include_directories(${GRPC_PROTO_TARGET} PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
|
||||
target_link_libraries(${GRPC_PROTO_TARGET} PUBLIC ${_REFLECTION} ${_GRPC_GRPCPP} ${_PROTOBUF_LIBPROTOBUF})
|
||||
endfunction()
|
||||
prefix_all(LIBRARY_SOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/
|
||||
backend.cpp
|
||||
options.cpp
|
||||
playback.cpp
|
||||
util.cpp
|
||||
log.cpp
|
||||
dbus.cpp
|
||||
file_backend.cpp
|
||||
playback_backend.cpp
|
||||
translation.cpp
|
||||
playback_process.cpp
|
||||
base85.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/
|
||||
backend.cpp
|
||||
options.cpp
|
||||
playback.cpp
|
||||
util.cpp
|
||||
log.cpp
|
||||
dbus.cpp
|
||||
file_backend.cpp
|
||||
playback_backend.cpp
|
||||
translation.cpp
|
||||
playback_process.cpp
|
||||
)
|
||||
add_library(liblooper STATIC ${LIBRARY_SOURCES})
|
||||
if(FOR_WASMER)
|
||||
target_compile_definitions(liblooper PUBLIC FOR_WASMER)
|
||||
endif()
|
||||
grpc_proto(TARGET liblooper SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/ipc/internal.proto ${CMAKE_CURRENT_SOURCE_DIR}/ipc/common.proto)
|
||||
target_include_directories(liblooper PUBLIC ${INC})
|
||||
target_link_libraries(liblooper PUBLIC grpc++)
|
||||
target_include_directories(liblooper PUBLIC)
|
||||
set(JSONCPP_TARGET PkgConfig::jsoncpp)
|
||||
set(SOUNDTOUCH_TARGET PkgConfig::SoundTouch)
|
||||
function(set_to_value_of_condition var)
|
||||
if (${ARGN})
|
||||
set(${var} ON PARENT_SCOPE)
|
||||
else()
|
||||
set(${var} OFF PARENT_SCOPE)
|
||||
endif()
|
||||
if (${ARGN})
|
||||
set(${var} ON PARENT_SCOPE)
|
||||
else()
|
||||
set(${var} OFF PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
set_to_value_of_condition(BUILD_THIRDPARTY DEFINED EMSCRIPTEN OR DEFINED ANDROID_NDK)
|
||||
find_package(Intl)
|
||||
set_to_value_of_condition(_USE_LIBINTL_LITE NOT Intl_FOUND)
|
||||
option(BUILD_JSONCPP "Builds JsonCpp instead of using the system package." ${BUILD_THIRDPARTY})
|
||||
option(BUILD_SOUNDTOUCH "Builds SoundTouch instead of using the system package" ${BUILD_THIRDPARTY})
|
||||
option(BUILD_PROTOBUF "Builds protobuf instead of using the system package" ${BUILD_THIRDPARTY})
|
||||
option(USE_LIBINTL_LITE "Set to ON to build and use libintl-lite" ${_USE_LIBINTL_LITE})
|
||||
set(LIBINTL_LIBRARY)
|
||||
set(LIBINTL_INCDIRS)
|
||||
if(BUILD_JSONCPP)
|
||||
add_subdirectory(subprojects/jsoncpp)
|
||||
set(JSONCPP_TARGET jsoncpp_static)
|
||||
add_subdirectory(subprojects/jsoncpp)
|
||||
set(JSONCPP_TARGET jsoncpp_static)
|
||||
endif()
|
||||
if(BUILD_SOUNDTOUCH)
|
||||
set(SOUNDSTRETCH OFF CACHE BOOL "" FORCE)
|
||||
set(INTEGER_SAMPLES OFF CACHE BOOL "")
|
||||
add_subdirectory(subprojects/soundtouch)
|
||||
set(SOUNDTOUCH_TARGET SoundTouch)
|
||||
endif()
|
||||
if(BUILD_PROTOBUF)
|
||||
add_subdirectory(subprojects/protobuf)
|
||||
else()
|
||||
find_package(protobuf REQUIRED)
|
||||
find_package(absl CONFIG REQUIRED)
|
||||
add_subdirectory(subprojects/soundtouch)
|
||||
set(SOUNDTOUCH_TARGET SoundTouch)
|
||||
endif()
|
||||
if(USE_LIBINTL_LITE)
|
||||
add_subdirectory(subprojects/libintl-lite)
|
||||
set(LIBINTL_LIBRARY intl CACHE INTERNAL "")
|
||||
set(LIBINTL_INCDIRS "subprojects/libintl-lite" CACHE INTERNAL "")
|
||||
add_subdirectory(subprojects/libintl-lite)
|
||||
set(LIBINTL_LIBRARY intl CACHE INTERNAL "")
|
||||
set(LIBINTL_INCDIRS "subprojects/libintl-lite" CACHE INTERNAL "")
|
||||
else()
|
||||
find_package(Intl REQUIRED)
|
||||
set(LIBINTL_LIBRARY Intl::Intl CACHE INTERNAL "")
|
||||
set(LIBINTL_INCDIRS ${Intl_INCLUDE_DIRS} CACHE INTERNAL "")
|
||||
find_package(Intl REQUIRED)
|
||||
set(LIBINTL_LIBRARY Intl::Intl CACHE INTERNAL "")
|
||||
set(LIBINTL_INCDIRS ${Intl_INCLUDE_DIRS} CACHE INTERNAL "")
|
||||
endif()
|
||||
if (DEFINED ANDROID_NDK)
|
||||
add_subdirectory(subprojects/oboe)
|
||||
target_link_libraries(liblooper PUBLIC oboe)
|
||||
add_subdirectory(subprojects/oboe)
|
||||
target_link_libraries(liblooper PUBLIC oboe)
|
||||
endif()
|
||||
find_package(absl CONFIG REQUIRED)
|
||||
target_link_libraries(liblooper PUBLIC ${Protobuf_LIBRARY_RELEASE} fmt::fmt)
|
||||
target_include_directories(liblooper PUBLIC ${LIBINTL_INCDIRS})
|
||||
target_link_libraries(liblooper PUBLIC ${LIBINTL_LIBRARY})
|
||||
if(DEFINED EMSCRIPTEN)
|
||||
target_link_libraries(liblooper PUBLIC ${SDL_MIXER_X_TARGET} ${SOUNDTOUCH_TARGET} libvgmstream ${JSONCPP_TARGET})
|
||||
target_compile_options(liblooper PUBLIC "-sUSE_SDL=2")
|
||||
target_link_libraries(liblooper PUBLIC ${SDL_MIXER_X_TARGET} ${SOUNDTOUCH_TARGET} libvgmstream ${JSONCPP_TARGET})
|
||||
target_compile_options(liblooper PUBLIC "-sUSE_SDL=2")
|
||||
else()
|
||||
if(NOT BUILD_SOUNDTOUCH)
|
||||
pkg_check_modules(SoundTouch IMPORTED_TARGET soundtouch)
|
||||
endif()
|
||||
if (NOT BUILD_JSONCPP)
|
||||
pkg_check_modules(jsoncpp IMPORTED_TARGET jsoncpp)
|
||||
endif()
|
||||
if (NOT BUILD_SDL)
|
||||
find_package(SDL2 REQUIRED)
|
||||
endif()
|
||||
if (ENABLE_DBUS)
|
||||
find_package(sdbus-c++)
|
||||
if(NOT ${sdbus-c++_FOUND})
|
||||
set(ENABLE_DBUS OFF)
|
||||
message("Warning: Dbus support not found - Not enabling DBus")
|
||||
endif()
|
||||
endif()
|
||||
set(SDL2_TARGET SDL2::SDL2)
|
||||
if (TARGET SDL2-static)
|
||||
set(SDL2_TARGET SDL2-static)
|
||||
endif()
|
||||
target_link_libraries(liblooper PUBLIC ${SDL2_TARGET} SDL2main ${SDL_MIXER_X_TARGET} ${SOUNDTOUCH_TARGET} libvgmstream libvgmstream_shared ${JSONCPP_TARGET})
|
||||
if(NOT BUILD_SOUNDTOUCH)
|
||||
pkg_check_modules(SoundTouch IMPORTED_TARGET soundtouch)
|
||||
endif()
|
||||
if (NOT BUILD_JSONCPP)
|
||||
pkg_check_modules(jsoncpp IMPORTED_TARGET jsoncpp)
|
||||
endif()
|
||||
if (NOT BUILD_SDL)
|
||||
find_package(SDL2 REQUIRED)
|
||||
endif()
|
||||
if (ENABLE_DBUS)
|
||||
find_package(sdbus-c++)
|
||||
if(NOT ${sdbus-c++_FOUND})
|
||||
set(ENABLE_DBUS OFF)
|
||||
message("Warning: Dbus support not found - Not enabling DBus")
|
||||
endif()
|
||||
endif()
|
||||
set(SDL2_TARGET SDL2::SDL2)
|
||||
if (TARGET SDL2-static)
|
||||
set(SDL2_TARGET SDL2-static)
|
||||
endif()
|
||||
target_link_libraries(liblooper PUBLIC ${SDL2_TARGET} SDL2main ${SDL_MIXER_X_TARGET} ${SOUNDTOUCH_TARGET} libvgmstream libvgmstream_shared ${JSONCPP_TARGET})
|
||||
endif()
|
||||
if (${ENABLE_DBUS})
|
||||
target_link_libraries(liblooper PUBLIC SDBusCpp::sdbus-c++)
|
||||
target_compile_definitions(liblooper PUBLIC DBUS_ENABLED)
|
||||
target_link_libraries(liblooper PUBLIC SDBusCpp::sdbus-c++)
|
||||
target_compile_definitions(liblooper PUBLIC DBUS_ENABLED)
|
||||
endif()
|
||||
macro(add_ui_backend)
|
||||
set(ARGS ${ARGV})
|
||||
list(POP_FRONT ARGS target)
|
||||
add_library(${target} STATIC ${ARGS})
|
||||
message("Enabling UI backend '" ${target} "'...")
|
||||
list(APPEND UI_BACKENDS ${target})
|
||||
set(UI_BACKENDS ${UI_BACKENDS} PARENT_SCOPE)
|
||||
add_dependencies(${target} looper_assets)
|
||||
target_include_directories(${target} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${INC})
|
||||
target_link_libraries(${target} PRIVATE liblooper)
|
||||
if(${USE_PORTALS})
|
||||
target_pkgconfig(TARGETS ${target} PRIVATE PREFIX libPortal LIBRARIES libportal)
|
||||
if (NOT ${libPortal_FOUND} EQUAL "1")
|
||||
set(USE_PORTALS OFF)
|
||||
else()
|
||||
info("Enabling libportal support...")
|
||||
target_compile_definitions(imgui_ui PRIVATE "PORTALS")
|
||||
endif()
|
||||
endif()
|
||||
set(ARGS ${ARGV})
|
||||
list(POP_FRONT ARGS target)
|
||||
add_library(${target} STATIC ${ARGS})
|
||||
message("Enabling UI backend '" ${target} "'...")
|
||||
list(APPEND UI_BACKENDS ${target})
|
||||
set(UI_BACKENDS ${UI_BACKENDS} PARENT_SCOPE)
|
||||
add_dependencies(${target} looper_assets)
|
||||
target_include_directories(${target} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${INC})
|
||||
target_link_libraries(${target} PRIVATE liblooper)
|
||||
if(${USE_PORTALS})
|
||||
target_pkgconfig(TARGETS ${target} PRIVATE PREFIX libPortal LIBRARIES libportal)
|
||||
if (NOT ${libPortal_FOUND} EQUAL "1")
|
||||
set(USE_PORTALS OFF)
|
||||
else()
|
||||
info("Enabling libportal support...")
|
||||
target_compile_definitions(imgui_ui PRIVATE "PORTALS")
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
macro(ui_backend_subdir)
|
||||
cmake_parse_arguments(UI_OPTS "" "SUBDIR;NAME;READABLE_NAME" "" ${ARGN} )
|
||||
message("Backend ${UI_OPTS_READABLE_NAME} defined...")
|
||||
set(UI_DISABLE_OPT DISABLE_${UI_OPTS_NAME}_UI)
|
||||
option(${UI_DISABLE_OPT} "Disables the ${UI_OPTS_READABLE_NAME} UI" OFF)
|
||||
if (NOT ${${UI_DISABLE_OPT}})
|
||||
cmake_path(GET UI_OPTS_SUBDIR STEM UI_OPTS_DIRNAME)
|
||||
set(BASE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${UI_OPTS_SUBDIR})
|
||||
add_subdirectory(${UI_OPTS_SUBDIR})
|
||||
list(APPEND ENABLED_UIS "${UI_OPTS_DIRNAME}")
|
||||
message("Enabled backend ${UI_OPTS_READABLE_NAME}.")
|
||||
else()
|
||||
message("Disabled backend ${UI_OPTS_READABLE_NAME}")
|
||||
endif()
|
||||
cmake_parse_arguments(UI_OPTS "" "SUBDIR;NAME;READABLE_NAME" "" ${ARGN} )
|
||||
message("Backend ${UI_OPTS_READABLE_NAME} defined...")
|
||||
set(UI_DISABLE_OPT DISABLE_${UI_OPTS_NAME}_UI)
|
||||
option(${UI_DISABLE_OPT} "Disables the ${UI_OPTS_READABLE_NAME} UI" OFF)
|
||||
if (NOT ${${UI_DISABLE_OPT}})
|
||||
cmake_path(GET UI_OPTS_SUBDIR STEM UI_OPTS_DIRNAME)
|
||||
set(BASE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${UI_OPTS_SUBDIR})
|
||||
add_subdirectory(${UI_OPTS_SUBDIR})
|
||||
list(APPEND ENABLED_UIS "${UI_OPTS_DIRNAME}")
|
||||
message("Enabled backend ${UI_OPTS_READABLE_NAME}.")
|
||||
else()
|
||||
message("Disabled backend ${UI_OPTS_READABLE_NAME}")
|
||||
endif()
|
||||
endmacro()
|
||||
macro(add_playback_backend)
|
||||
set(ARGS ${ARGV})
|
||||
list(POP_FRONT ARGS target)
|
||||
add_library(${target} STATIC ${ARGS})
|
||||
message("Enabling playback backend '" ${target} "'...")
|
||||
list(APPEND PLAYBACK_BACKENDS ${target})
|
||||
set(PLAYBACK_BACKENDS ${PLAYBACK_BACKENDS} PARENT_SCOPE)
|
||||
add_dependencies(${target} looper_assets)
|
||||
target_include_directories(${target} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${INC})
|
||||
target_link_libraries(${target} PRIVATE liblooper)
|
||||
set(ARGS ${ARGV})
|
||||
list(POP_FRONT ARGS target)
|
||||
add_library(${target} STATIC ${ARGS})
|
||||
message("Enabling playback backend '" ${target} "'...")
|
||||
list(APPEND PLAYBACK_BACKENDS ${target})
|
||||
set(PLAYBACK_BACKENDS ${PLAYBACK_BACKENDS} PARENT_SCOPE)
|
||||
add_dependencies(${target} looper_assets)
|
||||
target_include_directories(${target} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${INC})
|
||||
target_link_libraries(${target} PRIVATE liblooper)
|
||||
endmacro()
|
||||
macro(playback_backend_subdir)
|
||||
cmake_parse_arguments(PLAYBACK_OPTS "" "SUBDIR;NAME;READABLE_NAME" "" ${ARGN} )
|
||||
message("Backend ${PLAYBACK_OPTS_READABLE_NAME} defined...")
|
||||
set(PLAYBACK_DISABLE_OPT DISABLE_${PLAYBACK_OPTS_NAME}_PLAYBACK_BACKEND)
|
||||
option(${PLAYBACK_DISABLE_OPT} "Disables the ${PLAYBACK_OPTS_READABLE_NAME} playback backend" OFF)
|
||||
if (NOT ${${PLAYBACK_DISABLE_OPT}})
|
||||
cmake_path(GET PLAYBACK_OPTS_SUBDIR STEM PLAYBACK_OPTS_DIRNAME)
|
||||
set(BASE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${PLAYBACK_OPTS_SUBDIR})
|
||||
add_subdirectory(${PLAYBACK_OPTS_SUBDIR})
|
||||
list(APPEND ENABLED_PLAYBACK_BACKENDS "${PLAYBACK_OPTS_DIRNAME}")
|
||||
message("Enabled backend ${PLAYBACK_OPTS_READABLE_NAME}.")
|
||||
else()
|
||||
message("Disabled backend ${PLAYBACK_OPTS_READABLE_NAME}")
|
||||
endif()
|
||||
cmake_parse_arguments(PLAYBACK_OPTS "" "SUBDIR;NAME;READABLE_NAME" "" ${ARGN} )
|
||||
message("Backend ${PLAYBACK_OPTS_READABLE_NAME} defined...")
|
||||
set(PLAYBACK_DISABLE_OPT DISABLE_${PLAYBACK_OPTS_NAME}_PLAYBACK_BACKEND)
|
||||
option(${PLAYBACK_DISABLE_OPT} "Disables the ${PLAYBACK_OPTS_READABLE_NAME} playback backend" OFF)
|
||||
if (NOT ${${PLAYBACK_DISABLE_OPT}})
|
||||
cmake_path(GET PLAYBACK_OPTS_SUBDIR STEM PLAYBACK_OPTS_DIRNAME)
|
||||
set(BASE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${PLAYBACK_OPTS_SUBDIR})
|
||||
add_subdirectory(${PLAYBACK_OPTS_SUBDIR})
|
||||
list(APPEND ENABLED_PLAYBACK_BACKENDS "${PLAYBACK_OPTS_DIRNAME}")
|
||||
message("Enabled backend ${PLAYBACK_OPTS_READABLE_NAME}.")
|
||||
else()
|
||||
message("Disabled backend ${PLAYBACK_OPTS_READABLE_NAME}")
|
||||
endif()
|
||||
endmacro()
|
||||
set(ENABLED_UIS )
|
||||
set(ENABLED_PLAYBACK_BACKENDS )
|
||||
ui_backend_subdir(NAME "IMGUI" READABLE_NAME "Dear ImGui" SUBDIR backends/ui/imgui)
|
||||
if (NOT (DEFINED EMSCRIPTEN OR DEFINED ANDROID_NDK))
|
||||
ui_backend_subdir(NAME "GTK" READABLE_NAME "GTK4" SUBDIR backends/ui/gtk)
|
||||
ui_backend_subdir(NAME "GTK" READABLE_NAME "GTK4" SUBDIR backends/ui/gtk)
|
||||
endif()
|
||||
playback_backend_subdir(NAME "VGMSTREAM" READABLE_NAME "VgmStream" SUBDIR backends/playback/vgmstream)
|
||||
playback_backend_subdir(NAME "SDL_MIXER_X" READABLE_NAME "SDL Mixer X" SUBDIR backends/playback/sdl_mixer_x)
|
||||
|
@ -427,67 +411,52 @@ execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/gen_ui_backend_inc.py ${CMAK
|
|||
prefix_all(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/ main.cpp daemon_backend.cpp proxy_backend.cpp)
|
||||
list(APPEND SOURCES ${CMAKE_CURRENT_BINARY_DIR}/backend_glue.cpp)
|
||||
if(DEFINED EMSCRIPTEN)
|
||||
set(CMAKE_EXECUTABLE_SUFFIX ".html")
|
||||
set(CMAKE_EXECUTABLE_SUFFIX ".html")
|
||||
endif()
|
||||
|
||||
set(TARGET_NAME looper)
|
||||
if(DEFINED EMSCRIPTEN)
|
||||
set(TARGET_NAME index)
|
||||
set(TARGET_NAME index)
|
||||
endif()
|
||||
function(copy_to_bindir src dst)
|
||||
add_custom_command(TARGET ${TARGET_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/${src}" "$<TARGET_FILE_DIR:${TARGET_NAME}>/${dst}")
|
||||
add_custom_command(TARGET ${TARGET_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/${src}" "$<TARGET_FILE_DIR:${TARGET_NAME}>/${dst}")
|
||||
endfunction()
|
||||
if (DEFINED ANDROID_NDK OR SHARED_LIB)
|
||||
add_library(${TARGET_NAME} SHARED ${SOURCES})
|
||||
add_library(${TARGET_NAME} SHARED ${SOURCES})
|
||||
else()
|
||||
add_executable(${TARGET_NAME} ${SOURCES})
|
||||
add_executable(${TARGET_NAME} ${SOURCES})
|
||||
endif()
|
||||
add_dependencies(${TARGET_NAME} looper_assets ${UI_BACKENDS})
|
||||
|
||||
if(DEFINED EMSCRIPTEN)
|
||||
copy_to_bindir(assets/icon.svg icon.svg)
|
||||
copy_to_bindir(assets/icon.png icon.png)
|
||||
copy_to_bindir(web/shell.js shell.js)
|
||||
copy_to_bindir(web/style.css style.css)
|
||||
copy_to_bindir(web/serviceWorker.js serviceWorker.js)
|
||||
copy_to_bindir(web/manifest.json manifest.json)
|
||||
copy_to_bindir(assets/ForkAwesome/fonts/forkawesome-webfont.ttf forkawesome-webfont.ttf)
|
||||
copy_to_bindir(assets/ForkAwesome/css/fork-awesome.min.css fork-awesome.min.css)
|
||||
copy_to_bindir(assets/ForkAwesome/css/fork-awesome.min.css.map fork-awesome.min.css.map)
|
||||
copy_to_bindir(assets/icon.svg icon.svg)
|
||||
copy_to_bindir(assets/icon.png icon.png)
|
||||
copy_to_bindir(web/shell.js shell.js)
|
||||
copy_to_bindir(web/style.css style.css)
|
||||
copy_to_bindir(web/serviceWorker.js serviceWorker.js)
|
||||
copy_to_bindir(web/manifest.json manifest.json)
|
||||
copy_to_bindir(assets/ForkAwesome/fonts/forkawesome-webfont.ttf forkawesome-webfont.ttf)
|
||||
copy_to_bindir(assets/ForkAwesome/css/fork-awesome.min.css fork-awesome.min.css)
|
||||
copy_to_bindir(assets/ForkAwesome/css/fork-awesome.min.css.map fork-awesome.min.css.map)
|
||||
endif()
|
||||
find_program(ASCLI_EXE NAMES "appstreamcli" NO_CACHE)
|
||||
if(${ASCLI_EXE} STREQUAL "ASCLIEXE-NOTFOUND")
|
||||
message("Cannot verify Appstream Metadata.")
|
||||
else()
|
||||
add_test(NAME "verify appstream metadata" COMMAND ${ASCLI_EXE} validate --no-net --pedantic "assets/com.complecwaft.Looper.metainfo.xml")
|
||||
endif()
|
||||
target_link_libraries(${TARGET_NAME} PUBLIC liblooper ${UI_BACKENDS} ${PLAYBACK_BACKENDS})
|
||||
install(TARGETS ${TARGET_NAME} ${EXTRA_LIBS})
|
||||
if (${BUILD_SDL2})
|
||||
install(EXPORT SDL2-static SDL2main)
|
||||
install(EXPORT SDL2-static SDL2main)
|
||||
endif()
|
||||
if (NOT DEFINED EMSCRIPTEN)
|
||||
install(FILES assets/icon.svg DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps/)
|
||||
install(FILES assets/com.complecwaft.Looper.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
|
||||
install(FILES assets/com.complecwaft.Looper.metainfo.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo)
|
||||
install(DIRECTORY assets/translations/ TYPE LOCALE PATTERN "*" EXCLUDE PATTERN "looper.pot")
|
||||
install(FILES assets/icon.svg DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps/)
|
||||
install(FILES assets/com.complecwaft.Looper.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
|
||||
install(FILES assets/com.complecwaft.Looper.metainfo.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo)
|
||||
install(DIRECTORY assets/translations/ TYPE LOCALE PATTERN "*" EXCLUDE PATTERN "looper.pot")
|
||||
endif()
|
||||
|
||||
if (SHARED_LIB)
|
||||
target_compile_definitions(${TARGET_NAME} PRIVATE "LIBRARY_MODE")
|
||||
target_compile_definitions(${TARGET_NAME} PRIVATE "LIBRARY_MODE")
|
||||
endif()
|
||||
|
||||
if(TESTS)
|
||||
include(GoogleTest)
|
||||
include(CTest)
|
||||
set(INSTALL_GTEST OFF CACHE BOOL "" FORCE)
|
||||
add_subdirectory(subprojects/googletest)
|
||||
add_executable(looper_tests tests.cpp ${CMAKE_CURRENT_BINARY_DIR}/backend_glue.cpp)
|
||||
add_dependencies(looper_tests looper_assets)
|
||||
target_link_libraries(looper_tests PRIVATE ${PLAYBACK_BACKENDS} ${UI_BACKENDS})
|
||||
set(TESTS "FileBackend.Seeking" "FileBackend.Reading" "FileBackend.ReadingSeeking" "PlaybackBackend.Looping")
|
||||
foreach (test ${TESTS})
|
||||
get_filename_component(test_cat ${test} NAME_WE)
|
||||
get_filename_component(test_name ${test} EXT)
|
||||
string(SUBSTRING ${test_name} 1 -1 test_name)
|
||||
add_test(NAME ${test_name} COMMAND ${CMAKE_CURRENT_BINARY_DIR}/looper_tests --gtest_filter=${test} PROPERTY LABELS ${test_cat})
|
||||
endforeach()
|
||||
target_include_directories(liblooper SYSTEM PUBLIC subprojects/googletest/googletest/include)
|
||||
target_link_libraries(looper_tests PRIVATE liblooper)
|
||||
target_link_libraries(liblooper PUBLIC gtest_main)
|
||||
target_compile_definitions(liblooper PUBLIC TESTS)
|
||||
endif()
|
BIN
assets/testdata/test.flac
vendored
BIN
assets/testdata/test.flac
vendored
Binary file not shown.
BIN
assets/testdata/test.wav
vendored
BIN
assets/testdata/test.wav
vendored
Binary file not shown.
|
@ -26,12 +26,10 @@ def run_btcc(args: list[str], outpath: str):
|
|||
actual_args += [arg]
|
||||
actual_args += [outpath]
|
||||
subprocess.call(actual_args, stdout=f)
|
||||
def add_basic(input: str, output: str):
|
||||
global ASSETS
|
||||
def add_basic(input: str, output: str, ASSETS = ASSETS):
|
||||
ASSETS += [output + ".h"]
|
||||
run_btcc(["-nocompress", input], output)
|
||||
def add_base85(input: str, output: str):
|
||||
global ASSETS
|
||||
def add_base85(input: str, output: str, ASSETS = ASSETS):
|
||||
ASSETS += [output + ".h"]
|
||||
run_btcc(["-base85", input], output)
|
||||
def add_font(input: str, output: str|None = None):
|
||||
|
@ -92,8 +90,7 @@ add_license("../backends/ui/imgui/IconFontCppHeaders/licence.txt", "icnfntcpphdr
|
|||
add_css("gtk-frontend.css", "gtk_frontend_css")
|
||||
add_dbus('app.dbus.xml', 'dbus_stub')
|
||||
add_dbus('mpris.dbus.xml', 'mpris_stub')
|
||||
def finalize(output: str):
|
||||
global ASSETS
|
||||
def finalize(output: str, ASSETS = ASSETS):
|
||||
print("Writing a header including all previous asset headers and writing it to '%s'..." % output)
|
||||
with open(output, "wt+") as f:
|
||||
f.write("#pragma once\n")
|
||||
|
@ -102,10 +99,6 @@ def finalize(output: str):
|
|||
f.write("#include \"%s\"\n" % asset)
|
||||
ASSETS = []
|
||||
finalize("assets.h")
|
||||
for file in os.listdir("testdata"):
|
||||
fpath = path.join(os.curdir, "testdata", path.basename(file))
|
||||
add_basic(fpath, "testdata_%s_%s" % (path.splitext(path.basename(file))[0], path.splitext(file)[1].removeprefix(".")))
|
||||
finalize("test_assets.h")
|
||||
os.remove("btcc")
|
||||
print("Returning to previous directory, now that we're done!")
|
||||
os.chdir(olddir)
|
||||
|
|
|
@ -1,23 +1,20 @@
|
|||
#include "sdl_mixer_x.hpp"
|
||||
#include <endian.h>
|
||||
#include <filesystem>
|
||||
#include "file_backend.hpp"
|
||||
#include <stddef.h>
|
||||
#include <log.hpp>
|
||||
#include <util.hpp>
|
||||
#include <string.h>
|
||||
std::optional<uint64_t> SDLMixerXBackend::get_max_samples() {
|
||||
return 4096;
|
||||
return 100;
|
||||
}
|
||||
void SDLMixerXBackend::load(const char *filename) {
|
||||
Mix_Init(MIX_INIT_FLAC|MIX_INIT_MID|MIX_INIT_MOD|MIX_INIT_MP3|MIX_INIT_OGG|MIX_INIT_OPUS|MIX_INIT_WAVPACK);
|
||||
memset(&spec, 0, sizeof(spec));
|
||||
spec.callback = NULL;
|
||||
spec.channels = 2;
|
||||
spec.userdata = NULL;
|
||||
spec.format = AUDIO_F32SYS;
|
||||
spec.freq = 48000;
|
||||
spec.samples = get_max_samples().value();
|
||||
spec.size = spec.samples * 4 * spec.channels;
|
||||
spec.size = spec.samples * sizeof(float);
|
||||
Mix_InitMixer(&spec, SDL_FALSE);
|
||||
mixer = Mix_GetGeneralMixer();
|
||||
{
|
||||
|
@ -41,21 +38,12 @@ void SDLMixerXBackend::load(const char *filename) {
|
|||
Mix_SetSoundFonts(NULL);
|
||||
}
|
||||
}
|
||||
DEBUG.writefln("Opening file: %s", filename);
|
||||
file = open_file(filename);
|
||||
DEBUG.writeln("Loading file...");
|
||||
this->music = nullptr;
|
||||
Mix_Music *output = Mix_LoadMUS_RW(get_sdl_file(this->file), SDL_TRUE);
|
||||
Mix_Music *output = Mix_LoadMUS_RW(get_sdl_file(this->file), 0);
|
||||
if (output == nullptr) {
|
||||
ERROR.writefln("Error occurred: %s", Mix_GetError());
|
||||
throw std::exception();
|
||||
}
|
||||
if (Mix_PlayMusicStream(output, -1) < 0) {
|
||||
ERROR.writefln("Error occurred: %s", Mix_GetError());
|
||||
this->music = output;
|
||||
throw std::exception();
|
||||
}
|
||||
Mix_ResumeMusicStream(output);
|
||||
Mix_PlayMusicStream(output, -1);
|
||||
length = Mix_MusicDuration(output);
|
||||
current_file = std::string(filename);
|
||||
const char *title_tag = Mix_GetMusicTitleTag(output);
|
||||
|
@ -74,11 +62,8 @@ void SDLMixerXBackend::load(const char *filename) {
|
|||
stream.name = current_title;
|
||||
streams.push_back(stream);
|
||||
open = true;
|
||||
initial = true;
|
||||
}
|
||||
void SDLMixerXBackend::switch_stream(int idx) {
|
||||
seek(0.0);
|
||||
}
|
||||
void SDLMixerXBackend::switch_stream(int idx) { }
|
||||
void SDLMixerXBackend::seek(double position) {
|
||||
if (music == nullptr || file == nullptr) {
|
||||
open = false;
|
||||
|
@ -91,34 +76,14 @@ size_t SDLMixerXBackend::render(void *buf, size_t maxlen) {
|
|||
open = false;
|
||||
return 0;
|
||||
}
|
||||
if (initial) {
|
||||
seek(0.0);
|
||||
}
|
||||
size_t i = 0;
|
||||
size_t bytes_per_iter = maxlen;
|
||||
if (bytes_per_iter > spec.size) {
|
||||
bytes_per_iter = spec.size;
|
||||
if (maxlen > spec.size) {
|
||||
maxlen = spec.size;
|
||||
}
|
||||
// Remove partial sample frames.
|
||||
bytes_per_iter /= sizeof(float);
|
||||
bytes_per_iter *= sizeof(float);
|
||||
while (i < maxlen) {
|
||||
if (i + bytes_per_iter > maxlen) {
|
||||
bytes_per_iter = maxlen - i;
|
||||
// Remove partial sample frames.
|
||||
bytes_per_iter /= sizeof(float);
|
||||
bytes_per_iter *= sizeof(float);
|
||||
}
|
||||
mixer(NULL, (Uint8*)(buf) + i, bytes_per_iter);
|
||||
i += bytes_per_iter;
|
||||
}
|
||||
if (get_position() > (((double)maxlen) / ((double)spec.freq))) {
|
||||
if (initial) {
|
||||
seek(0.0);
|
||||
}
|
||||
initial = false;
|
||||
}
|
||||
return i;
|
||||
maxlen /= sizeof(float);
|
||||
maxlen *= sizeof(float);
|
||||
mixer(NULL, (Uint8*)buf, maxlen);
|
||||
return maxlen;
|
||||
}
|
||||
double SDLMixerXBackend::get_position() {
|
||||
if (music == nullptr || file == nullptr) {
|
||||
|
@ -127,29 +92,12 @@ double SDLMixerXBackend::get_position() {
|
|||
}
|
||||
return Mix_GetMusicPosition(music);
|
||||
}
|
||||
SDLMixerXBackend::SDLMixerXBackend() {
|
||||
Mix_Init(MIX_INIT_FLAC|MIX_INIT_MID|MIX_INIT_MOD|MIX_INIT_MP3|MIX_INIT_OGG|MIX_INIT_OPUS|MIX_INIT_WAVPACK);
|
||||
}
|
||||
SDLMixerXBackend::~SDLMixerXBackend() {
|
||||
Mix_Quit();
|
||||
}
|
||||
void SDLMixerXBackend::cleanup() {
|
||||
streams.clear();
|
||||
position = 0.0;
|
||||
rate = 0.0;
|
||||
memset(&spec, 0, sizeof(spec));
|
||||
current_file = "";
|
||||
current_title = "";
|
||||
length = 0.0;
|
||||
if (music != nullptr) {
|
||||
Mix_HaltMusicStream(music);
|
||||
Mix_FreeMusic(music);
|
||||
}
|
||||
Mix_SetSoundFonts(NULL);
|
||||
mixer = nullptr;
|
||||
music = nullptr;
|
||||
Mix_HaltMusicStream(music);
|
||||
Mix_FreeMusic(music);
|
||||
delete file;
|
||||
file = nullptr;
|
||||
Mix_Quit();
|
||||
open = false;
|
||||
Mix_CloseAudio();
|
||||
}
|
||||
|
|
|
@ -6,7 +6,6 @@ class SDLMixerXBackend : public PlaybackBackend {
|
|||
Mix_Music *music;
|
||||
Mix_CommonMixer_t mixer;
|
||||
File *file;
|
||||
bool initial = false;
|
||||
public:
|
||||
inline std::string get_id() override {
|
||||
return "sdl_mixer_x";
|
||||
|
@ -21,6 +20,5 @@ class SDLMixerXBackend : public PlaybackBackend {
|
|||
void switch_stream(int idx) override;
|
||||
void cleanup() override;
|
||||
size_t render(void *buf, size_t maxlen) override;
|
||||
SDLMixerXBackend();
|
||||
~SDLMixerXBackend() override;
|
||||
inline ~SDLMixerXBackend() override { }
|
||||
};
|
||||
|
|
|
@ -93,6 +93,8 @@ void VgmStreamBackend::switch_stream(int idx) {
|
|||
free(buf);
|
||||
}
|
||||
open = true;
|
||||
spec.channels = vf->channels;
|
||||
spec.freq = vf->sample_rate;
|
||||
}
|
||||
void VgmStreamBackend::cleanup() {
|
||||
streams.clear();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// Commander X16 Emulator
|
||||
// Copyright (c) 2020 Frank van den Hoef
|
||||
// All rights reserved. License: 2-clause BSD
|
||||
#define IN_AUDIO
|
||||
|
||||
#include "audio.h"
|
||||
#include "glue.h"
|
||||
#include "vera_psg.h"
|
||||
|
@ -12,7 +12,19 @@
|
|||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef __EMSCRIPTEN__
|
||||
#define SAMPLES_PER_BUFFER (1024)
|
||||
#define SAMP_POS_FRAC_BITS (22)
|
||||
#else
|
||||
#define SAMPLES_PER_BUFFER (256)
|
||||
#define SAMP_POS_FRAC_BITS (24)
|
||||
#endif
|
||||
|
||||
#define VERA_SAMP_CLKS_PER_CPU_CLK ((25000000ULL << SAMP_POS_FRAC_BITS) / 512 / MHZ / 1000000)
|
||||
#define YM_SAMP_CLKS_PER_CPU_CLK ((3579545ULL << SAMP_POS_FRAC_BITS) / 64 / MHZ / 1000000)
|
||||
#define SAMPLE_BYTES (2 * sizeof(int16_t))
|
||||
#define SAMP_POS_MASK (SAMPLES_PER_BUFFER - 1)
|
||||
#define SAMP_POS_MASK_FRAC (((uint32_t)SAMPLES_PER_BUFFER << SAMP_POS_FRAC_BITS) - 1)
|
||||
|
||||
// windowed sinc
|
||||
static const int16_t filter[512] = {
|
||||
|
@ -50,8 +62,9 @@ static const int16_t filter[512] = {
|
|||
-80, -74, -69, -63, -58, -53, -47, -42, -37, -32, -27, -22, -17, -12, -7, -2
|
||||
};
|
||||
|
||||
static SDL_AudioDeviceID audio_dev;
|
||||
static int16_t * buffer;
|
||||
uint32_t buffer_size = 0;
|
||||
static uint32_t buffer_size = 0;
|
||||
static uint32_t rdidx = 0;
|
||||
static uint32_t wridx = 0;
|
||||
static uint32_t buffer_written = 0;
|
||||
|
@ -104,8 +117,18 @@ audio_callback(void *userdata, Uint8 *stream, int len)
|
|||
|
||||
SDL_AudioSpec obtained;
|
||||
void
|
||||
audio_init(int num_audio_buffers)
|
||||
audio_init(const char *dev_name, int num_audio_buffers)
|
||||
{
|
||||
if (audio_dev > 0) {
|
||||
audio_close();
|
||||
}
|
||||
|
||||
if (dev_name) {
|
||||
if (!strcmp("none", dev_name)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Set number of buffers
|
||||
int num_bufs = num_audio_buffers;
|
||||
if (num_bufs < 3) {
|
||||
|
@ -130,6 +153,7 @@ audio_init(int num_audio_buffers)
|
|||
desired.format = AUDIO_S16SYS;
|
||||
desired.samples = SAMPLES_PER_BUFFER;
|
||||
desired.channels = 2;
|
||||
desired.callback = audio_callback;
|
||||
|
||||
obtained = desired;
|
||||
if (obtained.freq <= 0 || (AUDIO_SAMPLERATE / obtained.freq) > SAMPLES_PER_BUFFER) {
|
||||
|
@ -287,7 +311,6 @@ audio_render()
|
|||
}
|
||||
buffer[wridx++] = (int16_t)((mix_l * limiter_amp) >> 16);
|
||||
buffer[wridx++] = (int16_t)((mix_r * limiter_amp) >> 16);
|
||||
wridx %= buffer_size;
|
||||
if (limiter_amp < (1 << 16)) limiter_amp++;
|
||||
vera_samp_pos_rd = (vera_samp_pos_rd + vera_samps_per_host_samps) & SAMP_POS_MASK_FRAC;
|
||||
ym_samp_pos_rd = (ym_samp_pos_rd + ym_samps_per_host_samps) & SAMP_POS_MASK_FRAC;
|
||||
|
@ -310,3 +333,22 @@ audio_render()
|
|||
ym_samp_pos_rd = (ym_samp_pos_rd + ym_samps_per_host_samps) & SAMP_POS_MASK_FRAC;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
audio_usage(void)
|
||||
{
|
||||
// SDL_GetAudioDeviceName doesn't work if audio isn't initialized.
|
||||
// Since argument parsing happens before initializing SDL, ensure the
|
||||
// audio subsystem is initialized before printing audio device names.
|
||||
SDL_InitSubSystem(SDL_INIT_AUDIO);
|
||||
|
||||
// List all available sound devices
|
||||
printf("The following sound output devices are available:\n");
|
||||
const int sounds = SDL_GetNumAudioDevices(0);
|
||||
for (int i = 0; i < sounds; ++i) {
|
||||
printf("\t%s\n", SDL_GetAudioDeviceName(i, 0));
|
||||
}
|
||||
|
||||
SDL_Quit();
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
@ -5,27 +5,12 @@
|
|||
#pragma once
|
||||
|
||||
#include <SDL.h>
|
||||
#ifdef __EMSCRIPTEN__
|
||||
#define SAMPLES_PER_BUFFER (1024)
|
||||
#define SAMP_POS_FRAC_BITS (22)
|
||||
#else
|
||||
#define SAMPLES_PER_BUFFER (256)
|
||||
#define SAMP_POS_FRAC_BITS (24)
|
||||
#endif
|
||||
#define VERA_SAMP_CLKS_PER_CPU_CLK ((25000000ULL << SAMP_POS_FRAC_BITS) / 512 / MHZ / 1000000)
|
||||
#define YM_SAMP_CLKS_PER_CPU_CLK ((3579545ULL << SAMP_POS_FRAC_BITS) / 64 / MHZ / 1000000)
|
||||
#define SAMPLE_BYTES (2 * sizeof(int16_t))
|
||||
#define SAMP_POS_MASK (SAMPLES_PER_BUFFER - 1)
|
||||
#define SAMP_POS_MASK_FRAC (((uint32_t)SAMPLES_PER_BUFFER << SAMP_POS_FRAC_BITS) - 1)
|
||||
|
||||
#define AUDIO_SAMPLERATE (25000000 / 512)
|
||||
void audio_callback(void *userdata, Uint8 *stream, int len);
|
||||
void audio_init(int num_audio_buffers);
|
||||
void audio_init(const char *dev_name, int num_audio_buffers);
|
||||
void audio_close(void);
|
||||
void audio_step(int cpu_clocks);
|
||||
void audio_render();
|
||||
|
||||
void audio_usage(void);
|
||||
#ifndef IN_AUDIO_C
|
||||
extern uint32_t buffer_size;
|
||||
#endif
|
||||
|
|
|
@ -12,31 +12,26 @@ extern "C" {
|
|||
#include <string.h>
|
||||
#include <file_backend.hpp>
|
||||
void ZsmBackend::load(const char *filename) {
|
||||
memset(&spec, 0, sizeof(spec));
|
||||
spec.format = AUDIO_S16SYS;
|
||||
spec.samples = SAMPLES_PER_BUFFER;
|
||||
spec.channels = 2;
|
||||
spec.freq = AUDIO_SAMPLERATE;
|
||||
spec.size = SAMPLES_PER_BUFFER * SAMPLE_BYTES;
|
||||
file = open_file(filename);
|
||||
char magic[2];
|
||||
file->read(magic, 2, 1);
|
||||
file->read(magic, 2);
|
||||
if (magic[0] != 0x7a || magic[1] != 0x6d) {
|
||||
throw std::exception();
|
||||
}
|
||||
uint8_t version;
|
||||
file->read(&version, 1, 1);
|
||||
file->read(&version, 1);
|
||||
uint8_t loop_point[3];
|
||||
file->read(loop_point, 3, 1);
|
||||
file->read(loop_point, 3);
|
||||
this->loop_point = loop_point[0] | ((uint32_t)(loop_point[1]) << 8) | ((uint32_t)(loop_point[2]) << 16);
|
||||
file->read(loop_point, 3, 1);
|
||||
file->read(loop_point, 3);
|
||||
this->pcm_offset = loop_point[0] | ((uint32_t)(loop_point[1]) << 8) | ((uint32_t)(loop_point[2]) << 16);
|
||||
file->read(&fm_mask, 1, 1);
|
||||
file->read(loop_point, 2, 1);
|
||||
file->read(&fm_mask, 1);
|
||||
file->read(loop_point, 2);
|
||||
this->psg_channel_mask = loop_point[0] | ((uint16_t)(loop_point[1]) << 8);
|
||||
file->read(loop_point, 2, 1);
|
||||
file->read(loop_point, 2);
|
||||
this->tick_rate = loop_point[0] | ((uint16_t)(loop_point[1]) << 8);
|
||||
file->read(loop_point, 2, 1); // Reserved.
|
||||
file->read(loop_point, 2); // Reserved.
|
||||
music_data_start = file->get_pos();
|
||||
while (true) {
|
||||
ZsmCommand cmd = get_command();
|
||||
|
@ -51,9 +46,8 @@ extern SDL_AudioSpec obtained;
|
|||
void ZsmBackend::switch_stream(int idx) {
|
||||
psg_reset();
|
||||
audio_close();
|
||||
audio_init(16);
|
||||
audio_init(NULL, 16);
|
||||
spec = obtained;
|
||||
spec.size = SAMPLES_PER_BUFFER * SAMPLE_BYTES;
|
||||
}
|
||||
void ZsmBackend::cleanup() {
|
||||
audio_close();
|
||||
|
@ -105,30 +99,20 @@ size_t ZsmBackend::render(void *buf, size_t maxlen) {
|
|||
}
|
||||
audio_step((int)(clocks));
|
||||
}
|
||||
maxlen *= sample_type_len;
|
||||
if (audio_buf.size() < maxlen || audio_buf.size() == 0) {
|
||||
size_t oldlen = audio_buf.size();
|
||||
uint32_t diff = SAMPLES_PER_BUFFER * SAMPLE_BYTES;
|
||||
audio_buf.resize(audio_buf.size() + diff);
|
||||
audio_callback(nullptr, (Uint8*)(audio_buf.data() + oldlen), diff);
|
||||
}
|
||||
memcpy(buf, audio_buf.data(), maxlen);
|
||||
if (audio_buf.size() - maxlen != 0) {
|
||||
memmove(audio_buf.data(), audio_buf.data() + maxlen, audio_buf.size() - maxlen);
|
||||
}
|
||||
audio_buf.resize(audio_buf.size() - maxlen);
|
||||
return maxlen;
|
||||
audio_render();
|
||||
audio_callback(nullptr, (Uint8*)(buf), sample_type_len * maxlen);
|
||||
return maxlen * sample_type_len;
|
||||
}
|
||||
ZsmCommand ZsmBackend::get_command() {
|
||||
ZsmCommandId cmdid;
|
||||
uint8_t cmd_byte;
|
||||
file->read(&cmd_byte, 1, 1);
|
||||
file->read(&cmd_byte, 1);
|
||||
if (cmd_byte == 0x80) {
|
||||
cmdid = ZsmEOF;
|
||||
} else {
|
||||
if ((cmd_byte >> 6) == 0) {
|
||||
if ((cmd_byte & 0b11000000) == 0) {
|
||||
cmdid = PsgWrite;
|
||||
} else if ((cmd_byte >> 6) == 0b01) {
|
||||
} else if ((cmd_byte & 0b11000000) == 0b01) {
|
||||
if (cmd_byte == 0b01000000) {
|
||||
cmdid = ExtCmd;
|
||||
} else {
|
||||
|
@ -144,35 +128,34 @@ ZsmCommand ZsmBackend::get_command() {
|
|||
return output;
|
||||
} else if (cmdid == PsgWrite) {
|
||||
uint8_t value;
|
||||
file->read(&value, 1, 1);
|
||||
file->read(&value, 1);
|
||||
output.psg_write.reg = cmd_byte & 0x3F;
|
||||
output.psg_write.val = value;
|
||||
} else if (cmdid == FmWrite) {
|
||||
uint16_t _value;
|
||||
uint8_t *value = (uint8_t*)(void*)(&_value);
|
||||
uint8_t value[2];
|
||||
uint8_t pairs = cmd_byte & 0b111111;
|
||||
output.fm_write.len = pairs;
|
||||
output.fm_write.regs = (reg_pair*)malloc((sizeof(reg_pair))*pairs);
|
||||
output.fm_write.regs = (reg_pair*)malloc((sizeof(uint8_t)*2)*pairs);
|
||||
for (uint8_t i = 0; i < pairs; i++) {
|
||||
file->read(value, 2, 1);
|
||||
output.fm_write.regs[i].reg = value[0];
|
||||
output.fm_write.regs[i].val = value[1];
|
||||
file->read(value, 2);
|
||||
}
|
||||
} else if (cmdid == ExtCmd) {
|
||||
uint8_t ext_cmd_byte;
|
||||
file->read(&ext_cmd_byte, 1, 1);
|
||||
file->read(&ext_cmd_byte, 1);
|
||||
uint8_t bytes = ext_cmd_byte & 0x3F;
|
||||
uint8_t ch = ext_cmd_byte >> 6;
|
||||
output.extcmd.channel = ch;
|
||||
output.extcmd.bytes = bytes;
|
||||
if (ch == 1) {
|
||||
output.extcmd.expansion.write_bytes = NULL;
|
||||
output.extcmd.expansion.write_bytes = (uint8_t*)malloc(bytes - 2);
|
||||
} else {
|
||||
output.extcmd.pcm = (uint8_t*)malloc(bytes); // Handles all other cases due to them being in a union, and each having the same type.
|
||||
}
|
||||
for (size_t i = 0; i < bytes; i++) {
|
||||
uint8_t byte;
|
||||
file->read(&byte, 1, 1);
|
||||
file->read(&byte, 1);
|
||||
switch (ch) {
|
||||
case 0: {
|
||||
output.extcmd.pcm[i] = byte;
|
||||
|
@ -182,7 +165,6 @@ ZsmCommand ZsmBackend::get_command() {
|
|||
output.extcmd.expansion.chip_id = byte;
|
||||
} else if (i == 1) {
|
||||
output.extcmd.expansion.writes = byte;
|
||||
output.extcmd.expansion.write_bytes = (uint8_t*)malloc(byte);
|
||||
} else {
|
||||
output.extcmd.expansion.write_bytes[i - 2] = byte;
|
||||
}
|
||||
|
@ -202,9 +184,7 @@ ZsmCommand::~ZsmCommand() {
|
|||
switch (id) {
|
||||
case ExtCmd: {
|
||||
if (extcmd.channel == 1) {
|
||||
if (extcmd.expansion.write_bytes != NULL) {
|
||||
free(extcmd.expansion.write_bytes);
|
||||
}
|
||||
free(extcmd.expansion.write_bytes);
|
||||
} else {
|
||||
free(extcmd.pcm);
|
||||
}
|
||||
|
|
|
@ -46,7 +46,6 @@ struct ZsmCommand {
|
|||
};
|
||||
class ZsmBackend : public PlaybackBackend {
|
||||
File *file;
|
||||
std::vector<uint8_t> audio_buf;
|
||||
uint32_t loop_point;
|
||||
uint32_t pcm_offset;
|
||||
uint8_t fm_mask;
|
||||
|
|
|
@ -9,7 +9,7 @@ option(USE_GLES "Enable using OpenGL ES" ${GLES_NORMALLY_REQUIRED_FOR_ARCHITECTU
|
|||
option(GLES_VERSION "Version of OpenGL ES" 3)
|
||||
set(IMGUI_SRC imgui_demo.cpp imgui_draw.cpp imgui_tables.cpp imgui_widgets.cpp imgui.cpp misc/cpp/imgui_stdlib.cpp)
|
||||
set(IMGUI_BACKEND_SRC imgui_impl_sdlrenderer2.cpp imgui_impl_sdl2.cpp)
|
||||
set(BACKEND_IMGUI_SRC_BASE main.cpp file_browser.cpp main.cpp RendererBackend.cpp theme.cpp)
|
||||
set(BACKEND_IMGUI_SRC_BASE main.cpp base85.cpp file_browser.cpp main.cpp RendererBackend.cpp theme.cpp)
|
||||
foreach(SRC IN ITEMS ${IMGUI_BACKEND_SRC})
|
||||
list(APPEND IMGUI_SRC backends/${SRC})
|
||||
endforeach()
|
||||
|
|
|
@ -1,92 +1,55 @@
|
|||
# Convert Font Awesome, Fork Awesome, Google Material Design, Pictogrammers Material Design Icons, Kenney Game,
|
||||
# Fontaudio, Codicons and Lucide icon font parameters to C, C++, C#, Python, Rust and Go compatible formats.
|
||||
# Convert Font Awesome, Fork Awesome, Google Material Design, Kenney Game, Fontaudio and Codicons
|
||||
# icon font parameters to C, C++, C#, Python, Rust and Go compatible formats.
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
#
|
||||
# 1 - Source material
|
||||
#
|
||||
# 1.1 - Font Awesome [ FA ]
|
||||
# https://fontawesome.com
|
||||
# https://github.com/FortAwesome/Font-Awesome
|
||||
# 1.1 - Font Awesome
|
||||
#
|
||||
# 1.1.1 - version 4
|
||||
# https://github.com/FortAwesome/Font-Awesome/tree/4.x
|
||||
# https://github.com/FortAwesome/Font-Awesome/blob/4.x/src/icons.yml
|
||||
# https://github.com/FortAwesome/Font-Awesome/blob/4.x/fonts/fontawesome-webfont.ttf
|
||||
#
|
||||
# 1.1.2 - version 5 Free
|
||||
# https://github.com/FortAwesome/Font-Awesome/tree/5.x
|
||||
# https://github.com/FortAwesome/Font-Awesome/blob/5.x/metadata/icons.yml
|
||||
# https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-brands-400.ttf [ FAB ]
|
||||
# https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-regular-400.ttf [ FAR ]
|
||||
# https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-solid-900.ttf [ FAS ]
|
||||
# https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-brands-400.ttf
|
||||
# https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-regular-400.ttf
|
||||
# https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-solid-900.ttf
|
||||
#
|
||||
# 1.1.3 - version 5 Pro
|
||||
# Download files from https://fontawesome.com
|
||||
# \fontawesome-pro-n.n.n-web\metadata\icons.yml
|
||||
# \fontawesome-pro-n.n.n-web\webfonts\fa-brands-400.ttf [ FAB ]
|
||||
# \fontawesome-pro-n.n.n-web\webfonts\fa-light-300.ttf [ FAL ]
|
||||
# \fontawesome-pro-n.n.n-web\webfonts\fa-regular-400.ttf [ FAR ]
|
||||
# \fontawesome-pro-n.n.n-web\webfonts\fa-solid-900.ttf [ FAS ]
|
||||
# \fontawesome-pro-n.n.n-web\webfonts\fa-brands-400.ttf
|
||||
# \fontawesome-pro-n.n.n-web\webfonts\fa-light-300.ttf
|
||||
# \fontawesome-pro-n.n.n-web\webfonts\fa-regular-400.ttf
|
||||
# \fontawesome-pro-n.n.n-web\webfonts\fa-solid-900.ttf
|
||||
#
|
||||
# 1.1.4 - version 6 Free
|
||||
# https://github.com/FortAwesome/Font-Awesome/tree/6.x
|
||||
# https://github.com/FortAwesome/Font-Awesome/blob/6.x/metadata/icons.yml
|
||||
# https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-brands-400.ttf [ FAB ]
|
||||
# https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-regular-400.ttf [ FAR ]
|
||||
# https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-solid-900.ttf [ FAS ]
|
||||
# https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-brands-400.ttf
|
||||
# https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-regular-400.ttf
|
||||
# https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-solid-900.ttf
|
||||
#
|
||||
# 1.2 - Fork Awesome [ FK ]
|
||||
# https://forkaweso.me/Fork-Awesome/
|
||||
# https://github.com/ForkAwesome/Fork-Awesome
|
||||
# 1.2 - Fork Awesome
|
||||
# https://github.com/ForkAwesome/Fork-Awesome/blob/master/src/icons/icons.yml
|
||||
# https://github.com/ForkAwesome/Fork-Awesome/blob/master/fonts/forkawesome-webfont.ttf
|
||||
#
|
||||
# 1.3 - Google Material Design Icons [ MD ] and Material Symbols [ MS ]
|
||||
# https://fonts.google.com/icons
|
||||
# https://github.com/google/material-design-icons
|
||||
#
|
||||
# 1.3.1 - Material Design Icons [ MD ]
|
||||
# https://fonts.google.com/icons?icon.set=Material+Icons
|
||||
# 1.3 - Google Material Design
|
||||
# https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.codepoints
|
||||
# https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.ttf
|
||||
#
|
||||
# 1.3.2 - Material Symbols [ MS ]
|
||||
# https://fonts.google.com/icons?icon.set=Material+Symbols
|
||||
# https://github.com/google/material-design-icons/blob/master/variablefont/MaterialSymbolsOutlined%5BFILL%2CGRAD%2Copsz%2Cwght%5D.codepoints
|
||||
# https://github.com/google/material-design-icons/blob/master/variablefont/MaterialSymbolsOutlined%5BFILL,GRAD,opsz,wght%5D.ttf [ MSO ]
|
||||
# https://github.com/google/material-design-icons/blob/master/variablefont/MaterialSymbolsRounded[FILL,GRAD,opsz,wght].ttf [ MSR ]
|
||||
# https://github.com/google/material-design-icons/blob/master/variablefont/MaterialSymbolsSharp[FILL,GRAD,opsz,wght].ttf [ MSS ]
|
||||
#
|
||||
# 1.4 - Pictogrammers Material Design Icons [ MDI ]
|
||||
# https://pictogrammers.com/library/mdi/
|
||||
# https://github.com/Templarian/MaterialDesign-Webfont
|
||||
# https://github.com/Templarian/MaterialDesign-Webfont/blob/master/css/materialdesignicons.css
|
||||
# https://github.com/Templarian/MaterialDesign-Webfont/blob/master/fonts/materialdesignicons-webfont.ttf
|
||||
#
|
||||
# 1.5 - Kenney Game Icons and Expansion [ KI ]
|
||||
# http://kenney.nl/assets/game-icons http://kenney.nl/assets/game-icons-expansion
|
||||
# https://github.com/nicodinh/kenney-icon-font
|
||||
# 1.4 - Kenney Game icons
|
||||
# https://github.com/nicodinh/kenney-icon-font/blob/master/css/kenney-icons.css
|
||||
# https://github.com/nicodinh/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf
|
||||
#
|
||||
# 1.6 - Fontaudio [ FAD ]
|
||||
# https://github.com/fefanto/fontaudio
|
||||
# 1.5 - Fontaudio
|
||||
# https://github.com/fefanto/fontaudio/blob/master/font/fontaudio.css
|
||||
# https://github.com/fefanto/fontaudio/blob/master/font/fontaudio.ttf
|
||||
#
|
||||
# 1.7 - Codicons [ CI ]
|
||||
# https://microsoft.github.io/vscode-codicons/dist/codicon.html
|
||||
# https://github.com/microsoft/vscode-codicons
|
||||
# https://microsoft.github.io/vscode-codicons/dist/codicon.css
|
||||
# https://microsoft.github.io/vscode-codicons/dist/codicon.ttf
|
||||
#
|
||||
# 1.8 - Lucide [ LC ]
|
||||
# https://lucide.dev
|
||||
# https://github.com/lucide-icons/lucide
|
||||
# https://unpkg.com/lucide-static@latest/font/lucide.css
|
||||
# https://unpkg.com/lucide-static@latest/font/lucide.ttf
|
||||
#
|
||||
# 1.6 - Codicons
|
||||
# https://github.com/microsoft/vscode-codicons/blob/main/dist/codicon.css
|
||||
# https://github.com/microsoft/vscode-codicons/blob/main/dist/codicon.ttf
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
#
|
||||
|
@ -339,7 +302,7 @@ class FontFA6Brands( FontFA5Brands ): # Font Awesome version 6 - Brand style
|
|||
ttfs = [[ 'FAB', 'fa-brands-400.ttf', 'https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-brands-400.ttf' ]]
|
||||
|
||||
|
||||
class FontMD( Font ): # Google Material Design
|
||||
class FontMD( Font ): # Material Design
|
||||
font_name = 'Material Design'
|
||||
font_abbr = 'MD'
|
||||
font_data = 'https://github.com/google/material-design-icons/raw/master/font/MaterialIcons-Regular.codepoints'
|
||||
|
@ -382,89 +345,6 @@ class FontMD( Font ): # Google Material Design
|
|||
return icons_data
|
||||
|
||||
|
||||
class FontMS( Font ): # Google Material Symbols
|
||||
font_name = 'Material Symbols'
|
||||
font_abbr = 'MS'
|
||||
font_data = 'https://github.com/google/material-design-icons/raw/master/variablefont/MaterialSymbolsOutlined%5BFILL%2CGRAD%2Copsz%2Cwght%5D.codepoints'
|
||||
ttfs = [[ 'MSO', 'MaterialSymbolsOutlined[FILL,GRAD,opsz,wght].ttf', 'https://github.com/google/material-design-icons/raw/master/variablefont/MaterialSymbolsOutlined%5BFILL,GRAD,opsz,wght%5D.ttf' ],
|
||||
[ 'MSR', 'MaterialSymbolsRounded[FILL,GRAD,opsz,wght].ttf', 'https://github.com/google/material-design-icons/raw/master/variablefont/MaterialSymbolsRounded%5BFILL,GRAD,opsz,wght%5D.ttf' ],
|
||||
[ 'MSS', 'MaterialSymbolsSharp[FILL,GRAD,opsz,wght].ttf', 'https://github.com/google/material-design-icons/raw/master/variablefont/MaterialSymbolsSharp%5BFILL,GRAD,opsz,wght%5D.ttf' ]]
|
||||
|
||||
@classmethod
|
||||
def get_icons( cls, input_data ):
|
||||
icons_data = {}
|
||||
lines = str.split( input_data, '\n' )
|
||||
if lines:
|
||||
font_min = '0x10ffff'
|
||||
font_min_int = int( font_min, 16 )
|
||||
font_max_16 = '0x0' # 16 bit max
|
||||
font_max_16_int = int( font_max_16, 16 )
|
||||
font_max = '0x0'
|
||||
font_max_int = int( font_max, 16 )
|
||||
icons = []
|
||||
for line in lines :
|
||||
words = str.split(line)
|
||||
if words and len( words ) >= 2:
|
||||
word_unicode = words[ 1 ].zfill( 4 )
|
||||
word_int = int( word_unicode, 16 )
|
||||
if word_int < font_min_int and word_int > 0x0127 : # exclude ASCII characters code points
|
||||
font_min = word_unicode
|
||||
font_min_int = word_int
|
||||
if word_int > font_max_16_int and word_int <= 0xffff: # exclude code points > 16 bits
|
||||
font_max_16 = word_unicode
|
||||
font_max_16_int = word_int
|
||||
if word_int > font_max_int:
|
||||
font_max = word_unicode
|
||||
font_max_int = word_int
|
||||
icons.append( words )
|
||||
icons_data.update({ 'font_min' : font_min,
|
||||
'font_max_16' : font_max_16,
|
||||
'font_max' : font_max,
|
||||
'icons' : icons })
|
||||
return icons_data
|
||||
|
||||
|
||||
class FontMDI( Font ): # Pictogrammers Material Design Icons
|
||||
font_name = 'Material Design Icons'
|
||||
font_abbr = 'MDI'
|
||||
font_data_prefix = '.mdi-'
|
||||
font_data = 'https://github.com/Templarian/MaterialDesign-Webfont/raw/master/css/materialdesignicons.css'
|
||||
ttfs = [[ font_abbr, 'materialdesignicons-webfont.ttf', 'https://github.com/Templarian/MaterialDesign-Webfont/raw/master/fonts/materialdesignicons-webfont.ttf' ]]
|
||||
|
||||
@classmethod
|
||||
def get_icons( cls, input_data ):
|
||||
icons_data = {}
|
||||
lines = str.split( input_data, '}\n' )
|
||||
if lines:
|
||||
font_min = '0x10ffff'
|
||||
font_min_int = int( font_min, 16 )
|
||||
font_max_16 = '0x0' # 16 bit max
|
||||
font_max_16_int = int( font_max_16, 16 )
|
||||
font_max = '0x0'
|
||||
font_max_int = int( font_max, 16 )
|
||||
icons = []
|
||||
for line in lines :
|
||||
if cls.font_data_prefix in line and '::before' in line:
|
||||
font_id = line.partition( cls.font_data_prefix )[ 2 ].partition( '::before' )[ 0 ]
|
||||
font_code = line.partition( '"\\' )[ 2 ].partition( '"' )[ 0 ].zfill( 4 )
|
||||
font_code_int = int( font_code, 16 )
|
||||
if font_code_int < font_min_int and font_code_int > 0x0127 : # exclude ASCII characters code points
|
||||
font_min = font_code
|
||||
font_min_int = font_code_int
|
||||
if font_code_int > font_max_16_int and font_code_int <= 0xffff: # exclude code points > 16 bits
|
||||
font_max_16 = font_code
|
||||
font_max_16_int = font_code_int
|
||||
if font_code_int > font_max_int:
|
||||
font_max = font_code
|
||||
font_max_int = font_code_int
|
||||
icons.append([ font_id, font_code ])
|
||||
icons_data.update({ 'font_min' : font_min,
|
||||
'font_max_16' : font_max_16,
|
||||
'font_max' : font_max,
|
||||
'icons' : icons })
|
||||
return icons_data
|
||||
|
||||
|
||||
class FontKI( Font ): # Kenney Game icons
|
||||
font_name = 'Kenney'
|
||||
font_abbr = 'KI'
|
||||
|
@ -518,16 +398,8 @@ class FontCI( FontKI ): # Codicons
|
|||
font_name = 'Codicons'
|
||||
font_abbr = 'CI'
|
||||
font_data_prefix = '.codicon-'
|
||||
font_data = 'https://microsoft.github.io/vscode-codicons/dist/codicon.css'
|
||||
ttfs = [[ font_abbr, 'codicon.ttf', 'https://microsoft.github.io/vscode-codicons/dist/codicon.ttf' ]]
|
||||
|
||||
|
||||
class FontLC( FontKI ): # Lucide
|
||||
font_name = 'Lucide'
|
||||
font_abbr = 'LC'
|
||||
font_data_prefix = '.icon-'
|
||||
font_data = 'https://unpkg.com/lucide-static@latest/font/lucide.css' # alt 'https://cdn.jsdelivr.net/npm/lucide-static@latest/font/lucide.css'
|
||||
ttfs = [[ font_abbr, 'lucide.ttf', 'https://unpkg.com/lucide-static@latest/font/lucide.ttf' ]] # alt 'https://cdn.jsdelivr.net/npm/lucide-static@latest/font/lucide.ttf'
|
||||
font_data = 'https://raw.githubusercontent.com/microsoft/vscode-codicons/main/dist/codicon.css'
|
||||
ttfs = [[ font_abbr, 'codicon.ttf', 'https://github.com/microsoft/vscode-codicons/blob/main/dist/codicon.ttf' ]]
|
||||
|
||||
|
||||
# Languages
|
||||
|
@ -581,10 +453,9 @@ class LanguageC( Language ):
|
|||
|
||||
@classmethod
|
||||
def prelude( cls ):
|
||||
tmpl_prelude = '// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py\n' + \
|
||||
'// for {lang}\n' + \
|
||||
'// from codepoints {font_data}\n' + \
|
||||
'// for use with font {ttf_files}\n\n' + \
|
||||
tmpl_prelude = '// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages {lang}\n' + \
|
||||
'// from {font_data}\n' + \
|
||||
'// for use with {ttf_files}\n' + \
|
||||
'#pragma once\n\n'
|
||||
ttf_files = []
|
||||
for ttf in cls.intermediate.get( 'ttfs' ):
|
||||
|
@ -607,7 +478,7 @@ class LanguageC( Language ):
|
|||
val = cls.intermediate.get( 'font_max_16' )) + \
|
||||
tmpl_line_minmax.format( minmax = 'MAX',
|
||||
abbr = abbreviation,
|
||||
val = cls.intermediate.get( 'font_max' )) + '\n'
|
||||
val = cls.intermediate.get( 'font_max' ))
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
|
@ -645,10 +516,9 @@ class LanguageC( Language ):
|
|||
# convert to header and save to disk
|
||||
if ttf_data:
|
||||
# convert ttf to header
|
||||
tmpl_prelude_ttf = '// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py\n' + \
|
||||
'// for {lang}\n' + \
|
||||
'// from font {ttf_file}\n' + \
|
||||
'// Requires #include <stdint.h>\n\n' + \
|
||||
tmpl_prelude_ttf = '// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages {lang}\n' + \
|
||||
'// from {ttf_file}\n' + \
|
||||
'// Requires #include <stdint.h>\n' + \
|
||||
'#pragma once\n\n' + \
|
||||
'static const uint8_t s_{name}_ttf[{size}] = \n{{'
|
||||
result = tmpl_prelude_ttf.format( lang = cls.language_name,
|
||||
|
@ -678,13 +548,9 @@ class LanguageCSharp( Language ):
|
|||
|
||||
@classmethod
|
||||
def prelude( cls ):
|
||||
tmpl_prelude = \
|
||||
'// <auto-generated>\n' + \
|
||||
'// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py\n' + \
|
||||
'// for {lang}\n' + \
|
||||
'// from codepoints {font_data}\n' + \
|
||||
'// for use with font {ttf_files}\n' + \
|
||||
'// </auto-generated>\n\n' + \
|
||||
tmpl_prelude = '// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language {lang}\n' + \
|
||||
'// from {font_data}\n' + \
|
||||
'// for use with {ttf_files}\n' + \
|
||||
'namespace IconFonts\n' + \
|
||||
'{{\n' + \
|
||||
' public class {font_name}\n' + \
|
||||
|
@ -707,7 +573,7 @@ class LanguageCSharp( Language ):
|
|||
tmpl_line_minmax.format( minmax = 'Max16',
|
||||
val = cls.intermediate.get( 'font_max_16' )) + \
|
||||
tmpl_line_minmax.format( minmax = 'Max',
|
||||
val = cls.intermediate.get( 'font_max' )) + '\n'
|
||||
val = cls.intermediate.get( 'font_max' ))
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
|
@ -717,7 +583,7 @@ class LanguageCSharp( Language ):
|
|||
|
||||
@classmethod
|
||||
def line_icon( cls, icon ):
|
||||
tmpl_line_icon = ' public const string {icon} = {literal};\n'
|
||||
tmpl_line_icon = ' public const string {icon} = "\\u{code}";\n'
|
||||
icon_name = cls.to_camelcase( icon[ 0 ])
|
||||
icon_code = icon[ 1 ]
|
||||
if icon_name[ 0 ].isdigit():
|
||||
|
@ -726,14 +592,7 @@ class LanguageCSharp( Language ):
|
|||
if icon_name == cls.intermediate.get( 'font_name' ).replace( ' ', '' ):
|
||||
# Member may not have same name as enclosing class
|
||||
icon_name += 'Icon'
|
||||
|
||||
# "\u1234"
|
||||
if len( icon_code ) <= 4:
|
||||
literal = '"\\u{code}"'.format( code = icon_code.rjust( 4, '0' ))
|
||||
# "\U12345678"
|
||||
else:
|
||||
literal = '"\\U{code}"'.format( code = icon_code.rjust( 8, '0' ))
|
||||
result = tmpl_line_icon.format( icon = icon_name, literal = literal )
|
||||
result = tmpl_line_icon.format( icon = icon_name, code = icon_code )
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
|
@ -751,11 +610,10 @@ class LanguagePython( Language ):
|
|||
|
||||
@classmethod
|
||||
def prelude( cls ):
|
||||
tmpl_prelude = '# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py\n' + \
|
||||
'# for {lang}\n' + \
|
||||
'# from codepoints {font_data}\n' + \
|
||||
'# for use with font {ttf_files}\n\n' + \
|
||||
'class Icons{font_name}:\n\n'
|
||||
tmpl_prelude = '# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language {lang}\n' + \
|
||||
'# from {font_data}\n' + \
|
||||
'# for use with {ttf_files}\n' + \
|
||||
'class Icons{font_name}:\n'
|
||||
ttf_files = []
|
||||
for ttf in cls.intermediate.get( 'ttfs' ):
|
||||
ttf_files.append( ttf[ 2] )
|
||||
|
@ -774,7 +632,7 @@ class LanguagePython( Language ):
|
|||
tmpl_line_minmax.format( minmax = 'MAX_16',
|
||||
val = cls.intermediate.get( 'font_max_16' )) + \
|
||||
tmpl_line_minmax.format( minmax = 'MAX',
|
||||
val = cls.intermediate.get( 'font_max' )) + '\n'
|
||||
val = cls.intermediate.get( 'font_max' ))
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
|
@ -785,17 +643,15 @@ class LanguagePython( Language ):
|
|||
result = tmpl_line_icon.format( icon = icon_name, code = icon_code )
|
||||
return result
|
||||
|
||||
|
||||
class LanguageRust( Language ):
|
||||
language_name = "Rust"
|
||||
file_name = 'Icons{name}.rs'
|
||||
|
||||
@classmethod
|
||||
def prelude( cls ):
|
||||
tmpl_prelude = '//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py\n' + \
|
||||
'//! for {lang}\n' + \
|
||||
'//! from codepoints {font_data}\n' + \
|
||||
'//! for use with font {ttf_files}\n\n'
|
||||
tmpl_prelude = '//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language {lang}\n' + \
|
||||
'//! from {font_data}\n' + \
|
||||
'//! for use with {ttf_files}\n'
|
||||
ttf_files = []
|
||||
for ttf in cls.intermediate.get( 'ttfs' ):
|
||||
ttf_files.append( ttf[ 2] )
|
||||
|
@ -814,7 +670,7 @@ class LanguageRust( Language ):
|
|||
tmpl_line_minmax.format( minmax = 'MAX_16',
|
||||
val = cls.intermediate.get( 'font_max_16' )) + \
|
||||
tmpl_line_minmax.format( minmax = 'MAX',
|
||||
val = cls.intermediate.get( 'font_max' )) + '\n'
|
||||
val = cls.intermediate.get( 'font_max' ))
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
|
@ -832,10 +688,9 @@ class LanguageGo( Language ):
|
|||
|
||||
@classmethod
|
||||
def prelude( cls ):
|
||||
tmpl_prelude = '// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py\n' + \
|
||||
'// for {lang}\n' + \
|
||||
'// from codepoints {font_data}\n' + \
|
||||
'// for use with font {ttf_files}\n\n' + \
|
||||
tmpl_prelude = '// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages {lang}\n' + \
|
||||
'// from {font_data}\n' + \
|
||||
'// for use with {ttf_files}\n\n' + \
|
||||
'package IconFontCppHeaders\n\n'
|
||||
ttf_files = []
|
||||
for ttf in cls.intermediate.get( 'ttfs' ):
|
||||
|
@ -894,11 +749,11 @@ class LanguageGo( Language ):
|
|||
# Main
|
||||
|
||||
|
||||
fonts = [ FontFA4, FontFA5, FontFA5Brands, FontFA5Pro, FontFA5ProBrands, FontFA6, FontFA6Brands, FontFK, FontMD, FontMS, FontMDI, FontKI, FontFAD, FontCI, FontLC ]
|
||||
fonts = [ FontFA4, FontFA5, FontFA5Brands, FontFA5Pro, FontFA5ProBrands, FontFA6, FontFA6Brands, FontFK, FontMD, FontKI, FontFAD, FontCI ]
|
||||
languages = [ LanguageC, LanguageCSharp, LanguagePython, LanguageRust, LanguageGo ]
|
||||
ttf2headerC = False # convert ttf files to C and C++ headers
|
||||
|
||||
logging.basicConfig( format='%(levelname)s : %(message)s', level = logging.WARNING )
|
||||
logging.basicConfig( format='%(levelname)s : %(message)s', level = logging.INFO )
|
||||
|
||||
intermediates = []
|
||||
for font in fonts:
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
// <auto-generated>
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C#
|
||||
// from codepoints https://microsoft.github.io/vscode-codicons/dist/codicon.css
|
||||
// for use with font https://microsoft.github.io/vscode-codicons/dist/codicon.ttf
|
||||
// </auto-generated>
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language C#
|
||||
// from https://raw.githubusercontent.com/microsoft/vscode-codicons/main/dist/codicon.css
|
||||
// for use with https://github.com/microsoft/vscode-codicons/blob/main/dist/codicon.ttf
|
||||
namespace IconFonts
|
||||
{
|
||||
public class Codicons
|
||||
|
@ -12,9 +8,8 @@ namespace IconFonts
|
|||
public const string FontIconFileNameCI = "codicon.ttf";
|
||||
|
||||
public const int IconMin = 0xea60;
|
||||
public const int IconMax16 = 0xf101;
|
||||
public const int IconMax = 0xf101;
|
||||
|
||||
public const int IconMax16 = 0xec11;
|
||||
public const int IconMax = 0xec11;
|
||||
public const string Add = "\uea60";
|
||||
public const string Plus = "\uea60";
|
||||
public const string GistNew = "\uea60";
|
||||
|
@ -30,7 +25,6 @@ namespace IconFonts
|
|||
public const string RecordKeys = "\uea65";
|
||||
public const string Keyboard = "\uea65";
|
||||
public const string Tag = "\uea66";
|
||||
public const string GitPullRequestLabel = "\uea66";
|
||||
public const string TagAdd = "\uea66";
|
||||
public const string TagRemove = "\uea66";
|
||||
public const string Person = "\uea67";
|
||||
|
@ -223,7 +217,6 @@ namespace IconFonts
|
|||
public const string DiffRemoved = "\ueadf";
|
||||
public const string DiffRenamed = "\ueae0";
|
||||
public const string Diff = "\ueae1";
|
||||
public const string DiffSidebyside = "\ueae1";
|
||||
public const string Discard = "\ueae2";
|
||||
public const string EditorLayout = "\ueae3";
|
||||
public const string EmptyWindow = "\ueae4";
|
||||
|
@ -287,7 +280,6 @@ namespace IconFonts
|
|||
public const string Megaphone = "\ueb1e";
|
||||
public const string Mention = "\ueb1f";
|
||||
public const string Milestone = "\ueb20";
|
||||
public const string GitPullRequestMilestone = "\ueb20";
|
||||
public const string MortarBoard = "\ueb21";
|
||||
public const string Move = "\ueb22";
|
||||
public const string MultipleWindows = "\ueb23";
|
||||
|
@ -413,11 +405,9 @@ namespace IconFonts
|
|||
public const string Menu = "\ueb94";
|
||||
public const string ExpandAll = "\ueb95";
|
||||
public const string Feedback = "\ueb96";
|
||||
public const string GitPullRequestReviewer = "\ueb96";
|
||||
public const string GroupByRefType = "\ueb97";
|
||||
public const string UngroupByRefType = "\ueb98";
|
||||
public const string Account = "\ueb99";
|
||||
public const string GitPullRequestAssignee = "\ueb99";
|
||||
public const string BellDot = "\ueb9a";
|
||||
public const string DebugConsole = "\ueb9b";
|
||||
public const string Library = "\ueb9c";
|
||||
|
@ -531,11 +521,7 @@ namespace IconFonts
|
|||
public const string Blank = "\uec03";
|
||||
public const string HeartFilled = "\uec04";
|
||||
public const string Map = "\uec05";
|
||||
public const string MapHorizontal = "\uec05";
|
||||
public const string FoldHorizontal = "\uec05";
|
||||
public const string MapFilled = "\uec06";
|
||||
public const string MapHorizontalFilled = "\uec06";
|
||||
public const string FoldHorizontalFilled = "\uec06";
|
||||
public const string CircleSmall = "\uec07";
|
||||
public const string BellSlash = "\uec08";
|
||||
public const string BellSlashDot = "\uec09";
|
||||
|
@ -547,44 +533,5 @@ namespace IconFonts
|
|||
public const string Send = "\uec0f";
|
||||
public const string Sparkle = "\uec10";
|
||||
public const string Insert = "\uec11";
|
||||
public const string Mic = "\uec12";
|
||||
public const string ThumbsdownFilled = "\uec13";
|
||||
public const string ThumbsupFilled = "\uec14";
|
||||
public const string Coffee = "\uec15";
|
||||
public const string Snake = "\uec16";
|
||||
public const string Game = "\uec17";
|
||||
public const string Vr = "\uec18";
|
||||
public const string Chip = "\uec19";
|
||||
public const string Piano = "\uec1a";
|
||||
public const string Music = "\uec1b";
|
||||
public const string MicFilled = "\uec1c";
|
||||
public const string RepoFetch = "\uec1d";
|
||||
public const string Copilot = "\uec1e";
|
||||
public const string LightbulbSparkle = "\uec1f";
|
||||
public const string Robot = "\uec20";
|
||||
public const string SparkleFilled = "\uec21";
|
||||
public const string DiffSingle = "\uec22";
|
||||
public const string DiffMultiple = "\uec23";
|
||||
public const string SurroundWith = "\uec24";
|
||||
public const string Share = "\uec25";
|
||||
public const string GitStash = "\uec26";
|
||||
public const string GitStashApply = "\uec27";
|
||||
public const string GitStashPop = "\uec28";
|
||||
public const string Vscode = "\uec29";
|
||||
public const string VscodeInsiders = "\uec2a";
|
||||
public const string CodeOss = "\uec2b";
|
||||
public const string RunCoverage = "\uec2c";
|
||||
public const string RunAllCoverage = "\uec2d";
|
||||
public const string Coverage = "\uec2e";
|
||||
public const string GithubProject = "\uec2f";
|
||||
public const string MapVertical = "\uec30";
|
||||
public const string FoldVertical = "\uec30";
|
||||
public const string MapVerticalFilled = "\uec31";
|
||||
public const string FoldVerticalFilled = "\uec31";
|
||||
public const string GoToSearch = "\uec32";
|
||||
public const string Percentage = "\uec33";
|
||||
public const string SortPercentage = "\uec33";
|
||||
public const string Attach = "\uec34";
|
||||
public const string GitFetch = "\uf101";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for Go
|
||||
// from codepoints https://microsoft.github.io/vscode-codicons/dist/codicon.css
|
||||
// for use with font https://microsoft.github.io/vscode-codicons/dist/codicon.ttf
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages Go
|
||||
// from https://raw.githubusercontent.com/microsoft/vscode-codicons/main/dist/codicon.css
|
||||
// for use with https://github.com/microsoft/vscode-codicons/blob/main/dist/codicon.ttf
|
||||
|
||||
package IconFontCppHeaders
|
||||
|
||||
|
@ -10,8 +9,8 @@ var IconsCodicons = Font{
|
|||
{"CI", "codicon.ttf"},
|
||||
},
|
||||
Min: 0xea60,
|
||||
Max16: 0xf101,
|
||||
Max: 0xf101,
|
||||
Max16: 0xec11,
|
||||
Max: 0xec11,
|
||||
Icons: map[string]string{
|
||||
"Add": "\xee\xa9\xa0", // U+ea60
|
||||
"Plus": "\xee\xa9\xa0", // U+ea60
|
||||
|
@ -28,7 +27,6 @@ var IconsCodicons = Font{
|
|||
"RecordKeys": "\xee\xa9\xa5", // U+ea65
|
||||
"Keyboard": "\xee\xa9\xa5", // U+ea65
|
||||
"Tag": "\xee\xa9\xa6", // U+ea66
|
||||
"GitPullRequestLabel": "\xee\xa9\xa6", // U+ea66
|
||||
"TagAdd": "\xee\xa9\xa6", // U+ea66
|
||||
"TagRemove": "\xee\xa9\xa6", // U+ea66
|
||||
"Person": "\xee\xa9\xa7", // U+ea67
|
||||
|
@ -221,7 +219,6 @@ var IconsCodicons = Font{
|
|||
"DiffRemoved": "\xee\xab\x9f", // U+eadf
|
||||
"DiffRenamed": "\xee\xab\xa0", // U+eae0
|
||||
"Diff": "\xee\xab\xa1", // U+eae1
|
||||
"DiffSidebyside": "\xee\xab\xa1", // U+eae1
|
||||
"Discard": "\xee\xab\xa2", // U+eae2
|
||||
"EditorLayout": "\xee\xab\xa3", // U+eae3
|
||||
"EmptyWindow": "\xee\xab\xa4", // U+eae4
|
||||
|
@ -285,7 +282,6 @@ var IconsCodicons = Font{
|
|||
"Megaphone": "\xee\xac\x9e", // U+eb1e
|
||||
"Mention": "\xee\xac\x9f", // U+eb1f
|
||||
"Milestone": "\xee\xac\xa0", // U+eb20
|
||||
"GitPullRequestMilestone": "\xee\xac\xa0", // U+eb20
|
||||
"MortarBoard": "\xee\xac\xa1", // U+eb21
|
||||
"Move": "\xee\xac\xa2", // U+eb22
|
||||
"MultipleWindows": "\xee\xac\xa3", // U+eb23
|
||||
|
@ -411,11 +407,9 @@ var IconsCodicons = Font{
|
|||
"Menu": "\xee\xae\x94", // U+eb94
|
||||
"ExpandAll": "\xee\xae\x95", // U+eb95
|
||||
"Feedback": "\xee\xae\x96", // U+eb96
|
||||
"GitPullRequestReviewer": "\xee\xae\x96", // U+eb96
|
||||
"GroupByRefType": "\xee\xae\x97", // U+eb97
|
||||
"UngroupByRefType": "\xee\xae\x98", // U+eb98
|
||||
"Account": "\xee\xae\x99", // U+eb99
|
||||
"GitPullRequestAssignee": "\xee\xae\x99", // U+eb99
|
||||
"BellDot": "\xee\xae\x9a", // U+eb9a
|
||||
"DebugConsole": "\xee\xae\x9b", // U+eb9b
|
||||
"Library": "\xee\xae\x9c", // U+eb9c
|
||||
|
@ -529,11 +523,7 @@ var IconsCodicons = Font{
|
|||
"Blank": "\xee\xb0\x83", // U+ec03
|
||||
"HeartFilled": "\xee\xb0\x84", // U+ec04
|
||||
"Map": "\xee\xb0\x85", // U+ec05
|
||||
"MapHorizontal": "\xee\xb0\x85", // U+ec05
|
||||
"FoldHorizontal": "\xee\xb0\x85", // U+ec05
|
||||
"MapFilled": "\xee\xb0\x86", // U+ec06
|
||||
"MapHorizontalFilled": "\xee\xb0\x86", // U+ec06
|
||||
"FoldHorizontalFilled": "\xee\xb0\x86", // U+ec06
|
||||
"CircleSmall": "\xee\xb0\x87", // U+ec07
|
||||
"BellSlash": "\xee\xb0\x88", // U+ec08
|
||||
"BellSlashDot": "\xee\xb0\x89", // U+ec09
|
||||
|
@ -545,44 +535,5 @@ var IconsCodicons = Font{
|
|||
"Send": "\xee\xb0\x8f", // U+ec0f
|
||||
"Sparkle": "\xee\xb0\x90", // U+ec10
|
||||
"Insert": "\xee\xb0\x91", // U+ec11
|
||||
"Mic": "\xee\xb0\x92", // U+ec12
|
||||
"ThumbsdownFilled": "\xee\xb0\x93", // U+ec13
|
||||
"ThumbsupFilled": "\xee\xb0\x94", // U+ec14
|
||||
"Coffee": "\xee\xb0\x95", // U+ec15
|
||||
"Snake": "\xee\xb0\x96", // U+ec16
|
||||
"Game": "\xee\xb0\x97", // U+ec17
|
||||
"Vr": "\xee\xb0\x98", // U+ec18
|
||||
"Chip": "\xee\xb0\x99", // U+ec19
|
||||
"Piano": "\xee\xb0\x9a", // U+ec1a
|
||||
"Music": "\xee\xb0\x9b", // U+ec1b
|
||||
"MicFilled": "\xee\xb0\x9c", // U+ec1c
|
||||
"RepoFetch": "\xee\xb0\x9d", // U+ec1d
|
||||
"Copilot": "\xee\xb0\x9e", // U+ec1e
|
||||
"LightbulbSparkle": "\xee\xb0\x9f", // U+ec1f
|
||||
"Robot": "\xee\xb0\xa0", // U+ec20
|
||||
"SparkleFilled": "\xee\xb0\xa1", // U+ec21
|
||||
"DiffSingle": "\xee\xb0\xa2", // U+ec22
|
||||
"DiffMultiple": "\xee\xb0\xa3", // U+ec23
|
||||
"SurroundWith": "\xee\xb0\xa4", // U+ec24
|
||||
"Share": "\xee\xb0\xa5", // U+ec25
|
||||
"GitStash": "\xee\xb0\xa6", // U+ec26
|
||||
"GitStashApply": "\xee\xb0\xa7", // U+ec27
|
||||
"GitStashPop": "\xee\xb0\xa8", // U+ec28
|
||||
"Vscode": "\xee\xb0\xa9", // U+ec29
|
||||
"VscodeInsiders": "\xee\xb0\xaa", // U+ec2a
|
||||
"CodeOss": "\xee\xb0\xab", // U+ec2b
|
||||
"RunCoverage": "\xee\xb0\xac", // U+ec2c
|
||||
"RunAllCoverage": "\xee\xb0\xad", // U+ec2d
|
||||
"Coverage": "\xee\xb0\xae", // U+ec2e
|
||||
"GithubProject": "\xee\xb0\xaf", // U+ec2f
|
||||
"MapVertical": "\xee\xb0\xb0", // U+ec30
|
||||
"FoldVertical": "\xee\xb0\xb0", // U+ec30
|
||||
"MapVerticalFilled": "\xee\xb0\xb1", // U+ec31
|
||||
"FoldVerticalFilled": "\xee\xb0\xb1", // U+ec31
|
||||
"GoToSearch": "\xee\xb0\xb2", // U+ec32
|
||||
"Percentage": "\xee\xb0\xb3", // U+ec33
|
||||
"SortPercentage": "\xee\xb0\xb3", // U+ec33
|
||||
"Attach": "\xee\xb0\xb4", // U+ec34
|
||||
"GitFetch": "\xef\x84\x81", // U+f101
|
||||
},
|
||||
}
|
||||
|
|
|
@ -1,16 +1,13 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C and C++
|
||||
// from codepoints https://microsoft.github.io/vscode-codicons/dist/codicon.css
|
||||
// for use with font https://microsoft.github.io/vscode-codicons/dist/codicon.ttf
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages C and C++
|
||||
// from https://raw.githubusercontent.com/microsoft/vscode-codicons/main/dist/codicon.css
|
||||
// for use with https://github.com/microsoft/vscode-codicons/blob/main/dist/codicon.ttf
|
||||
#pragma once
|
||||
|
||||
#define FONT_ICON_FILE_NAME_CI "codicon.ttf"
|
||||
|
||||
#define ICON_MIN_CI 0xea60
|
||||
#define ICON_MAX_16_CI 0xf101
|
||||
#define ICON_MAX_CI 0xf101
|
||||
|
||||
#define ICON_MAX_16_CI 0xec11
|
||||
#define ICON_MAX_CI 0xec11
|
||||
#define ICON_CI_ADD "\xee\xa9\xa0" // U+ea60
|
||||
#define ICON_CI_PLUS "\xee\xa9\xa0" // U+ea60
|
||||
#define ICON_CI_GIST_NEW "\xee\xa9\xa0" // U+ea60
|
||||
|
@ -26,7 +23,6 @@
|
|||
#define ICON_CI_RECORD_KEYS "\xee\xa9\xa5" // U+ea65
|
||||
#define ICON_CI_KEYBOARD "\xee\xa9\xa5" // U+ea65
|
||||
#define ICON_CI_TAG "\xee\xa9\xa6" // U+ea66
|
||||
#define ICON_CI_GIT_PULL_REQUEST_LABEL "\xee\xa9\xa6" // U+ea66
|
||||
#define ICON_CI_TAG_ADD "\xee\xa9\xa6" // U+ea66
|
||||
#define ICON_CI_TAG_REMOVE "\xee\xa9\xa6" // U+ea66
|
||||
#define ICON_CI_PERSON "\xee\xa9\xa7" // U+ea67
|
||||
|
@ -219,7 +215,6 @@
|
|||
#define ICON_CI_DIFF_REMOVED "\xee\xab\x9f" // U+eadf
|
||||
#define ICON_CI_DIFF_RENAMED "\xee\xab\xa0" // U+eae0
|
||||
#define ICON_CI_DIFF "\xee\xab\xa1" // U+eae1
|
||||
#define ICON_CI_DIFF_SIDEBYSIDE "\xee\xab\xa1" // U+eae1
|
||||
#define ICON_CI_DISCARD "\xee\xab\xa2" // U+eae2
|
||||
#define ICON_CI_EDITOR_LAYOUT "\xee\xab\xa3" // U+eae3
|
||||
#define ICON_CI_EMPTY_WINDOW "\xee\xab\xa4" // U+eae4
|
||||
|
@ -283,7 +278,6 @@
|
|||
#define ICON_CI_MEGAPHONE "\xee\xac\x9e" // U+eb1e
|
||||
#define ICON_CI_MENTION "\xee\xac\x9f" // U+eb1f
|
||||
#define ICON_CI_MILESTONE "\xee\xac\xa0" // U+eb20
|
||||
#define ICON_CI_GIT_PULL_REQUEST_MILESTONE "\xee\xac\xa0" // U+eb20
|
||||
#define ICON_CI_MORTAR_BOARD "\xee\xac\xa1" // U+eb21
|
||||
#define ICON_CI_MOVE "\xee\xac\xa2" // U+eb22
|
||||
#define ICON_CI_MULTIPLE_WINDOWS "\xee\xac\xa3" // U+eb23
|
||||
|
@ -409,11 +403,9 @@
|
|||
#define ICON_CI_MENU "\xee\xae\x94" // U+eb94
|
||||
#define ICON_CI_EXPAND_ALL "\xee\xae\x95" // U+eb95
|
||||
#define ICON_CI_FEEDBACK "\xee\xae\x96" // U+eb96
|
||||
#define ICON_CI_GIT_PULL_REQUEST_REVIEWER "\xee\xae\x96" // U+eb96
|
||||
#define ICON_CI_GROUP_BY_REF_TYPE "\xee\xae\x97" // U+eb97
|
||||
#define ICON_CI_UNGROUP_BY_REF_TYPE "\xee\xae\x98" // U+eb98
|
||||
#define ICON_CI_ACCOUNT "\xee\xae\x99" // U+eb99
|
||||
#define ICON_CI_GIT_PULL_REQUEST_ASSIGNEE "\xee\xae\x99" // U+eb99
|
||||
#define ICON_CI_BELL_DOT "\xee\xae\x9a" // U+eb9a
|
||||
#define ICON_CI_DEBUG_CONSOLE "\xee\xae\x9b" // U+eb9b
|
||||
#define ICON_CI_LIBRARY "\xee\xae\x9c" // U+eb9c
|
||||
|
@ -527,11 +519,7 @@
|
|||
#define ICON_CI_BLANK "\xee\xb0\x83" // U+ec03
|
||||
#define ICON_CI_HEART_FILLED "\xee\xb0\x84" // U+ec04
|
||||
#define ICON_CI_MAP "\xee\xb0\x85" // U+ec05
|
||||
#define ICON_CI_MAP_HORIZONTAL "\xee\xb0\x85" // U+ec05
|
||||
#define ICON_CI_FOLD_HORIZONTAL "\xee\xb0\x85" // U+ec05
|
||||
#define ICON_CI_MAP_FILLED "\xee\xb0\x86" // U+ec06
|
||||
#define ICON_CI_MAP_HORIZONTAL_FILLED "\xee\xb0\x86" // U+ec06
|
||||
#define ICON_CI_FOLD_HORIZONTAL_FILLED "\xee\xb0\x86" // U+ec06
|
||||
#define ICON_CI_CIRCLE_SMALL "\xee\xb0\x87" // U+ec07
|
||||
#define ICON_CI_BELL_SLASH "\xee\xb0\x88" // U+ec08
|
||||
#define ICON_CI_BELL_SLASH_DOT "\xee\xb0\x89" // U+ec09
|
||||
|
@ -543,42 +531,3 @@
|
|||
#define ICON_CI_SEND "\xee\xb0\x8f" // U+ec0f
|
||||
#define ICON_CI_SPARKLE "\xee\xb0\x90" // U+ec10
|
||||
#define ICON_CI_INSERT "\xee\xb0\x91" // U+ec11
|
||||
#define ICON_CI_MIC "\xee\xb0\x92" // U+ec12
|
||||
#define ICON_CI_THUMBSDOWN_FILLED "\xee\xb0\x93" // U+ec13
|
||||
#define ICON_CI_THUMBSUP_FILLED "\xee\xb0\x94" // U+ec14
|
||||
#define ICON_CI_COFFEE "\xee\xb0\x95" // U+ec15
|
||||
#define ICON_CI_SNAKE "\xee\xb0\x96" // U+ec16
|
||||
#define ICON_CI_GAME "\xee\xb0\x97" // U+ec17
|
||||
#define ICON_CI_VR "\xee\xb0\x98" // U+ec18
|
||||
#define ICON_CI_CHIP "\xee\xb0\x99" // U+ec19
|
||||
#define ICON_CI_PIANO "\xee\xb0\x9a" // U+ec1a
|
||||
#define ICON_CI_MUSIC "\xee\xb0\x9b" // U+ec1b
|
||||
#define ICON_CI_MIC_FILLED "\xee\xb0\x9c" // U+ec1c
|
||||
#define ICON_CI_REPO_FETCH "\xee\xb0\x9d" // U+ec1d
|
||||
#define ICON_CI_COPILOT "\xee\xb0\x9e" // U+ec1e
|
||||
#define ICON_CI_LIGHTBULB_SPARKLE "\xee\xb0\x9f" // U+ec1f
|
||||
#define ICON_CI_ROBOT "\xee\xb0\xa0" // U+ec20
|
||||
#define ICON_CI_SPARKLE_FILLED "\xee\xb0\xa1" // U+ec21
|
||||
#define ICON_CI_DIFF_SINGLE "\xee\xb0\xa2" // U+ec22
|
||||
#define ICON_CI_DIFF_MULTIPLE "\xee\xb0\xa3" // U+ec23
|
||||
#define ICON_CI_SURROUND_WITH "\xee\xb0\xa4" // U+ec24
|
||||
#define ICON_CI_SHARE "\xee\xb0\xa5" // U+ec25
|
||||
#define ICON_CI_GIT_STASH "\xee\xb0\xa6" // U+ec26
|
||||
#define ICON_CI_GIT_STASH_APPLY "\xee\xb0\xa7" // U+ec27
|
||||
#define ICON_CI_GIT_STASH_POP "\xee\xb0\xa8" // U+ec28
|
||||
#define ICON_CI_VSCODE "\xee\xb0\xa9" // U+ec29
|
||||
#define ICON_CI_VSCODE_INSIDERS "\xee\xb0\xaa" // U+ec2a
|
||||
#define ICON_CI_CODE_OSS "\xee\xb0\xab" // U+ec2b
|
||||
#define ICON_CI_RUN_COVERAGE "\xee\xb0\xac" // U+ec2c
|
||||
#define ICON_CI_RUN_ALL_COVERAGE "\xee\xb0\xad" // U+ec2d
|
||||
#define ICON_CI_COVERAGE "\xee\xb0\xae" // U+ec2e
|
||||
#define ICON_CI_GITHUB_PROJECT "\xee\xb0\xaf" // U+ec2f
|
||||
#define ICON_CI_MAP_VERTICAL "\xee\xb0\xb0" // U+ec30
|
||||
#define ICON_CI_FOLD_VERTICAL "\xee\xb0\xb0" // U+ec30
|
||||
#define ICON_CI_MAP_VERTICAL_FILLED "\xee\xb0\xb1" // U+ec31
|
||||
#define ICON_CI_FOLD_VERTICAL_FILLED "\xee\xb0\xb1" // U+ec31
|
||||
#define ICON_CI_GO_TO_SEARCH "\xee\xb0\xb2" // U+ec32
|
||||
#define ICON_CI_PERCENTAGE "\xee\xb0\xb3" // U+ec33
|
||||
#define ICON_CI_SORT_PERCENTAGE "\xee\xb0\xb3" // U+ec33
|
||||
#define ICON_CI_ATTACH "\xee\xb0\xb4" // U+ec34
|
||||
#define ICON_CI_GIT_FETCH "\xef\x84\x81" // U+f101
|
||||
|
|
|
@ -1,16 +1,12 @@
|
|||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
# for Python
|
||||
# from codepoints https://microsoft.github.io/vscode-codicons/dist/codicon.css
|
||||
# for use with font https://microsoft.github.io/vscode-codicons/dist/codicon.ttf
|
||||
|
||||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Python
|
||||
# from https://raw.githubusercontent.com/microsoft/vscode-codicons/main/dist/codicon.css
|
||||
# for use with https://github.com/microsoft/vscode-codicons/blob/main/dist/codicon.ttf
|
||||
class IconsCodicons:
|
||||
|
||||
FONT_ICON_FILE_NAME_CI = 'codicon.ttf'
|
||||
|
||||
ICON_MIN = 0xea60
|
||||
ICON_MAX_16 = 0xf101
|
||||
ICON_MAX = 0xf101
|
||||
|
||||
ICON_MAX_16 = 0xec11
|
||||
ICON_MAX = 0xec11
|
||||
ICON_ADD = '\uea60'
|
||||
ICON_PLUS = '\uea60'
|
||||
ICON_GIST_NEW = '\uea60'
|
||||
|
@ -26,7 +22,6 @@ class IconsCodicons:
|
|||
ICON_RECORD_KEYS = '\uea65'
|
||||
ICON_KEYBOARD = '\uea65'
|
||||
ICON_TAG = '\uea66'
|
||||
ICON_GIT_PULL_REQUEST_LABEL = '\uea66'
|
||||
ICON_TAG_ADD = '\uea66'
|
||||
ICON_TAG_REMOVE = '\uea66'
|
||||
ICON_PERSON = '\uea67'
|
||||
|
@ -219,7 +214,6 @@ class IconsCodicons:
|
|||
ICON_DIFF_REMOVED = '\ueadf'
|
||||
ICON_DIFF_RENAMED = '\ueae0'
|
||||
ICON_DIFF = '\ueae1'
|
||||
ICON_DIFF_SIDEBYSIDE = '\ueae1'
|
||||
ICON_DISCARD = '\ueae2'
|
||||
ICON_EDITOR_LAYOUT = '\ueae3'
|
||||
ICON_EMPTY_WINDOW = '\ueae4'
|
||||
|
@ -283,7 +277,6 @@ class IconsCodicons:
|
|||
ICON_MEGAPHONE = '\ueb1e'
|
||||
ICON_MENTION = '\ueb1f'
|
||||
ICON_MILESTONE = '\ueb20'
|
||||
ICON_GIT_PULL_REQUEST_MILESTONE = '\ueb20'
|
||||
ICON_MORTAR_BOARD = '\ueb21'
|
||||
ICON_MOVE = '\ueb22'
|
||||
ICON_MULTIPLE_WINDOWS = '\ueb23'
|
||||
|
@ -409,11 +402,9 @@ class IconsCodicons:
|
|||
ICON_MENU = '\ueb94'
|
||||
ICON_EXPAND_ALL = '\ueb95'
|
||||
ICON_FEEDBACK = '\ueb96'
|
||||
ICON_GIT_PULL_REQUEST_REVIEWER = '\ueb96'
|
||||
ICON_GROUP_BY_REF_TYPE = '\ueb97'
|
||||
ICON_UNGROUP_BY_REF_TYPE = '\ueb98'
|
||||
ICON_ACCOUNT = '\ueb99'
|
||||
ICON_GIT_PULL_REQUEST_ASSIGNEE = '\ueb99'
|
||||
ICON_BELL_DOT = '\ueb9a'
|
||||
ICON_DEBUG_CONSOLE = '\ueb9b'
|
||||
ICON_LIBRARY = '\ueb9c'
|
||||
|
@ -527,11 +518,7 @@ class IconsCodicons:
|
|||
ICON_BLANK = '\uec03'
|
||||
ICON_HEART_FILLED = '\uec04'
|
||||
ICON_MAP = '\uec05'
|
||||
ICON_MAP_HORIZONTAL = '\uec05'
|
||||
ICON_FOLD_HORIZONTAL = '\uec05'
|
||||
ICON_MAP_FILLED = '\uec06'
|
||||
ICON_MAP_HORIZONTAL_FILLED = '\uec06'
|
||||
ICON_FOLD_HORIZONTAL_FILLED = '\uec06'
|
||||
ICON_CIRCLE_SMALL = '\uec07'
|
||||
ICON_BELL_SLASH = '\uec08'
|
||||
ICON_BELL_SLASH_DOT = '\uec09'
|
||||
|
@ -543,42 +530,3 @@ class IconsCodicons:
|
|||
ICON_SEND = '\uec0f'
|
||||
ICON_SPARKLE = '\uec10'
|
||||
ICON_INSERT = '\uec11'
|
||||
ICON_MIC = '\uec12'
|
||||
ICON_THUMBSDOWN_FILLED = '\uec13'
|
||||
ICON_THUMBSUP_FILLED = '\uec14'
|
||||
ICON_COFFEE = '\uec15'
|
||||
ICON_SNAKE = '\uec16'
|
||||
ICON_GAME = '\uec17'
|
||||
ICON_VR = '\uec18'
|
||||
ICON_CHIP = '\uec19'
|
||||
ICON_PIANO = '\uec1a'
|
||||
ICON_MUSIC = '\uec1b'
|
||||
ICON_MIC_FILLED = '\uec1c'
|
||||
ICON_REPO_FETCH = '\uec1d'
|
||||
ICON_COPILOT = '\uec1e'
|
||||
ICON_LIGHTBULB_SPARKLE = '\uec1f'
|
||||
ICON_ROBOT = '\uec20'
|
||||
ICON_SPARKLE_FILLED = '\uec21'
|
||||
ICON_DIFF_SINGLE = '\uec22'
|
||||
ICON_DIFF_MULTIPLE = '\uec23'
|
||||
ICON_SURROUND_WITH = '\uec24'
|
||||
ICON_SHARE = '\uec25'
|
||||
ICON_GIT_STASH = '\uec26'
|
||||
ICON_GIT_STASH_APPLY = '\uec27'
|
||||
ICON_GIT_STASH_POP = '\uec28'
|
||||
ICON_VSCODE = '\uec29'
|
||||
ICON_VSCODE_INSIDERS = '\uec2a'
|
||||
ICON_CODE_OSS = '\uec2b'
|
||||
ICON_RUN_COVERAGE = '\uec2c'
|
||||
ICON_RUN_ALL_COVERAGE = '\uec2d'
|
||||
ICON_COVERAGE = '\uec2e'
|
||||
ICON_GITHUB_PROJECT = '\uec2f'
|
||||
ICON_MAP_VERTICAL = '\uec30'
|
||||
ICON_FOLD_VERTICAL = '\uec30'
|
||||
ICON_MAP_VERTICAL_FILLED = '\uec31'
|
||||
ICON_FOLD_VERTICAL_FILLED = '\uec31'
|
||||
ICON_GO_TO_SEARCH = '\uec32'
|
||||
ICON_PERCENTAGE = '\uec33'
|
||||
ICON_SORT_PERCENTAGE = '\uec33'
|
||||
ICON_ATTACH = '\uec34'
|
||||
ICON_GIT_FETCH = '\uf101'
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
//! for Rust
|
||||
//! from codepoints https://microsoft.github.io/vscode-codicons/dist/codicon.css
|
||||
//! for use with font https://microsoft.github.io/vscode-codicons/dist/codicon.ttf
|
||||
|
||||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Rust
|
||||
//! from https://raw.githubusercontent.com/microsoft/vscode-codicons/main/dist/codicon.css
|
||||
//! for use with https://github.com/microsoft/vscode-codicons/blob/main/dist/codicon.ttf
|
||||
pub const FONT_ICON_FILE_NAME_CI: &str = "codicon.ttf";
|
||||
|
||||
pub const ICON_MIN: char = '\u{ea60}';
|
||||
pub const ICON_MAX_16: char = '\u{f101}';
|
||||
pub const ICON_MAX: char = '\u{f101}';
|
||||
|
||||
pub const ICON_MAX_16: char = '\u{ec11}';
|
||||
pub const ICON_MAX: char = '\u{ec11}';
|
||||
pub const ICON_ADD: char = '\u{ea60}';
|
||||
pub const ICON_PLUS: char = '\u{ea60}';
|
||||
pub const ICON_GIST_NEW: char = '\u{ea60}';
|
||||
|
@ -24,7 +21,6 @@ pub const ICON_GIT_PULL_REQUEST_ABANDONED: char = '\u{ea64}';
|
|||
pub const ICON_RECORD_KEYS: char = '\u{ea65}';
|
||||
pub const ICON_KEYBOARD: char = '\u{ea65}';
|
||||
pub const ICON_TAG: char = '\u{ea66}';
|
||||
pub const ICON_GIT_PULL_REQUEST_LABEL: char = '\u{ea66}';
|
||||
pub const ICON_TAG_ADD: char = '\u{ea66}';
|
||||
pub const ICON_TAG_REMOVE: char = '\u{ea66}';
|
||||
pub const ICON_PERSON: char = '\u{ea67}';
|
||||
|
@ -217,7 +213,6 @@ pub const ICON_DIFF_MODIFIED: char = '\u{eade}';
|
|||
pub const ICON_DIFF_REMOVED: char = '\u{eadf}';
|
||||
pub const ICON_DIFF_RENAMED: char = '\u{eae0}';
|
||||
pub const ICON_DIFF: char = '\u{eae1}';
|
||||
pub const ICON_DIFF_SIDEBYSIDE: char = '\u{eae1}';
|
||||
pub const ICON_DISCARD: char = '\u{eae2}';
|
||||
pub const ICON_EDITOR_LAYOUT: char = '\u{eae3}';
|
||||
pub const ICON_EMPTY_WINDOW: char = '\u{eae4}';
|
||||
|
@ -281,7 +276,6 @@ pub const ICON_MARKDOWN: char = '\u{eb1d}';
|
|||
pub const ICON_MEGAPHONE: char = '\u{eb1e}';
|
||||
pub const ICON_MENTION: char = '\u{eb1f}';
|
||||
pub const ICON_MILESTONE: char = '\u{eb20}';
|
||||
pub const ICON_GIT_PULL_REQUEST_MILESTONE: char = '\u{eb20}';
|
||||
pub const ICON_MORTAR_BOARD: char = '\u{eb21}';
|
||||
pub const ICON_MOVE: char = '\u{eb22}';
|
||||
pub const ICON_MULTIPLE_WINDOWS: char = '\u{eb23}';
|
||||
|
@ -407,11 +401,9 @@ pub const ICON_CALL_OUTGOING: char = '\u{eb93}';
|
|||
pub const ICON_MENU: char = '\u{eb94}';
|
||||
pub const ICON_EXPAND_ALL: char = '\u{eb95}';
|
||||
pub const ICON_FEEDBACK: char = '\u{eb96}';
|
||||
pub const ICON_GIT_PULL_REQUEST_REVIEWER: char = '\u{eb96}';
|
||||
pub const ICON_GROUP_BY_REF_TYPE: char = '\u{eb97}';
|
||||
pub const ICON_UNGROUP_BY_REF_TYPE: char = '\u{eb98}';
|
||||
pub const ICON_ACCOUNT: char = '\u{eb99}';
|
||||
pub const ICON_GIT_PULL_REQUEST_ASSIGNEE: char = '\u{eb99}';
|
||||
pub const ICON_BELL_DOT: char = '\u{eb9a}';
|
||||
pub const ICON_DEBUG_CONSOLE: char = '\u{eb9b}';
|
||||
pub const ICON_LIBRARY: char = '\u{eb9c}';
|
||||
|
@ -525,11 +517,7 @@ pub const ICON_LAYOUT_SIDEBAR_LEFT_OFF: char = '\u{ec02}';
|
|||
pub const ICON_BLANK: char = '\u{ec03}';
|
||||
pub const ICON_HEART_FILLED: char = '\u{ec04}';
|
||||
pub const ICON_MAP: char = '\u{ec05}';
|
||||
pub const ICON_MAP_HORIZONTAL: char = '\u{ec05}';
|
||||
pub const ICON_FOLD_HORIZONTAL: char = '\u{ec05}';
|
||||
pub const ICON_MAP_FILLED: char = '\u{ec06}';
|
||||
pub const ICON_MAP_HORIZONTAL_FILLED: char = '\u{ec06}';
|
||||
pub const ICON_FOLD_HORIZONTAL_FILLED: char = '\u{ec06}';
|
||||
pub const ICON_CIRCLE_SMALL: char = '\u{ec07}';
|
||||
pub const ICON_BELL_SLASH: char = '\u{ec08}';
|
||||
pub const ICON_BELL_SLASH_DOT: char = '\u{ec09}';
|
||||
|
@ -541,42 +529,3 @@ pub const ICON_COMMENT_DRAFT: char = '\u{ec0e}';
|
|||
pub const ICON_SEND: char = '\u{ec0f}';
|
||||
pub const ICON_SPARKLE: char = '\u{ec10}';
|
||||
pub const ICON_INSERT: char = '\u{ec11}';
|
||||
pub const ICON_MIC: char = '\u{ec12}';
|
||||
pub const ICON_THUMBSDOWN_FILLED: char = '\u{ec13}';
|
||||
pub const ICON_THUMBSUP_FILLED: char = '\u{ec14}';
|
||||
pub const ICON_COFFEE: char = '\u{ec15}';
|
||||
pub const ICON_SNAKE: char = '\u{ec16}';
|
||||
pub const ICON_GAME: char = '\u{ec17}';
|
||||
pub const ICON_VR: char = '\u{ec18}';
|
||||
pub const ICON_CHIP: char = '\u{ec19}';
|
||||
pub const ICON_PIANO: char = '\u{ec1a}';
|
||||
pub const ICON_MUSIC: char = '\u{ec1b}';
|
||||
pub const ICON_MIC_FILLED: char = '\u{ec1c}';
|
||||
pub const ICON_REPO_FETCH: char = '\u{ec1d}';
|
||||
pub const ICON_COPILOT: char = '\u{ec1e}';
|
||||
pub const ICON_LIGHTBULB_SPARKLE: char = '\u{ec1f}';
|
||||
pub const ICON_ROBOT: char = '\u{ec20}';
|
||||
pub const ICON_SPARKLE_FILLED: char = '\u{ec21}';
|
||||
pub const ICON_DIFF_SINGLE: char = '\u{ec22}';
|
||||
pub const ICON_DIFF_MULTIPLE: char = '\u{ec23}';
|
||||
pub const ICON_SURROUND_WITH: char = '\u{ec24}';
|
||||
pub const ICON_SHARE: char = '\u{ec25}';
|
||||
pub const ICON_GIT_STASH: char = '\u{ec26}';
|
||||
pub const ICON_GIT_STASH_APPLY: char = '\u{ec27}';
|
||||
pub const ICON_GIT_STASH_POP: char = '\u{ec28}';
|
||||
pub const ICON_VSCODE: char = '\u{ec29}';
|
||||
pub const ICON_VSCODE_INSIDERS: char = '\u{ec2a}';
|
||||
pub const ICON_CODE_OSS: char = '\u{ec2b}';
|
||||
pub const ICON_RUN_COVERAGE: char = '\u{ec2c}';
|
||||
pub const ICON_RUN_ALL_COVERAGE: char = '\u{ec2d}';
|
||||
pub const ICON_COVERAGE: char = '\u{ec2e}';
|
||||
pub const ICON_GITHUB_PROJECT: char = '\u{ec2f}';
|
||||
pub const ICON_MAP_VERTICAL: char = '\u{ec30}';
|
||||
pub const ICON_FOLD_VERTICAL: char = '\u{ec30}';
|
||||
pub const ICON_MAP_VERTICAL_FILLED: char = '\u{ec31}';
|
||||
pub const ICON_FOLD_VERTICAL_FILLED: char = '\u{ec31}';
|
||||
pub const ICON_GO_TO_SEARCH: char = '\u{ec32}';
|
||||
pub const ICON_PERCENTAGE: char = '\u{ec33}';
|
||||
pub const ICON_SORT_PERCENTAGE: char = '\u{ec33}';
|
||||
pub const ICON_ATTACH: char = '\u{ec34}';
|
||||
pub const ICON_GIT_FETCH: char = '\u{f101}';
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
// <auto-generated>
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C#
|
||||
// from codepoints https://github.com/FortAwesome/Font-Awesome/raw/4.x/src/icons.yml
|
||||
// for use with font https://github.com/FortAwesome/Font-Awesome/blob/4.x/fonts/fontawesome-webfont.ttf
|
||||
// </auto-generated>
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language C#
|
||||
// from https://github.com/FortAwesome/Font-Awesome/raw/4.x/src/icons.yml
|
||||
// for use with https://github.com/FortAwesome/Font-Awesome/blob/4.x/fonts/fontawesome-webfont.ttf
|
||||
namespace IconFonts
|
||||
{
|
||||
public class FontAwesome4
|
||||
|
@ -14,7 +10,6 @@ namespace IconFonts
|
|||
public const int IconMin = 0xf000;
|
||||
public const int IconMax16 = 0xf2e0;
|
||||
public const int IconMax = 0xf2e0;
|
||||
|
||||
public const string Glass = "\uf000";
|
||||
public const string Music = "\uf001";
|
||||
public const string Search = "\uf002";
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for Go
|
||||
// from codepoints https://github.com/FortAwesome/Font-Awesome/raw/4.x/src/icons.yml
|
||||
// for use with font https://github.com/FortAwesome/Font-Awesome/blob/4.x/fonts/fontawesome-webfont.ttf
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages Go
|
||||
// from https://github.com/FortAwesome/Font-Awesome/raw/4.x/src/icons.yml
|
||||
// for use with https://github.com/FortAwesome/Font-Awesome/blob/4.x/fonts/fontawesome-webfont.ttf
|
||||
|
||||
package IconFontCppHeaders
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C and C++
|
||||
// from codepoints https://github.com/FortAwesome/Font-Awesome/raw/4.x/src/icons.yml
|
||||
// for use with font https://github.com/FortAwesome/Font-Awesome/blob/4.x/fonts/fontawesome-webfont.ttf
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages C and C++
|
||||
// from https://github.com/FortAwesome/Font-Awesome/raw/4.x/src/icons.yml
|
||||
// for use with https://github.com/FortAwesome/Font-Awesome/blob/4.x/fonts/fontawesome-webfont.ttf
|
||||
#pragma once
|
||||
|
||||
#define FONT_ICON_FILE_NAME_FA "fontawesome-webfont.ttf"
|
||||
|
@ -10,7 +8,6 @@
|
|||
#define ICON_MIN_FA 0xf000
|
||||
#define ICON_MAX_16_FA 0xf2e0
|
||||
#define ICON_MAX_FA 0xf2e0
|
||||
|
||||
#define ICON_FA_GLASS "\xef\x80\x80" // U+f000
|
||||
#define ICON_FA_MUSIC "\xef\x80\x81" // U+f001
|
||||
#define ICON_FA_SEARCH "\xef\x80\x82" // U+f002
|
||||
|
|
|
@ -1,16 +1,12 @@
|
|||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
# for Python
|
||||
# from codepoints https://github.com/FortAwesome/Font-Awesome/raw/4.x/src/icons.yml
|
||||
# for use with font https://github.com/FortAwesome/Font-Awesome/blob/4.x/fonts/fontawesome-webfont.ttf
|
||||
|
||||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Python
|
||||
# from https://github.com/FortAwesome/Font-Awesome/raw/4.x/src/icons.yml
|
||||
# for use with https://github.com/FortAwesome/Font-Awesome/blob/4.x/fonts/fontawesome-webfont.ttf
|
||||
class IconsFontAwesome4:
|
||||
|
||||
FONT_ICON_FILE_NAME_FA = 'fontawesome-webfont.ttf'
|
||||
|
||||
ICON_MIN = 0xf000
|
||||
ICON_MAX_16 = 0xf2e0
|
||||
ICON_MAX = 0xf2e0
|
||||
|
||||
ICON_GLASS = '\uf000'
|
||||
ICON_MUSIC = '\uf001'
|
||||
ICON_SEARCH = '\uf002'
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
//! for Rust
|
||||
//! from codepoints https://github.com/FortAwesome/Font-Awesome/raw/4.x/src/icons.yml
|
||||
//! for use with font https://github.com/FortAwesome/Font-Awesome/blob/4.x/fonts/fontawesome-webfont.ttf
|
||||
|
||||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Rust
|
||||
//! from https://github.com/FortAwesome/Font-Awesome/raw/4.x/src/icons.yml
|
||||
//! for use with https://github.com/FortAwesome/Font-Awesome/blob/4.x/fonts/fontawesome-webfont.ttf
|
||||
pub const FONT_ICON_FILE_NAME_FA: &str = "fontawesome-webfont.ttf";
|
||||
|
||||
pub const ICON_MIN: char = '\u{f000}';
|
||||
pub const ICON_MAX_16: char = '\u{f2e0}';
|
||||
pub const ICON_MAX: char = '\u{f2e0}';
|
||||
|
||||
pub const ICON_GLASS: char = '\u{f000}';
|
||||
pub const ICON_MUSIC: char = '\u{f001}';
|
||||
pub const ICON_SEARCH: char = '\u{f002}';
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
// <auto-generated>
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C#
|
||||
// from codepoints https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
// for use with font https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-solid-900.ttf
|
||||
// </auto-generated>
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language C#
|
||||
// from https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
// for use with https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-solid-900.ttf
|
||||
namespace IconFonts
|
||||
{
|
||||
public class FontAwesome5
|
||||
|
@ -15,7 +11,6 @@ namespace IconFonts
|
|||
public const int IconMin = 0xe005;
|
||||
public const int IconMax16 = 0xf8ff;
|
||||
public const int IconMax = 0xf8ff;
|
||||
|
||||
public const string Ad = "\uf641";
|
||||
public const string AddressBook = "\uf2b9";
|
||||
public const string AddressCard = "\uf2bb";
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for Go
|
||||
// from codepoints https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
// for use with font https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-solid-900.ttf
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages Go
|
||||
// from https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
// for use with https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-solid-900.ttf
|
||||
|
||||
package IconFontCppHeaders
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C and C++
|
||||
// from codepoints https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
// for use with font https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-solid-900.ttf
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages C and C++
|
||||
// from https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
// for use with https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-solid-900.ttf
|
||||
#pragma once
|
||||
|
||||
#define FONT_ICON_FILE_NAME_FAR "fa-regular-400.ttf"
|
||||
|
@ -11,7 +9,6 @@
|
|||
#define ICON_MIN_FA 0xe005
|
||||
#define ICON_MAX_16_FA 0xf8ff
|
||||
#define ICON_MAX_FA 0xf8ff
|
||||
|
||||
#define ICON_FA_AD "\xef\x99\x81" // U+f641
|
||||
#define ICON_FA_ADDRESS_BOOK "\xef\x8a\xb9" // U+f2b9
|
||||
#define ICON_FA_ADDRESS_CARD "\xef\x8a\xbb" // U+f2bb
|
||||
|
|
|
@ -1,17 +1,13 @@
|
|||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
# for Python
|
||||
# from codepoints https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
# for use with font https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-solid-900.ttf
|
||||
|
||||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Python
|
||||
# from https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
# for use with https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-solid-900.ttf
|
||||
class IconsFontAwesome5:
|
||||
|
||||
FONT_ICON_FILE_NAME_FAR = 'fa-regular-400.ttf'
|
||||
FONT_ICON_FILE_NAME_FAS = 'fa-solid-900.ttf'
|
||||
|
||||
ICON_MIN = 0xe005
|
||||
ICON_MAX_16 = 0xf8ff
|
||||
ICON_MAX = 0xf8ff
|
||||
|
||||
ICON_AD = '\uf641'
|
||||
ICON_ADDRESS_BOOK = '\uf2b9'
|
||||
ICON_ADDRESS_CARD = '\uf2bb'
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
//! for Rust
|
||||
//! from codepoints https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
//! for use with font https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-solid-900.ttf
|
||||
|
||||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Rust
|
||||
//! from https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
//! for use with https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-solid-900.ttf
|
||||
pub const FONT_ICON_FILE_NAME_FAR: &str = "fa-regular-400.ttf";
|
||||
pub const FONT_ICON_FILE_NAME_FAS: &str = "fa-solid-900.ttf";
|
||||
|
||||
pub const ICON_MIN: char = '\u{e005}';
|
||||
pub const ICON_MAX_16: char = '\u{f8ff}';
|
||||
pub const ICON_MAX: char = '\u{f8ff}';
|
||||
|
||||
pub const ICON_AD: char = '\u{f641}';
|
||||
pub const ICON_ADDRESS_BOOK: char = '\u{f2b9}';
|
||||
pub const ICON_ADDRESS_CARD: char = '\u{f2bb}';
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
// <auto-generated>
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C#
|
||||
// from codepoints https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
// for use with font https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-brands-400.ttf
|
||||
// </auto-generated>
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language C#
|
||||
// from https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
// for use with https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-brands-400.ttf
|
||||
namespace IconFonts
|
||||
{
|
||||
public class FontAwesome5Brands
|
||||
|
@ -14,7 +10,6 @@ namespace IconFonts
|
|||
public const int IconMin = 0xe007;
|
||||
public const int IconMax16 = 0xf8e8;
|
||||
public const int IconMax = 0xf8e8;
|
||||
|
||||
public const string Num500px = "\uf26e";
|
||||
public const string AccessibleIcon = "\uf368";
|
||||
public const string Accusoft = "\uf369";
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for Go
|
||||
// from codepoints https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
// for use with font https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-brands-400.ttf
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages Go
|
||||
// from https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
// for use with https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-brands-400.ttf
|
||||
|
||||
package IconFontCppHeaders
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C and C++
|
||||
// from codepoints https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
// for use with font https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-brands-400.ttf
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages C and C++
|
||||
// from https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
// for use with https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-brands-400.ttf
|
||||
#pragma once
|
||||
|
||||
#define FONT_ICON_FILE_NAME_FAB "fa-brands-400.ttf"
|
||||
|
@ -10,7 +8,6 @@
|
|||
#define ICON_MIN_FAB 0xe007
|
||||
#define ICON_MAX_16_FAB 0xf8e8
|
||||
#define ICON_MAX_FAB 0xf8e8
|
||||
|
||||
#define ICON_FA_500PX "\xef\x89\xae" // U+f26e
|
||||
#define ICON_FA_ACCESSIBLE_ICON "\xef\x8d\xa8" // U+f368
|
||||
#define ICON_FA_ACCUSOFT "\xef\x8d\xa9" // U+f369
|
||||
|
|
|
@ -1,16 +1,12 @@
|
|||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
# for Python
|
||||
# from codepoints https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
# for use with font https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-brands-400.ttf
|
||||
|
||||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Python
|
||||
# from https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
# for use with https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-brands-400.ttf
|
||||
class IconsFontAwesome5Brands:
|
||||
|
||||
FONT_ICON_FILE_NAME_FAB = 'fa-brands-400.ttf'
|
||||
|
||||
ICON_MIN = 0xe007
|
||||
ICON_MAX_16 = 0xf8e8
|
||||
ICON_MAX = 0xf8e8
|
||||
|
||||
ICON_500PX = '\uf26e'
|
||||
ICON_ACCESSIBLE_ICON = '\uf368'
|
||||
ICON_ACCUSOFT = '\uf369'
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
//! for Rust
|
||||
//! from codepoints https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
//! for use with font https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-brands-400.ttf
|
||||
|
||||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Rust
|
||||
//! from https://github.com/FortAwesome/Font-Awesome/raw/5.x/metadata/icons.yml
|
||||
//! for use with https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-brands-400.ttf
|
||||
pub const FONT_ICON_FILE_NAME_FAB: &str = "fa-brands-400.ttf";
|
||||
|
||||
pub const ICON_MIN: char = '\u{e007}';
|
||||
pub const ICON_MAX_16: char = '\u{f8e8}';
|
||||
pub const ICON_MAX: char = '\u{f8e8}';
|
||||
|
||||
pub const ICON_500PX: char = '\u{f26e}';
|
||||
pub const ICON_ACCESSIBLE_ICON: char = '\u{f368}';
|
||||
pub const ICON_ACCUSOFT: char = '\u{f369}';
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
// <auto-generated>
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C#
|
||||
// from codepoints icons.yml
|
||||
// for use with font fa-light-300.ttf, fa-regular-400.ttf, fa-solid-900.ttf
|
||||
// </auto-generated>
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language C#
|
||||
// from icons.yml
|
||||
// for use with fa-light-300.ttf, fa-regular-400.ttf, fa-solid-900.ttf
|
||||
namespace IconFonts
|
||||
{
|
||||
public class FontAwesome5Pro
|
||||
|
@ -16,7 +12,6 @@ namespace IconFonts
|
|||
public const int IconMin = 0xe000;
|
||||
public const int IconMax16 = 0xf8ff;
|
||||
public const int IconMax = 0xf8ff;
|
||||
|
||||
public const string Abacus = "\uf640";
|
||||
public const string Acorn = "\uf6ae";
|
||||
public const string Ad = "\uf641";
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for Go
|
||||
// from codepoints icons.yml
|
||||
// for use with font fa-light-300.ttf, fa-regular-400.ttf, fa-solid-900.ttf
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages Go
|
||||
// from icons.yml
|
||||
// for use with fa-light-300.ttf, fa-regular-400.ttf, fa-solid-900.ttf
|
||||
|
||||
package IconFontCppHeaders
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C and C++
|
||||
// from codepoints icons.yml
|
||||
// for use with font fa-light-300.ttf, fa-regular-400.ttf, fa-solid-900.ttf
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages C and C++
|
||||
// from icons.yml
|
||||
// for use with fa-light-300.ttf, fa-regular-400.ttf, fa-solid-900.ttf
|
||||
#pragma once
|
||||
|
||||
#define FONT_ICON_FILE_NAME_FAL "fa-light-300.ttf"
|
||||
|
@ -12,7 +10,6 @@
|
|||
#define ICON_MIN_FA 0xe000
|
||||
#define ICON_MAX_16_FA 0xf8ff
|
||||
#define ICON_MAX_FA 0xf8ff
|
||||
|
||||
#define ICON_FA_ABACUS "\xef\x99\x80" // U+f640
|
||||
#define ICON_FA_ACORN "\xef\x9a\xae" // U+f6ae
|
||||
#define ICON_FA_AD "\xef\x99\x81" // U+f641
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
# for Python
|
||||
# from codepoints icons.yml
|
||||
# for use with font fa-light-300.ttf, fa-regular-400.ttf, fa-solid-900.ttf
|
||||
|
||||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Python
|
||||
# from icons.yml
|
||||
# for use with fa-light-300.ttf, fa-regular-400.ttf, fa-solid-900.ttf
|
||||
class IconsFontAwesome5Pro:
|
||||
|
||||
FONT_ICON_FILE_NAME_FAL = 'fa-light-300.ttf'
|
||||
FONT_ICON_FILE_NAME_FAR = 'fa-regular-400.ttf'
|
||||
FONT_ICON_FILE_NAME_FAS = 'fa-solid-900.ttf'
|
||||
|
@ -12,7 +9,6 @@ class IconsFontAwesome5Pro:
|
|||
ICON_MIN = 0xe000
|
||||
ICON_MAX_16 = 0xf8ff
|
||||
ICON_MAX = 0xf8ff
|
||||
|
||||
ICON_ABACUS = '\uf640'
|
||||
ICON_ACORN = '\uf6ae'
|
||||
ICON_AD = '\uf641'
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
//! for Rust
|
||||
//! from codepoints icons.yml
|
||||
//! for use with font fa-light-300.ttf, fa-regular-400.ttf, fa-solid-900.ttf
|
||||
|
||||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Rust
|
||||
//! from icons.yml
|
||||
//! for use with fa-light-300.ttf, fa-regular-400.ttf, fa-solid-900.ttf
|
||||
pub const FONT_ICON_FILE_NAME_FAL: &str = "fa-light-300.ttf";
|
||||
pub const FONT_ICON_FILE_NAME_FAR: &str = "fa-regular-400.ttf";
|
||||
pub const FONT_ICON_FILE_NAME_FAS: &str = "fa-solid-900.ttf";
|
||||
|
@ -10,7 +8,6 @@ pub const FONT_ICON_FILE_NAME_FAS: &str = "fa-solid-900.ttf";
|
|||
pub const ICON_MIN: char = '\u{e000}';
|
||||
pub const ICON_MAX_16: char = '\u{f8ff}';
|
||||
pub const ICON_MAX: char = '\u{f8ff}';
|
||||
|
||||
pub const ICON_ABACUS: char = '\u{f640}';
|
||||
pub const ICON_ACORN: char = '\u{f6ae}';
|
||||
pub const ICON_AD: char = '\u{f641}';
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
// <auto-generated>
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C#
|
||||
// from codepoints icons.yml
|
||||
// for use with font fa-brands-400.ttf
|
||||
// </auto-generated>
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language C#
|
||||
// from icons.yml
|
||||
// for use with fa-brands-400.ttf
|
||||
namespace IconFonts
|
||||
{
|
||||
public class FontAwesome5ProBrands
|
||||
|
@ -14,7 +10,6 @@ namespace IconFonts
|
|||
public const int IconMin = 0xe007;
|
||||
public const int IconMax16 = 0xf8e8;
|
||||
public const int IconMax = 0xf8e8;
|
||||
|
||||
public const string Num500px = "\uf26e";
|
||||
public const string AccessibleIcon = "\uf368";
|
||||
public const string Accusoft = "\uf369";
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for Go
|
||||
// from codepoints icons.yml
|
||||
// for use with font fa-brands-400.ttf
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages Go
|
||||
// from icons.yml
|
||||
// for use with fa-brands-400.ttf
|
||||
|
||||
package IconFontCppHeaders
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C and C++
|
||||
// from codepoints icons.yml
|
||||
// for use with font fa-brands-400.ttf
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages C and C++
|
||||
// from icons.yml
|
||||
// for use with fa-brands-400.ttf
|
||||
#pragma once
|
||||
|
||||
#define FONT_ICON_FILE_NAME_FAB "fa-brands-400.ttf"
|
||||
|
@ -10,7 +8,6 @@
|
|||
#define ICON_MIN_FAB 0xe007
|
||||
#define ICON_MAX_16_FAB 0xf8e8
|
||||
#define ICON_MAX_FAB 0xf8e8
|
||||
|
||||
#define ICON_FA_500PX "\xef\x89\xae" // U+f26e
|
||||
#define ICON_FA_ACCESSIBLE_ICON "\xef\x8d\xa8" // U+f368
|
||||
#define ICON_FA_ACCUSOFT "\xef\x8d\xa9" // U+f369
|
||||
|
|
|
@ -1,16 +1,12 @@
|
|||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
# for Python
|
||||
# from codepoints icons.yml
|
||||
# for use with font fa-brands-400.ttf
|
||||
|
||||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Python
|
||||
# from icons.yml
|
||||
# for use with fa-brands-400.ttf
|
||||
class IconsFontAwesome5ProBrands:
|
||||
|
||||
FONT_ICON_FILE_NAME_FAB = 'fa-brands-400.ttf'
|
||||
|
||||
ICON_MIN = 0xe007
|
||||
ICON_MAX_16 = 0xf8e8
|
||||
ICON_MAX = 0xf8e8
|
||||
|
||||
ICON_500PX = '\uf26e'
|
||||
ICON_ACCESSIBLE_ICON = '\uf368'
|
||||
ICON_ACCUSOFT = '\uf369'
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
//! for Rust
|
||||
//! from codepoints icons.yml
|
||||
//! for use with font fa-brands-400.ttf
|
||||
|
||||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Rust
|
||||
//! from icons.yml
|
||||
//! for use with fa-brands-400.ttf
|
||||
pub const FONT_ICON_FILE_NAME_FAB: &str = "fa-brands-400.ttf";
|
||||
|
||||
pub const ICON_MIN: char = '\u{e007}';
|
||||
pub const ICON_MAX_16: char = '\u{f8e8}';
|
||||
pub const ICON_MAX: char = '\u{f8e8}';
|
||||
|
||||
pub const ICON_500PX: char = '\u{f26e}';
|
||||
pub const ICON_ACCESSIBLE_ICON: char = '\u{f368}';
|
||||
pub const ICON_ACCUSOFT: char = '\u{f369}';
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
// <auto-generated>
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C#
|
||||
// from codepoints https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
// for use with font https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-solid-900.ttf
|
||||
// </auto-generated>
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language C#
|
||||
// from https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
// for use with https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-solid-900.ttf
|
||||
namespace IconFonts
|
||||
{
|
||||
public class FontAwesome6
|
||||
|
@ -15,7 +11,6 @@ namespace IconFonts
|
|||
public const int IconMin = 0xe005;
|
||||
public const int IconMax16 = 0xf8ff;
|
||||
public const int IconMax = 0xf8ff;
|
||||
|
||||
public const string Num0 = "\u0030";
|
||||
public const string Num1 = "\u0031";
|
||||
public const string Num2 = "\u0032";
|
||||
|
@ -1202,10 +1197,7 @@ namespace IconFonts
|
|||
public const string T = "\u0054";
|
||||
public const string Table = "\uf0ce";
|
||||
public const string TableCells = "\uf00a";
|
||||
public const string TableCellsColumnLock = "\ue678";
|
||||
public const string TableCellsLarge = "\uf009";
|
||||
public const string TableCellsRowLock = "\ue67a";
|
||||
public const string TableCellsRowUnlock = "\ue691";
|
||||
public const string TableColumns = "\uf0db";
|
||||
public const string TableList = "\uf00b";
|
||||
public const string TableTennisPaddleBall = "\uf45d";
|
||||
|
@ -1246,7 +1238,6 @@ namespace IconFonts
|
|||
public const string ThumbsDown = "\uf165";
|
||||
public const string ThumbsUp = "\uf164";
|
||||
public const string Thumbtack = "\uf08d";
|
||||
public const string ThumbtackSlash = "\ue68f";
|
||||
public const string Ticket = "\uf145";
|
||||
public const string TicketSimple = "\uf3ff";
|
||||
public const string Timeline = "\ue29c";
|
||||
|
@ -1384,7 +1375,6 @@ namespace IconFonts
|
|||
public const string Water = "\uf773";
|
||||
public const string WaterLadder = "\uf5c5";
|
||||
public const string WaveSquare = "\uf83e";
|
||||
public const string WebAwesome = "\ue682";
|
||||
public const string WeightHanging = "\uf5cd";
|
||||
public const string WeightScale = "\uf496";
|
||||
public const string WheatAwn = "\ue2cd";
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for Go
|
||||
// from codepoints https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
// for use with font https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-solid-900.ttf
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages Go
|
||||
// from https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
// for use with https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-solid-900.ttf
|
||||
|
||||
package IconFontCppHeaders
|
||||
|
||||
|
@ -1200,10 +1199,7 @@ var IconsFontAwesome6 = Font{
|
|||
"T": "T", // U+0054
|
||||
"Table": "\xef\x83\x8e", // U+f0ce
|
||||
"TableCells": "\xef\x80\x8a", // U+f00a
|
||||
"TableCellsColumnLock": "\xee\x99\xb8", // U+e678
|
||||
"TableCellsLarge": "\xef\x80\x89", // U+f009
|
||||
"TableCellsRowLock": "\xee\x99\xba", // U+e67a
|
||||
"TableCellsRowUnlock": "\xee\x9a\x91", // U+e691
|
||||
"TableColumns": "\xef\x83\x9b", // U+f0db
|
||||
"TableList": "\xef\x80\x8b", // U+f00b
|
||||
"TableTennisPaddleBall": "\xef\x91\x9d", // U+f45d
|
||||
|
@ -1244,7 +1240,6 @@ var IconsFontAwesome6 = Font{
|
|||
"ThumbsDown": "\xef\x85\xa5", // U+f165
|
||||
"ThumbsUp": "\xef\x85\xa4", // U+f164
|
||||
"Thumbtack": "\xef\x82\x8d", // U+f08d
|
||||
"ThumbtackSlash": "\xee\x9a\x8f", // U+e68f
|
||||
"Ticket": "\xef\x85\x85", // U+f145
|
||||
"TicketSimple": "\xef\x8f\xbf", // U+f3ff
|
||||
"Timeline": "\xee\x8a\x9c", // U+e29c
|
||||
|
@ -1382,7 +1377,6 @@ var IconsFontAwesome6 = Font{
|
|||
"Water": "\xef\x9d\xb3", // U+f773
|
||||
"WaterLadder": "\xef\x97\x85", // U+f5c5
|
||||
"WaveSquare": "\xef\xa0\xbe", // U+f83e
|
||||
"WebAwesome": "\xee\x9a\x82", // U+e682
|
||||
"WeightHanging": "\xef\x97\x8d", // U+f5cd
|
||||
"WeightScale": "\xef\x92\x96", // U+f496
|
||||
"WheatAwn": "\xee\x8b\x8d", // U+e2cd
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C and C++
|
||||
// from codepoints https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
// for use with font https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-solid-900.ttf
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages C and C++
|
||||
// from https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
// for use with https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-solid-900.ttf
|
||||
#pragma once
|
||||
|
||||
#define FONT_ICON_FILE_NAME_FAR "fa-regular-400.ttf"
|
||||
|
@ -11,7 +9,6 @@
|
|||
#define ICON_MIN_FA 0xe005
|
||||
#define ICON_MAX_16_FA 0xf8ff
|
||||
#define ICON_MAX_FA 0xf8ff
|
||||
|
||||
#define ICON_FA_0 "0" // U+0030
|
||||
#define ICON_FA_1 "1" // U+0031
|
||||
#define ICON_FA_2 "2" // U+0032
|
||||
|
@ -1198,10 +1195,7 @@
|
|||
#define ICON_FA_T "T" // U+0054
|
||||
#define ICON_FA_TABLE "\xef\x83\x8e" // U+f0ce
|
||||
#define ICON_FA_TABLE_CELLS "\xef\x80\x8a" // U+f00a
|
||||
#define ICON_FA_TABLE_CELLS_COLUMN_LOCK "\xee\x99\xb8" // U+e678
|
||||
#define ICON_FA_TABLE_CELLS_LARGE "\xef\x80\x89" // U+f009
|
||||
#define ICON_FA_TABLE_CELLS_ROW_LOCK "\xee\x99\xba" // U+e67a
|
||||
#define ICON_FA_TABLE_CELLS_ROW_UNLOCK "\xee\x9a\x91" // U+e691
|
||||
#define ICON_FA_TABLE_COLUMNS "\xef\x83\x9b" // U+f0db
|
||||
#define ICON_FA_TABLE_LIST "\xef\x80\x8b" // U+f00b
|
||||
#define ICON_FA_TABLE_TENNIS_PADDLE_BALL "\xef\x91\x9d" // U+f45d
|
||||
|
@ -1242,7 +1236,6 @@
|
|||
#define ICON_FA_THUMBS_DOWN "\xef\x85\xa5" // U+f165
|
||||
#define ICON_FA_THUMBS_UP "\xef\x85\xa4" // U+f164
|
||||
#define ICON_FA_THUMBTACK "\xef\x82\x8d" // U+f08d
|
||||
#define ICON_FA_THUMBTACK_SLASH "\xee\x9a\x8f" // U+e68f
|
||||
#define ICON_FA_TICKET "\xef\x85\x85" // U+f145
|
||||
#define ICON_FA_TICKET_SIMPLE "\xef\x8f\xbf" // U+f3ff
|
||||
#define ICON_FA_TIMELINE "\xee\x8a\x9c" // U+e29c
|
||||
|
@ -1380,7 +1373,6 @@
|
|||
#define ICON_FA_WATER "\xef\x9d\xb3" // U+f773
|
||||
#define ICON_FA_WATER_LADDER "\xef\x97\x85" // U+f5c5
|
||||
#define ICON_FA_WAVE_SQUARE "\xef\xa0\xbe" // U+f83e
|
||||
#define ICON_FA_WEB_AWESOME "\xee\x9a\x82" // U+e682
|
||||
#define ICON_FA_WEIGHT_HANGING "\xef\x97\x8d" // U+f5cd
|
||||
#define ICON_FA_WEIGHT_SCALE "\xef\x92\x96" // U+f496
|
||||
#define ICON_FA_WHEAT_AWN "\xee\x8b\x8d" // U+e2cd
|
||||
|
|
|
@ -1,17 +1,13 @@
|
|||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
# for Python
|
||||
# from codepoints https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
# for use with font https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-solid-900.ttf
|
||||
|
||||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Python
|
||||
# from https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
# for use with https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-solid-900.ttf
|
||||
class IconsFontAwesome6:
|
||||
|
||||
FONT_ICON_FILE_NAME_FAR = 'fa-regular-400.ttf'
|
||||
FONT_ICON_FILE_NAME_FAS = 'fa-solid-900.ttf'
|
||||
|
||||
ICON_MIN = 0xe005
|
||||
ICON_MAX_16 = 0xf8ff
|
||||
ICON_MAX = 0xf8ff
|
||||
|
||||
ICON_0 = '\u0030'
|
||||
ICON_1 = '\u0031'
|
||||
ICON_2 = '\u0032'
|
||||
|
@ -1198,10 +1194,7 @@ class IconsFontAwesome6:
|
|||
ICON_T = '\u0054'
|
||||
ICON_TABLE = '\uf0ce'
|
||||
ICON_TABLE_CELLS = '\uf00a'
|
||||
ICON_TABLE_CELLS_COLUMN_LOCK = '\ue678'
|
||||
ICON_TABLE_CELLS_LARGE = '\uf009'
|
||||
ICON_TABLE_CELLS_ROW_LOCK = '\ue67a'
|
||||
ICON_TABLE_CELLS_ROW_UNLOCK = '\ue691'
|
||||
ICON_TABLE_COLUMNS = '\uf0db'
|
||||
ICON_TABLE_LIST = '\uf00b'
|
||||
ICON_TABLE_TENNIS_PADDLE_BALL = '\uf45d'
|
||||
|
@ -1242,7 +1235,6 @@ class IconsFontAwesome6:
|
|||
ICON_THUMBS_DOWN = '\uf165'
|
||||
ICON_THUMBS_UP = '\uf164'
|
||||
ICON_THUMBTACK = '\uf08d'
|
||||
ICON_THUMBTACK_SLASH = '\ue68f'
|
||||
ICON_TICKET = '\uf145'
|
||||
ICON_TICKET_SIMPLE = '\uf3ff'
|
||||
ICON_TIMELINE = '\ue29c'
|
||||
|
@ -1380,7 +1372,6 @@ class IconsFontAwesome6:
|
|||
ICON_WATER = '\uf773'
|
||||
ICON_WATER_LADDER = '\uf5c5'
|
||||
ICON_WAVE_SQUARE = '\uf83e'
|
||||
ICON_WEB_AWESOME = '\ue682'
|
||||
ICON_WEIGHT_HANGING = '\uf5cd'
|
||||
ICON_WEIGHT_SCALE = '\uf496'
|
||||
ICON_WHEAT_AWN = '\ue2cd'
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
//! for Rust
|
||||
//! from codepoints https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
//! for use with font https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-solid-900.ttf
|
||||
|
||||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Rust
|
||||
//! from https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
//! for use with https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-regular-400.ttf, https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-solid-900.ttf
|
||||
pub const FONT_ICON_FILE_NAME_FAR: &str = "fa-regular-400.ttf";
|
||||
pub const FONT_ICON_FILE_NAME_FAS: &str = "fa-solid-900.ttf";
|
||||
|
||||
pub const ICON_MIN: char = '\u{e005}';
|
||||
pub const ICON_MAX_16: char = '\u{f8ff}';
|
||||
pub const ICON_MAX: char = '\u{f8ff}';
|
||||
|
||||
pub const ICON_0: char = '\u{0030}';
|
||||
pub const ICON_1: char = '\u{0031}';
|
||||
pub const ICON_2: char = '\u{0032}';
|
||||
|
@ -1196,10 +1193,7 @@ pub const ICON_SYRINGE: char = '\u{f48e}';
|
|||
pub const ICON_T: char = '\u{0054}';
|
||||
pub const ICON_TABLE: char = '\u{f0ce}';
|
||||
pub const ICON_TABLE_CELLS: char = '\u{f00a}';
|
||||
pub const ICON_TABLE_CELLS_COLUMN_LOCK: char = '\u{e678}';
|
||||
pub const ICON_TABLE_CELLS_LARGE: char = '\u{f009}';
|
||||
pub const ICON_TABLE_CELLS_ROW_LOCK: char = '\u{e67a}';
|
||||
pub const ICON_TABLE_CELLS_ROW_UNLOCK: char = '\u{e691}';
|
||||
pub const ICON_TABLE_COLUMNS: char = '\u{f0db}';
|
||||
pub const ICON_TABLE_LIST: char = '\u{f00b}';
|
||||
pub const ICON_TABLE_TENNIS_PADDLE_BALL: char = '\u{f45d}';
|
||||
|
@ -1240,7 +1234,6 @@ pub const ICON_THERMOMETER: char = '\u{f491}';
|
|||
pub const ICON_THUMBS_DOWN: char = '\u{f165}';
|
||||
pub const ICON_THUMBS_UP: char = '\u{f164}';
|
||||
pub const ICON_THUMBTACK: char = '\u{f08d}';
|
||||
pub const ICON_THUMBTACK_SLASH: char = '\u{e68f}';
|
||||
pub const ICON_TICKET: char = '\u{f145}';
|
||||
pub const ICON_TICKET_SIMPLE: char = '\u{f3ff}';
|
||||
pub const ICON_TIMELINE: char = '\u{e29c}';
|
||||
|
@ -1378,7 +1371,6 @@ pub const ICON_WAREHOUSE: char = '\u{f494}';
|
|||
pub const ICON_WATER: char = '\u{f773}';
|
||||
pub const ICON_WATER_LADDER: char = '\u{f5c5}';
|
||||
pub const ICON_WAVE_SQUARE: char = '\u{f83e}';
|
||||
pub const ICON_WEB_AWESOME: char = '\u{e682}';
|
||||
pub const ICON_WEIGHT_HANGING: char = '\u{f5cd}';
|
||||
pub const ICON_WEIGHT_SCALE: char = '\u{f496}';
|
||||
pub const ICON_WHEAT_AWN: char = '\u{e2cd}';
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
// <auto-generated>
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C#
|
||||
// from codepoints https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
// for use with font https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-brands-400.ttf
|
||||
// </auto-generated>
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language C#
|
||||
// from https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
// for use with https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-brands-400.ttf
|
||||
namespace IconFonts
|
||||
{
|
||||
public class FontAwesome6Brands
|
||||
|
@ -14,7 +10,6 @@ namespace IconFonts
|
|||
public const int IconMin = 0xe007;
|
||||
public const int IconMax16 = 0xf8e8;
|
||||
public const int IconMax = 0xf8e8;
|
||||
|
||||
public const string Num42Group = "\ue080";
|
||||
public const string Num500px = "\uf26e";
|
||||
public const string AccessibleIcon = "\uf368";
|
||||
|
@ -57,13 +52,10 @@ namespace IconFonts
|
|||
public const string Blackberry = "\uf37b";
|
||||
public const string Blogger = "\uf37c";
|
||||
public const string BloggerB = "\uf37d";
|
||||
public const string Bluesky = "\ue671";
|
||||
public const string Bluetooth = "\uf293";
|
||||
public const string BluetoothB = "\uf294";
|
||||
public const string Bootstrap = "\uf836";
|
||||
public const string Bots = "\ue340";
|
||||
public const string Brave = "\ue63c";
|
||||
public const string BraveReverse = "\ue63d";
|
||||
public const string Btc = "\uf15a";
|
||||
public const string Buffer = "\uf837";
|
||||
public const string Buromobelexperte = "\uf37f";
|
||||
|
@ -117,9 +109,7 @@ namespace IconFonts
|
|||
public const string DAndD = "\uf38d";
|
||||
public const string DAndDBeyond = "\uf6ca";
|
||||
public const string Dailymotion = "\ue052";
|
||||
public const string DartLang = "\ue693";
|
||||
public const string Dashcube = "\uf210";
|
||||
public const string Debian = "\ue60b";
|
||||
public const string Deezer = "\ue077";
|
||||
public const string Delicious = "\uf1a5";
|
||||
public const string Deploydog = "\uf38e";
|
||||
|
@ -167,7 +157,6 @@ namespace IconFonts
|
|||
public const string Firstdraft = "\uf3a1";
|
||||
public const string Flickr = "\uf16e";
|
||||
public const string Flipboard = "\uf44d";
|
||||
public const string Flutter = "\ue694";
|
||||
public const string Fly = "\uf417";
|
||||
public const string FontAwesome = "\uf2b4";
|
||||
public const string Fonticons = "\uf280";
|
||||
|
@ -203,7 +192,6 @@ namespace IconFonts
|
|||
public const string GooglePlay = "\uf3ab";
|
||||
public const string GooglePlus = "\uf2b3";
|
||||
public const string GooglePlusG = "\uf0d5";
|
||||
public const string GoogleScholar = "\ue63b";
|
||||
public const string GoogleWallet = "\uf1ee";
|
||||
public const string Gratipay = "\uf184";
|
||||
public const string Grav = "\uf2d6";
|
||||
|
@ -242,7 +230,6 @@ namespace IconFonts
|
|||
public const string Joomla = "\uf1aa";
|
||||
public const string Js = "\uf3b8";
|
||||
public const string Jsfiddle = "\uf1cc";
|
||||
public const string Jxl = "\ue67b";
|
||||
public const string Kaggle = "\uf5fa";
|
||||
public const string Keybase = "\uf4f5";
|
||||
public const string Keycdn = "\uf3ba";
|
||||
|
@ -253,7 +240,6 @@ namespace IconFonts
|
|||
public const string Lastfm = "\uf202";
|
||||
public const string Leanpub = "\uf212";
|
||||
public const string Less = "\uf41d";
|
||||
public const string Letterboxd = "\ue62d";
|
||||
public const string Line = "\uf3c0";
|
||||
public const string Linkedin = "\uf08c";
|
||||
public const string LinkedinIn = "\uf0e1";
|
||||
|
@ -276,7 +262,6 @@ namespace IconFonts
|
|||
public const string Meta = "\ue49b";
|
||||
public const string Microblog = "\ue01a";
|
||||
public const string Microsoft = "\uf3ca";
|
||||
public const string Mintbit = "\ue62f";
|
||||
public const string Mix = "\uf3cb";
|
||||
public const string Mixcloud = "\uf289";
|
||||
public const string Mixer = "\ue056";
|
||||
|
@ -299,7 +284,6 @@ namespace IconFonts
|
|||
public const string OldRepublic = "\uf510";
|
||||
public const string Opencart = "\uf23d";
|
||||
public const string Openid = "\uf19b";
|
||||
public const string Opensuse = "\ue62b";
|
||||
public const string Opera = "\uf26a";
|
||||
public const string OptinMonster = "\uf23c";
|
||||
public const string Orcid = "\uf8d2";
|
||||
|
@ -323,7 +307,6 @@ namespace IconFonts
|
|||
public const string Pinterest = "\uf0d2";
|
||||
public const string PinterestP = "\uf231";
|
||||
public const string Pix = "\ue43a";
|
||||
public const string Pixiv = "\ue640";
|
||||
public const string Playstation = "\uf3df";
|
||||
public const string ProductHunt = "\uf288";
|
||||
public const string Pushed = "\uf3e1";
|
||||
|
@ -361,10 +344,8 @@ namespace IconFonts
|
|||
public const string Sellsy = "\uf213";
|
||||
public const string Servicestack = "\uf3ec";
|
||||
public const string Shirtsinbulk = "\uf214";
|
||||
public const string Shoelace = "\ue60c";
|
||||
public const string Shopify = "\ue057";
|
||||
public const string Shopware = "\uf5b5";
|
||||
public const string SignalMessenger = "\ue663";
|
||||
public const string Simplybuilt = "\uf215";
|
||||
public const string Sistrix = "\uf3ee";
|
||||
public const string Sith = "\uf512";
|
||||
|
@ -394,23 +375,17 @@ namespace IconFonts
|
|||
public const string SquareInstagram = "\ue055";
|
||||
public const string SquareJs = "\uf3b9";
|
||||
public const string SquareLastfm = "\uf203";
|
||||
public const string SquareLetterboxd = "\ue62e";
|
||||
public const string SquareOdnoklassniki = "\uf264";
|
||||
public const string SquarePiedPiper = "\ue01e";
|
||||
public const string SquarePinterest = "\uf0d3";
|
||||
public const string SquareReddit = "\uf1a2";
|
||||
public const string SquareSnapchat = "\uf2ad";
|
||||
public const string SquareSteam = "\uf1b7";
|
||||
public const string SquareThreads = "\ue619";
|
||||
public const string SquareTumblr = "\uf174";
|
||||
public const string SquareTwitter = "\uf081";
|
||||
public const string SquareUpwork = "\ue67c";
|
||||
public const string SquareViadeo = "\uf2aa";
|
||||
public const string SquareVimeo = "\uf194";
|
||||
public const string SquareWebAwesome = "\ue683";
|
||||
public const string SquareWebAwesomeStroke = "\ue684";
|
||||
public const string SquareWhatsapp = "\uf40c";
|
||||
public const string SquareXTwitter = "\ue61a";
|
||||
public const string SquareXing = "\uf169";
|
||||
public const string SquareYoutube = "\uf431";
|
||||
public const string Squarespace = "\uf5be";
|
||||
|
@ -440,7 +415,6 @@ namespace IconFonts
|
|||
public const string Themeco = "\uf5c6";
|
||||
public const string Themeisle = "\uf2b2";
|
||||
public const string ThinkPeaks = "\uf731";
|
||||
public const string Threads = "\ue618";
|
||||
public const string Tiktok = "\ue07b";
|
||||
public const string TradeFederation = "\uf513";
|
||||
public const string Trello = "\uf181";
|
||||
|
@ -458,7 +432,6 @@ namespace IconFonts
|
|||
public const string Unsplash = "\ue07c";
|
||||
public const string Untappd = "\uf405";
|
||||
public const string Ups = "\uf7e0";
|
||||
public const string Upwork = "\ue641";
|
||||
public const string Usb = "\uf287";
|
||||
public const string Usps = "\uf7e1";
|
||||
public const string Ussunnah = "\uf407";
|
||||
|
@ -474,8 +447,6 @@ namespace IconFonts
|
|||
public const string Vuejs = "\uf41f";
|
||||
public const string WatchmanMonitoring = "\ue087";
|
||||
public const string Waze = "\uf83f";
|
||||
public const string WebAwesome = "\ue682";
|
||||
public const string Webflow = "\ue65c";
|
||||
public const string Weebly = "\uf5cc";
|
||||
public const string Weibo = "\uf18a";
|
||||
public const string Weixin = "\uf1d7";
|
||||
|
@ -494,7 +465,6 @@ namespace IconFonts
|
|||
public const string Wpexplorer = "\uf2de";
|
||||
public const string Wpforms = "\uf298";
|
||||
public const string Wpressr = "\uf3e4";
|
||||
public const string XTwitter = "\ue61b";
|
||||
public const string Xbox = "\uf412";
|
||||
public const string Xing = "\uf168";
|
||||
public const string YCombinator = "\uf23b";
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for Go
|
||||
// from codepoints https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
// for use with font https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-brands-400.ttf
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages Go
|
||||
// from https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
// for use with https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-brands-400.ttf
|
||||
|
||||
package IconFontCppHeaders
|
||||
|
||||
|
@ -55,13 +54,10 @@ var IconsFontAwesome6Brands = Font{
|
|||
"Blackberry": "\xef\x8d\xbb", // U+f37b
|
||||
"Blogger": "\xef\x8d\xbc", // U+f37c
|
||||
"BloggerB": "\xef\x8d\xbd", // U+f37d
|
||||
"Bluesky": "\xee\x99\xb1", // U+e671
|
||||
"Bluetooth": "\xef\x8a\x93", // U+f293
|
||||
"BluetoothB": "\xef\x8a\x94", // U+f294
|
||||
"Bootstrap": "\xef\xa0\xb6", // U+f836
|
||||
"Bots": "\xee\x8d\x80", // U+e340
|
||||
"Brave": "\xee\x98\xbc", // U+e63c
|
||||
"BraveReverse": "\xee\x98\xbd", // U+e63d
|
||||
"Btc": "\xef\x85\x9a", // U+f15a
|
||||
"Buffer": "\xef\xa0\xb7", // U+f837
|
||||
"Buromobelexperte": "\xef\x8d\xbf", // U+f37f
|
||||
|
@ -115,9 +111,7 @@ var IconsFontAwesome6Brands = Font{
|
|||
"DAndD": "\xef\x8e\x8d", // U+f38d
|
||||
"DAndDBeyond": "\xef\x9b\x8a", // U+f6ca
|
||||
"Dailymotion": "\xee\x81\x92", // U+e052
|
||||
"DartLang": "\xee\x9a\x93", // U+e693
|
||||
"Dashcube": "\xef\x88\x90", // U+f210
|
||||
"Debian": "\xee\x98\x8b", // U+e60b
|
||||
"Deezer": "\xee\x81\xb7", // U+e077
|
||||
"Delicious": "\xef\x86\xa5", // U+f1a5
|
||||
"Deploydog": "\xef\x8e\x8e", // U+f38e
|
||||
|
@ -165,7 +159,6 @@ var IconsFontAwesome6Brands = Font{
|
|||
"Firstdraft": "\xef\x8e\xa1", // U+f3a1
|
||||
"Flickr": "\xef\x85\xae", // U+f16e
|
||||
"Flipboard": "\xef\x91\x8d", // U+f44d
|
||||
"Flutter": "\xee\x9a\x94", // U+e694
|
||||
"Fly": "\xef\x90\x97", // U+f417
|
||||
"FontAwesome": "\xef\x8a\xb4", // U+f2b4
|
||||
"Fonticons": "\xef\x8a\x80", // U+f280
|
||||
|
@ -201,7 +194,6 @@ var IconsFontAwesome6Brands = Font{
|
|||
"GooglePlay": "\xef\x8e\xab", // U+f3ab
|
||||
"GooglePlus": "\xef\x8a\xb3", // U+f2b3
|
||||
"GooglePlusG": "\xef\x83\x95", // U+f0d5
|
||||
"GoogleScholar": "\xee\x98\xbb", // U+e63b
|
||||
"GoogleWallet": "\xef\x87\xae", // U+f1ee
|
||||
"Gratipay": "\xef\x86\x84", // U+f184
|
||||
"Grav": "\xef\x8b\x96", // U+f2d6
|
||||
|
@ -240,7 +232,6 @@ var IconsFontAwesome6Brands = Font{
|
|||
"Joomla": "\xef\x86\xaa", // U+f1aa
|
||||
"Js": "\xef\x8e\xb8", // U+f3b8
|
||||
"Jsfiddle": "\xef\x87\x8c", // U+f1cc
|
||||
"Jxl": "\xee\x99\xbb", // U+e67b
|
||||
"Kaggle": "\xef\x97\xba", // U+f5fa
|
||||
"Keybase": "\xef\x93\xb5", // U+f4f5
|
||||
"Keycdn": "\xef\x8e\xba", // U+f3ba
|
||||
|
@ -251,7 +242,6 @@ var IconsFontAwesome6Brands = Font{
|
|||
"Lastfm": "\xef\x88\x82", // U+f202
|
||||
"Leanpub": "\xef\x88\x92", // U+f212
|
||||
"Less": "\xef\x90\x9d", // U+f41d
|
||||
"Letterboxd": "\xee\x98\xad", // U+e62d
|
||||
"Line": "\xef\x8f\x80", // U+f3c0
|
||||
"Linkedin": "\xef\x82\x8c", // U+f08c
|
||||
"LinkedinIn": "\xef\x83\xa1", // U+f0e1
|
||||
|
@ -274,7 +264,6 @@ var IconsFontAwesome6Brands = Font{
|
|||
"Meta": "\xee\x92\x9b", // U+e49b
|
||||
"Microblog": "\xee\x80\x9a", // U+e01a
|
||||
"Microsoft": "\xef\x8f\x8a", // U+f3ca
|
||||
"Mintbit": "\xee\x98\xaf", // U+e62f
|
||||
"Mix": "\xef\x8f\x8b", // U+f3cb
|
||||
"Mixcloud": "\xef\x8a\x89", // U+f289
|
||||
"Mixer": "\xee\x81\x96", // U+e056
|
||||
|
@ -297,7 +286,6 @@ var IconsFontAwesome6Brands = Font{
|
|||
"OldRepublic": "\xef\x94\x90", // U+f510
|
||||
"Opencart": "\xef\x88\xbd", // U+f23d
|
||||
"Openid": "\xef\x86\x9b", // U+f19b
|
||||
"Opensuse": "\xee\x98\xab", // U+e62b
|
||||
"Opera": "\xef\x89\xaa", // U+f26a
|
||||
"OptinMonster": "\xef\x88\xbc", // U+f23c
|
||||
"Orcid": "\xef\xa3\x92", // U+f8d2
|
||||
|
@ -321,7 +309,6 @@ var IconsFontAwesome6Brands = Font{
|
|||
"Pinterest": "\xef\x83\x92", // U+f0d2
|
||||
"PinterestP": "\xef\x88\xb1", // U+f231
|
||||
"Pix": "\xee\x90\xba", // U+e43a
|
||||
"Pixiv": "\xee\x99\x80", // U+e640
|
||||
"Playstation": "\xef\x8f\x9f", // U+f3df
|
||||
"ProductHunt": "\xef\x8a\x88", // U+f288
|
||||
"Pushed": "\xef\x8f\xa1", // U+f3e1
|
||||
|
@ -359,10 +346,8 @@ var IconsFontAwesome6Brands = Font{
|
|||
"Sellsy": "\xef\x88\x93", // U+f213
|
||||
"Servicestack": "\xef\x8f\xac", // U+f3ec
|
||||
"Shirtsinbulk": "\xef\x88\x94", // U+f214
|
||||
"Shoelace": "\xee\x98\x8c", // U+e60c
|
||||
"Shopify": "\xee\x81\x97", // U+e057
|
||||
"Shopware": "\xef\x96\xb5", // U+f5b5
|
||||
"SignalMessenger": "\xee\x99\xa3", // U+e663
|
||||
"Simplybuilt": "\xef\x88\x95", // U+f215
|
||||
"Sistrix": "\xef\x8f\xae", // U+f3ee
|
||||
"Sith": "\xef\x94\x92", // U+f512
|
||||
|
@ -392,23 +377,17 @@ var IconsFontAwesome6Brands = Font{
|
|||
"SquareInstagram": "\xee\x81\x95", // U+e055
|
||||
"SquareJs": "\xef\x8e\xb9", // U+f3b9
|
||||
"SquareLastfm": "\xef\x88\x83", // U+f203
|
||||
"SquareLetterboxd": "\xee\x98\xae", // U+e62e
|
||||
"SquareOdnoklassniki": "\xef\x89\xa4", // U+f264
|
||||
"SquarePiedPiper": "\xee\x80\x9e", // U+e01e
|
||||
"SquarePinterest": "\xef\x83\x93", // U+f0d3
|
||||
"SquareReddit": "\xef\x86\xa2", // U+f1a2
|
||||
"SquareSnapchat": "\xef\x8a\xad", // U+f2ad
|
||||
"SquareSteam": "\xef\x86\xb7", // U+f1b7
|
||||
"SquareThreads": "\xee\x98\x99", // U+e619
|
||||
"SquareTumblr": "\xef\x85\xb4", // U+f174
|
||||
"SquareTwitter": "\xef\x82\x81", // U+f081
|
||||
"SquareUpwork": "\xee\x99\xbc", // U+e67c
|
||||
"SquareViadeo": "\xef\x8a\xaa", // U+f2aa
|
||||
"SquareVimeo": "\xef\x86\x94", // U+f194
|
||||
"SquareWebAwesome": "\xee\x9a\x83", // U+e683
|
||||
"SquareWebAwesomeStroke": "\xee\x9a\x84", // U+e684
|
||||
"SquareWhatsapp": "\xef\x90\x8c", // U+f40c
|
||||
"SquareXTwitter": "\xee\x98\x9a", // U+e61a
|
||||
"SquareXing": "\xef\x85\xa9", // U+f169
|
||||
"SquareYoutube": "\xef\x90\xb1", // U+f431
|
||||
"Squarespace": "\xef\x96\xbe", // U+f5be
|
||||
|
@ -438,7 +417,6 @@ var IconsFontAwesome6Brands = Font{
|
|||
"Themeco": "\xef\x97\x86", // U+f5c6
|
||||
"Themeisle": "\xef\x8a\xb2", // U+f2b2
|
||||
"ThinkPeaks": "\xef\x9c\xb1", // U+f731
|
||||
"Threads": "\xee\x98\x98", // U+e618
|
||||
"Tiktok": "\xee\x81\xbb", // U+e07b
|
||||
"TradeFederation": "\xef\x94\x93", // U+f513
|
||||
"Trello": "\xef\x86\x81", // U+f181
|
||||
|
@ -456,7 +434,6 @@ var IconsFontAwesome6Brands = Font{
|
|||
"Unsplash": "\xee\x81\xbc", // U+e07c
|
||||
"Untappd": "\xef\x90\x85", // U+f405
|
||||
"Ups": "\xef\x9f\xa0", // U+f7e0
|
||||
"Upwork": "\xee\x99\x81", // U+e641
|
||||
"Usb": "\xef\x8a\x87", // U+f287
|
||||
"Usps": "\xef\x9f\xa1", // U+f7e1
|
||||
"Ussunnah": "\xef\x90\x87", // U+f407
|
||||
|
@ -472,8 +449,6 @@ var IconsFontAwesome6Brands = Font{
|
|||
"Vuejs": "\xef\x90\x9f", // U+f41f
|
||||
"WatchmanMonitoring": "\xee\x82\x87", // U+e087
|
||||
"Waze": "\xef\xa0\xbf", // U+f83f
|
||||
"WebAwesome": "\xee\x9a\x82", // U+e682
|
||||
"Webflow": "\xee\x99\x9c", // U+e65c
|
||||
"Weebly": "\xef\x97\x8c", // U+f5cc
|
||||
"Weibo": "\xef\x86\x8a", // U+f18a
|
||||
"Weixin": "\xef\x87\x97", // U+f1d7
|
||||
|
@ -492,7 +467,6 @@ var IconsFontAwesome6Brands = Font{
|
|||
"Wpexplorer": "\xef\x8b\x9e", // U+f2de
|
||||
"Wpforms": "\xef\x8a\x98", // U+f298
|
||||
"Wpressr": "\xef\x8f\xa4", // U+f3e4
|
||||
"XTwitter": "\xee\x98\x9b", // U+e61b
|
||||
"Xbox": "\xef\x90\x92", // U+f412
|
||||
"Xing": "\xef\x85\xa8", // U+f168
|
||||
"YCombinator": "\xef\x88\xbb", // U+f23b
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C and C++
|
||||
// from codepoints https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
// for use with font https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-brands-400.ttf
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages C and C++
|
||||
// from https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
// for use with https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-brands-400.ttf
|
||||
#pragma once
|
||||
|
||||
#define FONT_ICON_FILE_NAME_FAB "fa-brands-400.ttf"
|
||||
|
@ -10,7 +8,6 @@
|
|||
#define ICON_MIN_FAB 0xe007
|
||||
#define ICON_MAX_16_FAB 0xf8e8
|
||||
#define ICON_MAX_FAB 0xf8e8
|
||||
|
||||
#define ICON_FA_42_GROUP "\xee\x82\x80" // U+e080
|
||||
#define ICON_FA_500PX "\xef\x89\xae" // U+f26e
|
||||
#define ICON_FA_ACCESSIBLE_ICON "\xef\x8d\xa8" // U+f368
|
||||
|
@ -53,13 +50,10 @@
|
|||
#define ICON_FA_BLACKBERRY "\xef\x8d\xbb" // U+f37b
|
||||
#define ICON_FA_BLOGGER "\xef\x8d\xbc" // U+f37c
|
||||
#define ICON_FA_BLOGGER_B "\xef\x8d\xbd" // U+f37d
|
||||
#define ICON_FA_BLUESKY "\xee\x99\xb1" // U+e671
|
||||
#define ICON_FA_BLUETOOTH "\xef\x8a\x93" // U+f293
|
||||
#define ICON_FA_BLUETOOTH_B "\xef\x8a\x94" // U+f294
|
||||
#define ICON_FA_BOOTSTRAP "\xef\xa0\xb6" // U+f836
|
||||
#define ICON_FA_BOTS "\xee\x8d\x80" // U+e340
|
||||
#define ICON_FA_BRAVE "\xee\x98\xbc" // U+e63c
|
||||
#define ICON_FA_BRAVE_REVERSE "\xee\x98\xbd" // U+e63d
|
||||
#define ICON_FA_BTC "\xef\x85\x9a" // U+f15a
|
||||
#define ICON_FA_BUFFER "\xef\xa0\xb7" // U+f837
|
||||
#define ICON_FA_BUROMOBELEXPERTE "\xef\x8d\xbf" // U+f37f
|
||||
|
@ -113,9 +107,7 @@
|
|||
#define ICON_FA_D_AND_D "\xef\x8e\x8d" // U+f38d
|
||||
#define ICON_FA_D_AND_D_BEYOND "\xef\x9b\x8a" // U+f6ca
|
||||
#define ICON_FA_DAILYMOTION "\xee\x81\x92" // U+e052
|
||||
#define ICON_FA_DART_LANG "\xee\x9a\x93" // U+e693
|
||||
#define ICON_FA_DASHCUBE "\xef\x88\x90" // U+f210
|
||||
#define ICON_FA_DEBIAN "\xee\x98\x8b" // U+e60b
|
||||
#define ICON_FA_DEEZER "\xee\x81\xb7" // U+e077
|
||||
#define ICON_FA_DELICIOUS "\xef\x86\xa5" // U+f1a5
|
||||
#define ICON_FA_DEPLOYDOG "\xef\x8e\x8e" // U+f38e
|
||||
|
@ -163,7 +155,6 @@
|
|||
#define ICON_FA_FIRSTDRAFT "\xef\x8e\xa1" // U+f3a1
|
||||
#define ICON_FA_FLICKR "\xef\x85\xae" // U+f16e
|
||||
#define ICON_FA_FLIPBOARD "\xef\x91\x8d" // U+f44d
|
||||
#define ICON_FA_FLUTTER "\xee\x9a\x94" // U+e694
|
||||
#define ICON_FA_FLY "\xef\x90\x97" // U+f417
|
||||
#define ICON_FA_FONT_AWESOME "\xef\x8a\xb4" // U+f2b4
|
||||
#define ICON_FA_FONTICONS "\xef\x8a\x80" // U+f280
|
||||
|
@ -199,7 +190,6 @@
|
|||
#define ICON_FA_GOOGLE_PLAY "\xef\x8e\xab" // U+f3ab
|
||||
#define ICON_FA_GOOGLE_PLUS "\xef\x8a\xb3" // U+f2b3
|
||||
#define ICON_FA_GOOGLE_PLUS_G "\xef\x83\x95" // U+f0d5
|
||||
#define ICON_FA_GOOGLE_SCHOLAR "\xee\x98\xbb" // U+e63b
|
||||
#define ICON_FA_GOOGLE_WALLET "\xef\x87\xae" // U+f1ee
|
||||
#define ICON_FA_GRATIPAY "\xef\x86\x84" // U+f184
|
||||
#define ICON_FA_GRAV "\xef\x8b\x96" // U+f2d6
|
||||
|
@ -238,7 +228,6 @@
|
|||
#define ICON_FA_JOOMLA "\xef\x86\xaa" // U+f1aa
|
||||
#define ICON_FA_JS "\xef\x8e\xb8" // U+f3b8
|
||||
#define ICON_FA_JSFIDDLE "\xef\x87\x8c" // U+f1cc
|
||||
#define ICON_FA_JXL "\xee\x99\xbb" // U+e67b
|
||||
#define ICON_FA_KAGGLE "\xef\x97\xba" // U+f5fa
|
||||
#define ICON_FA_KEYBASE "\xef\x93\xb5" // U+f4f5
|
||||
#define ICON_FA_KEYCDN "\xef\x8e\xba" // U+f3ba
|
||||
|
@ -249,7 +238,6 @@
|
|||
#define ICON_FA_LASTFM "\xef\x88\x82" // U+f202
|
||||
#define ICON_FA_LEANPUB "\xef\x88\x92" // U+f212
|
||||
#define ICON_FA_LESS "\xef\x90\x9d" // U+f41d
|
||||
#define ICON_FA_LETTERBOXD "\xee\x98\xad" // U+e62d
|
||||
#define ICON_FA_LINE "\xef\x8f\x80" // U+f3c0
|
||||
#define ICON_FA_LINKEDIN "\xef\x82\x8c" // U+f08c
|
||||
#define ICON_FA_LINKEDIN_IN "\xef\x83\xa1" // U+f0e1
|
||||
|
@ -272,7 +260,6 @@
|
|||
#define ICON_FA_META "\xee\x92\x9b" // U+e49b
|
||||
#define ICON_FA_MICROBLOG "\xee\x80\x9a" // U+e01a
|
||||
#define ICON_FA_MICROSOFT "\xef\x8f\x8a" // U+f3ca
|
||||
#define ICON_FA_MINTBIT "\xee\x98\xaf" // U+e62f
|
||||
#define ICON_FA_MIX "\xef\x8f\x8b" // U+f3cb
|
||||
#define ICON_FA_MIXCLOUD "\xef\x8a\x89" // U+f289
|
||||
#define ICON_FA_MIXER "\xee\x81\x96" // U+e056
|
||||
|
@ -295,7 +282,6 @@
|
|||
#define ICON_FA_OLD_REPUBLIC "\xef\x94\x90" // U+f510
|
||||
#define ICON_FA_OPENCART "\xef\x88\xbd" // U+f23d
|
||||
#define ICON_FA_OPENID "\xef\x86\x9b" // U+f19b
|
||||
#define ICON_FA_OPENSUSE "\xee\x98\xab" // U+e62b
|
||||
#define ICON_FA_OPERA "\xef\x89\xaa" // U+f26a
|
||||
#define ICON_FA_OPTIN_MONSTER "\xef\x88\xbc" // U+f23c
|
||||
#define ICON_FA_ORCID "\xef\xa3\x92" // U+f8d2
|
||||
|
@ -319,7 +305,6 @@
|
|||
#define ICON_FA_PINTEREST "\xef\x83\x92" // U+f0d2
|
||||
#define ICON_FA_PINTEREST_P "\xef\x88\xb1" // U+f231
|
||||
#define ICON_FA_PIX "\xee\x90\xba" // U+e43a
|
||||
#define ICON_FA_PIXIV "\xee\x99\x80" // U+e640
|
||||
#define ICON_FA_PLAYSTATION "\xef\x8f\x9f" // U+f3df
|
||||
#define ICON_FA_PRODUCT_HUNT "\xef\x8a\x88" // U+f288
|
||||
#define ICON_FA_PUSHED "\xef\x8f\xa1" // U+f3e1
|
||||
|
@ -357,10 +342,8 @@
|
|||
#define ICON_FA_SELLSY "\xef\x88\x93" // U+f213
|
||||
#define ICON_FA_SERVICESTACK "\xef\x8f\xac" // U+f3ec
|
||||
#define ICON_FA_SHIRTSINBULK "\xef\x88\x94" // U+f214
|
||||
#define ICON_FA_SHOELACE "\xee\x98\x8c" // U+e60c
|
||||
#define ICON_FA_SHOPIFY "\xee\x81\x97" // U+e057
|
||||
#define ICON_FA_SHOPWARE "\xef\x96\xb5" // U+f5b5
|
||||
#define ICON_FA_SIGNAL_MESSENGER "\xee\x99\xa3" // U+e663
|
||||
#define ICON_FA_SIMPLYBUILT "\xef\x88\x95" // U+f215
|
||||
#define ICON_FA_SISTRIX "\xef\x8f\xae" // U+f3ee
|
||||
#define ICON_FA_SITH "\xef\x94\x92" // U+f512
|
||||
|
@ -390,23 +373,17 @@
|
|||
#define ICON_FA_SQUARE_INSTAGRAM "\xee\x81\x95" // U+e055
|
||||
#define ICON_FA_SQUARE_JS "\xef\x8e\xb9" // U+f3b9
|
||||
#define ICON_FA_SQUARE_LASTFM "\xef\x88\x83" // U+f203
|
||||
#define ICON_FA_SQUARE_LETTERBOXD "\xee\x98\xae" // U+e62e
|
||||
#define ICON_FA_SQUARE_ODNOKLASSNIKI "\xef\x89\xa4" // U+f264
|
||||
#define ICON_FA_SQUARE_PIED_PIPER "\xee\x80\x9e" // U+e01e
|
||||
#define ICON_FA_SQUARE_PINTEREST "\xef\x83\x93" // U+f0d3
|
||||
#define ICON_FA_SQUARE_REDDIT "\xef\x86\xa2" // U+f1a2
|
||||
#define ICON_FA_SQUARE_SNAPCHAT "\xef\x8a\xad" // U+f2ad
|
||||
#define ICON_FA_SQUARE_STEAM "\xef\x86\xb7" // U+f1b7
|
||||
#define ICON_FA_SQUARE_THREADS "\xee\x98\x99" // U+e619
|
||||
#define ICON_FA_SQUARE_TUMBLR "\xef\x85\xb4" // U+f174
|
||||
#define ICON_FA_SQUARE_TWITTER "\xef\x82\x81" // U+f081
|
||||
#define ICON_FA_SQUARE_UPWORK "\xee\x99\xbc" // U+e67c
|
||||
#define ICON_FA_SQUARE_VIADEO "\xef\x8a\xaa" // U+f2aa
|
||||
#define ICON_FA_SQUARE_VIMEO "\xef\x86\x94" // U+f194
|
||||
#define ICON_FA_SQUARE_WEB_AWESOME "\xee\x9a\x83" // U+e683
|
||||
#define ICON_FA_SQUARE_WEB_AWESOME_STROKE "\xee\x9a\x84" // U+e684
|
||||
#define ICON_FA_SQUARE_WHATSAPP "\xef\x90\x8c" // U+f40c
|
||||
#define ICON_FA_SQUARE_X_TWITTER "\xee\x98\x9a" // U+e61a
|
||||
#define ICON_FA_SQUARE_XING "\xef\x85\xa9" // U+f169
|
||||
#define ICON_FA_SQUARE_YOUTUBE "\xef\x90\xb1" // U+f431
|
||||
#define ICON_FA_SQUARESPACE "\xef\x96\xbe" // U+f5be
|
||||
|
@ -436,7 +413,6 @@
|
|||
#define ICON_FA_THEMECO "\xef\x97\x86" // U+f5c6
|
||||
#define ICON_FA_THEMEISLE "\xef\x8a\xb2" // U+f2b2
|
||||
#define ICON_FA_THINK_PEAKS "\xef\x9c\xb1" // U+f731
|
||||
#define ICON_FA_THREADS "\xee\x98\x98" // U+e618
|
||||
#define ICON_FA_TIKTOK "\xee\x81\xbb" // U+e07b
|
||||
#define ICON_FA_TRADE_FEDERATION "\xef\x94\x93" // U+f513
|
||||
#define ICON_FA_TRELLO "\xef\x86\x81" // U+f181
|
||||
|
@ -454,7 +430,6 @@
|
|||
#define ICON_FA_UNSPLASH "\xee\x81\xbc" // U+e07c
|
||||
#define ICON_FA_UNTAPPD "\xef\x90\x85" // U+f405
|
||||
#define ICON_FA_UPS "\xef\x9f\xa0" // U+f7e0
|
||||
#define ICON_FA_UPWORK "\xee\x99\x81" // U+e641
|
||||
#define ICON_FA_USB "\xef\x8a\x87" // U+f287
|
||||
#define ICON_FA_USPS "\xef\x9f\xa1" // U+f7e1
|
||||
#define ICON_FA_USSUNNAH "\xef\x90\x87" // U+f407
|
||||
|
@ -470,8 +445,6 @@
|
|||
#define ICON_FA_VUEJS "\xef\x90\x9f" // U+f41f
|
||||
#define ICON_FA_WATCHMAN_MONITORING "\xee\x82\x87" // U+e087
|
||||
#define ICON_FA_WAZE "\xef\xa0\xbf" // U+f83f
|
||||
#define ICON_FA_WEB_AWESOME "\xee\x9a\x82" // U+e682
|
||||
#define ICON_FA_WEBFLOW "\xee\x99\x9c" // U+e65c
|
||||
#define ICON_FA_WEEBLY "\xef\x97\x8c" // U+f5cc
|
||||
#define ICON_FA_WEIBO "\xef\x86\x8a" // U+f18a
|
||||
#define ICON_FA_WEIXIN "\xef\x87\x97" // U+f1d7
|
||||
|
@ -490,7 +463,6 @@
|
|||
#define ICON_FA_WPEXPLORER "\xef\x8b\x9e" // U+f2de
|
||||
#define ICON_FA_WPFORMS "\xef\x8a\x98" // U+f298
|
||||
#define ICON_FA_WPRESSR "\xef\x8f\xa4" // U+f3e4
|
||||
#define ICON_FA_X_TWITTER "\xee\x98\x9b" // U+e61b
|
||||
#define ICON_FA_XBOX "\xef\x90\x92" // U+f412
|
||||
#define ICON_FA_XING "\xef\x85\xa8" // U+f168
|
||||
#define ICON_FA_Y_COMBINATOR "\xef\x88\xbb" // U+f23b
|
||||
|
|
|
@ -1,16 +1,12 @@
|
|||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
# for Python
|
||||
# from codepoints https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
# for use with font https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-brands-400.ttf
|
||||
|
||||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Python
|
||||
# from https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
# for use with https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-brands-400.ttf
|
||||
class IconsFontAwesome6Brands:
|
||||
|
||||
FONT_ICON_FILE_NAME_FAB = 'fa-brands-400.ttf'
|
||||
|
||||
ICON_MIN = 0xe007
|
||||
ICON_MAX_16 = 0xf8e8
|
||||
ICON_MAX = 0xf8e8
|
||||
|
||||
ICON_42_GROUP = '\ue080'
|
||||
ICON_500PX = '\uf26e'
|
||||
ICON_ACCESSIBLE_ICON = '\uf368'
|
||||
|
@ -53,13 +49,10 @@ class IconsFontAwesome6Brands:
|
|||
ICON_BLACKBERRY = '\uf37b'
|
||||
ICON_BLOGGER = '\uf37c'
|
||||
ICON_BLOGGER_B = '\uf37d'
|
||||
ICON_BLUESKY = '\ue671'
|
||||
ICON_BLUETOOTH = '\uf293'
|
||||
ICON_BLUETOOTH_B = '\uf294'
|
||||
ICON_BOOTSTRAP = '\uf836'
|
||||
ICON_BOTS = '\ue340'
|
||||
ICON_BRAVE = '\ue63c'
|
||||
ICON_BRAVE_REVERSE = '\ue63d'
|
||||
ICON_BTC = '\uf15a'
|
||||
ICON_BUFFER = '\uf837'
|
||||
ICON_BUROMOBELEXPERTE = '\uf37f'
|
||||
|
@ -113,9 +106,7 @@ class IconsFontAwesome6Brands:
|
|||
ICON_D_AND_D = '\uf38d'
|
||||
ICON_D_AND_D_BEYOND = '\uf6ca'
|
||||
ICON_DAILYMOTION = '\ue052'
|
||||
ICON_DART_LANG = '\ue693'
|
||||
ICON_DASHCUBE = '\uf210'
|
||||
ICON_DEBIAN = '\ue60b'
|
||||
ICON_DEEZER = '\ue077'
|
||||
ICON_DELICIOUS = '\uf1a5'
|
||||
ICON_DEPLOYDOG = '\uf38e'
|
||||
|
@ -163,7 +154,6 @@ class IconsFontAwesome6Brands:
|
|||
ICON_FIRSTDRAFT = '\uf3a1'
|
||||
ICON_FLICKR = '\uf16e'
|
||||
ICON_FLIPBOARD = '\uf44d'
|
||||
ICON_FLUTTER = '\ue694'
|
||||
ICON_FLY = '\uf417'
|
||||
ICON_FONT_AWESOME = '\uf2b4'
|
||||
ICON_FONTICONS = '\uf280'
|
||||
|
@ -199,7 +189,6 @@ class IconsFontAwesome6Brands:
|
|||
ICON_GOOGLE_PLAY = '\uf3ab'
|
||||
ICON_GOOGLE_PLUS = '\uf2b3'
|
||||
ICON_GOOGLE_PLUS_G = '\uf0d5'
|
||||
ICON_GOOGLE_SCHOLAR = '\ue63b'
|
||||
ICON_GOOGLE_WALLET = '\uf1ee'
|
||||
ICON_GRATIPAY = '\uf184'
|
||||
ICON_GRAV = '\uf2d6'
|
||||
|
@ -238,7 +227,6 @@ class IconsFontAwesome6Brands:
|
|||
ICON_JOOMLA = '\uf1aa'
|
||||
ICON_JS = '\uf3b8'
|
||||
ICON_JSFIDDLE = '\uf1cc'
|
||||
ICON_JXL = '\ue67b'
|
||||
ICON_KAGGLE = '\uf5fa'
|
||||
ICON_KEYBASE = '\uf4f5'
|
||||
ICON_KEYCDN = '\uf3ba'
|
||||
|
@ -249,7 +237,6 @@ class IconsFontAwesome6Brands:
|
|||
ICON_LASTFM = '\uf202'
|
||||
ICON_LEANPUB = '\uf212'
|
||||
ICON_LESS = '\uf41d'
|
||||
ICON_LETTERBOXD = '\ue62d'
|
||||
ICON_LINE = '\uf3c0'
|
||||
ICON_LINKEDIN = '\uf08c'
|
||||
ICON_LINKEDIN_IN = '\uf0e1'
|
||||
|
@ -272,7 +259,6 @@ class IconsFontAwesome6Brands:
|
|||
ICON_META = '\ue49b'
|
||||
ICON_MICROBLOG = '\ue01a'
|
||||
ICON_MICROSOFT = '\uf3ca'
|
||||
ICON_MINTBIT = '\ue62f'
|
||||
ICON_MIX = '\uf3cb'
|
||||
ICON_MIXCLOUD = '\uf289'
|
||||
ICON_MIXER = '\ue056'
|
||||
|
@ -295,7 +281,6 @@ class IconsFontAwesome6Brands:
|
|||
ICON_OLD_REPUBLIC = '\uf510'
|
||||
ICON_OPENCART = '\uf23d'
|
||||
ICON_OPENID = '\uf19b'
|
||||
ICON_OPENSUSE = '\ue62b'
|
||||
ICON_OPERA = '\uf26a'
|
||||
ICON_OPTIN_MONSTER = '\uf23c'
|
||||
ICON_ORCID = '\uf8d2'
|
||||
|
@ -319,7 +304,6 @@ class IconsFontAwesome6Brands:
|
|||
ICON_PINTEREST = '\uf0d2'
|
||||
ICON_PINTEREST_P = '\uf231'
|
||||
ICON_PIX = '\ue43a'
|
||||
ICON_PIXIV = '\ue640'
|
||||
ICON_PLAYSTATION = '\uf3df'
|
||||
ICON_PRODUCT_HUNT = '\uf288'
|
||||
ICON_PUSHED = '\uf3e1'
|
||||
|
@ -357,10 +341,8 @@ class IconsFontAwesome6Brands:
|
|||
ICON_SELLSY = '\uf213'
|
||||
ICON_SERVICESTACK = '\uf3ec'
|
||||
ICON_SHIRTSINBULK = '\uf214'
|
||||
ICON_SHOELACE = '\ue60c'
|
||||
ICON_SHOPIFY = '\ue057'
|
||||
ICON_SHOPWARE = '\uf5b5'
|
||||
ICON_SIGNAL_MESSENGER = '\ue663'
|
||||
ICON_SIMPLYBUILT = '\uf215'
|
||||
ICON_SISTRIX = '\uf3ee'
|
||||
ICON_SITH = '\uf512'
|
||||
|
@ -390,23 +372,17 @@ class IconsFontAwesome6Brands:
|
|||
ICON_SQUARE_INSTAGRAM = '\ue055'
|
||||
ICON_SQUARE_JS = '\uf3b9'
|
||||
ICON_SQUARE_LASTFM = '\uf203'
|
||||
ICON_SQUARE_LETTERBOXD = '\ue62e'
|
||||
ICON_SQUARE_ODNOKLASSNIKI = '\uf264'
|
||||
ICON_SQUARE_PIED_PIPER = '\ue01e'
|
||||
ICON_SQUARE_PINTEREST = '\uf0d3'
|
||||
ICON_SQUARE_REDDIT = '\uf1a2'
|
||||
ICON_SQUARE_SNAPCHAT = '\uf2ad'
|
||||
ICON_SQUARE_STEAM = '\uf1b7'
|
||||
ICON_SQUARE_THREADS = '\ue619'
|
||||
ICON_SQUARE_TUMBLR = '\uf174'
|
||||
ICON_SQUARE_TWITTER = '\uf081'
|
||||
ICON_SQUARE_UPWORK = '\ue67c'
|
||||
ICON_SQUARE_VIADEO = '\uf2aa'
|
||||
ICON_SQUARE_VIMEO = '\uf194'
|
||||
ICON_SQUARE_WEB_AWESOME = '\ue683'
|
||||
ICON_SQUARE_WEB_AWESOME_STROKE = '\ue684'
|
||||
ICON_SQUARE_WHATSAPP = '\uf40c'
|
||||
ICON_SQUARE_X_TWITTER = '\ue61a'
|
||||
ICON_SQUARE_XING = '\uf169'
|
||||
ICON_SQUARE_YOUTUBE = '\uf431'
|
||||
ICON_SQUARESPACE = '\uf5be'
|
||||
|
@ -436,7 +412,6 @@ class IconsFontAwesome6Brands:
|
|||
ICON_THEMECO = '\uf5c6'
|
||||
ICON_THEMEISLE = '\uf2b2'
|
||||
ICON_THINK_PEAKS = '\uf731'
|
||||
ICON_THREADS = '\ue618'
|
||||
ICON_TIKTOK = '\ue07b'
|
||||
ICON_TRADE_FEDERATION = '\uf513'
|
||||
ICON_TRELLO = '\uf181'
|
||||
|
@ -454,7 +429,6 @@ class IconsFontAwesome6Brands:
|
|||
ICON_UNSPLASH = '\ue07c'
|
||||
ICON_UNTAPPD = '\uf405'
|
||||
ICON_UPS = '\uf7e0'
|
||||
ICON_UPWORK = '\ue641'
|
||||
ICON_USB = '\uf287'
|
||||
ICON_USPS = '\uf7e1'
|
||||
ICON_USSUNNAH = '\uf407'
|
||||
|
@ -470,8 +444,6 @@ class IconsFontAwesome6Brands:
|
|||
ICON_VUEJS = '\uf41f'
|
||||
ICON_WATCHMAN_MONITORING = '\ue087'
|
||||
ICON_WAZE = '\uf83f'
|
||||
ICON_WEB_AWESOME = '\ue682'
|
||||
ICON_WEBFLOW = '\ue65c'
|
||||
ICON_WEEBLY = '\uf5cc'
|
||||
ICON_WEIBO = '\uf18a'
|
||||
ICON_WEIXIN = '\uf1d7'
|
||||
|
@ -490,7 +462,6 @@ class IconsFontAwesome6Brands:
|
|||
ICON_WPEXPLORER = '\uf2de'
|
||||
ICON_WPFORMS = '\uf298'
|
||||
ICON_WPRESSR = '\uf3e4'
|
||||
ICON_X_TWITTER = '\ue61b'
|
||||
ICON_XBOX = '\uf412'
|
||||
ICON_XING = '\uf168'
|
||||
ICON_Y_COMBINATOR = '\uf23b'
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
//! for Rust
|
||||
//! from codepoints https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
//! for use with font https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-brands-400.ttf
|
||||
|
||||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Rust
|
||||
//! from https://github.com/FortAwesome/Font-Awesome/raw/6.x/metadata/icons.yml
|
||||
//! for use with https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-brands-400.ttf
|
||||
pub const FONT_ICON_FILE_NAME_FAB: &str = "fa-brands-400.ttf";
|
||||
|
||||
pub const ICON_MIN: char = '\u{e007}';
|
||||
pub const ICON_MAX_16: char = '\u{f8e8}';
|
||||
pub const ICON_MAX: char = '\u{f8e8}';
|
||||
|
||||
pub const ICON_42_GROUP: char = '\u{e080}';
|
||||
pub const ICON_500PX: char = '\u{f26e}';
|
||||
pub const ICON_ACCESSIBLE_ICON: char = '\u{f368}';
|
||||
|
@ -51,13 +48,10 @@ pub const ICON_BLACK_TIE: char = '\u{f27e}';
|
|||
pub const ICON_BLACKBERRY: char = '\u{f37b}';
|
||||
pub const ICON_BLOGGER: char = '\u{f37c}';
|
||||
pub const ICON_BLOGGER_B: char = '\u{f37d}';
|
||||
pub const ICON_BLUESKY: char = '\u{e671}';
|
||||
pub const ICON_BLUETOOTH: char = '\u{f293}';
|
||||
pub const ICON_BLUETOOTH_B: char = '\u{f294}';
|
||||
pub const ICON_BOOTSTRAP: char = '\u{f836}';
|
||||
pub const ICON_BOTS: char = '\u{e340}';
|
||||
pub const ICON_BRAVE: char = '\u{e63c}';
|
||||
pub const ICON_BRAVE_REVERSE: char = '\u{e63d}';
|
||||
pub const ICON_BTC: char = '\u{f15a}';
|
||||
pub const ICON_BUFFER: char = '\u{f837}';
|
||||
pub const ICON_BUROMOBELEXPERTE: char = '\u{f37f}';
|
||||
|
@ -111,9 +105,7 @@ pub const ICON_CUTTLEFISH: char = '\u{f38c}';
|
|||
pub const ICON_D_AND_D: char = '\u{f38d}';
|
||||
pub const ICON_D_AND_D_BEYOND: char = '\u{f6ca}';
|
||||
pub const ICON_DAILYMOTION: char = '\u{e052}';
|
||||
pub const ICON_DART_LANG: char = '\u{e693}';
|
||||
pub const ICON_DASHCUBE: char = '\u{f210}';
|
||||
pub const ICON_DEBIAN: char = '\u{e60b}';
|
||||
pub const ICON_DEEZER: char = '\u{e077}';
|
||||
pub const ICON_DELICIOUS: char = '\u{f1a5}';
|
||||
pub const ICON_DEPLOYDOG: char = '\u{f38e}';
|
||||
|
@ -161,7 +153,6 @@ pub const ICON_FIRST_ORDER_ALT: char = '\u{f50a}';
|
|||
pub const ICON_FIRSTDRAFT: char = '\u{f3a1}';
|
||||
pub const ICON_FLICKR: char = '\u{f16e}';
|
||||
pub const ICON_FLIPBOARD: char = '\u{f44d}';
|
||||
pub const ICON_FLUTTER: char = '\u{e694}';
|
||||
pub const ICON_FLY: char = '\u{f417}';
|
||||
pub const ICON_FONT_AWESOME: char = '\u{f2b4}';
|
||||
pub const ICON_FONTICONS: char = '\u{f280}';
|
||||
|
@ -197,7 +188,6 @@ pub const ICON_GOOGLE_PAY: char = '\u{e079}';
|
|||
pub const ICON_GOOGLE_PLAY: char = '\u{f3ab}';
|
||||
pub const ICON_GOOGLE_PLUS: char = '\u{f2b3}';
|
||||
pub const ICON_GOOGLE_PLUS_G: char = '\u{f0d5}';
|
||||
pub const ICON_GOOGLE_SCHOLAR: char = '\u{e63b}';
|
||||
pub const ICON_GOOGLE_WALLET: char = '\u{f1ee}';
|
||||
pub const ICON_GRATIPAY: char = '\u{f184}';
|
||||
pub const ICON_GRAV: char = '\u{f2d6}';
|
||||
|
@ -236,7 +226,6 @@ pub const ICON_JOGET: char = '\u{f3b7}';
|
|||
pub const ICON_JOOMLA: char = '\u{f1aa}';
|
||||
pub const ICON_JS: char = '\u{f3b8}';
|
||||
pub const ICON_JSFIDDLE: char = '\u{f1cc}';
|
||||
pub const ICON_JXL: char = '\u{e67b}';
|
||||
pub const ICON_KAGGLE: char = '\u{f5fa}';
|
||||
pub const ICON_KEYBASE: char = '\u{f4f5}';
|
||||
pub const ICON_KEYCDN: char = '\u{f3ba}';
|
||||
|
@ -247,7 +236,6 @@ pub const ICON_LARAVEL: char = '\u{f3bd}';
|
|||
pub const ICON_LASTFM: char = '\u{f202}';
|
||||
pub const ICON_LEANPUB: char = '\u{f212}';
|
||||
pub const ICON_LESS: char = '\u{f41d}';
|
||||
pub const ICON_LETTERBOXD: char = '\u{e62d}';
|
||||
pub const ICON_LINE: char = '\u{f3c0}';
|
||||
pub const ICON_LINKEDIN: char = '\u{f08c}';
|
||||
pub const ICON_LINKEDIN_IN: char = '\u{f0e1}';
|
||||
|
@ -270,7 +258,6 @@ pub const ICON_MENDELEY: char = '\u{f7b3}';
|
|||
pub const ICON_META: char = '\u{e49b}';
|
||||
pub const ICON_MICROBLOG: char = '\u{e01a}';
|
||||
pub const ICON_MICROSOFT: char = '\u{f3ca}';
|
||||
pub const ICON_MINTBIT: char = '\u{e62f}';
|
||||
pub const ICON_MIX: char = '\u{f3cb}';
|
||||
pub const ICON_MIXCLOUD: char = '\u{f289}';
|
||||
pub const ICON_MIXER: char = '\u{e056}';
|
||||
|
@ -293,7 +280,6 @@ pub const ICON_ODYSEE: char = '\u{e5c6}';
|
|||
pub const ICON_OLD_REPUBLIC: char = '\u{f510}';
|
||||
pub const ICON_OPENCART: char = '\u{f23d}';
|
||||
pub const ICON_OPENID: char = '\u{f19b}';
|
||||
pub const ICON_OPENSUSE: char = '\u{e62b}';
|
||||
pub const ICON_OPERA: char = '\u{f26a}';
|
||||
pub const ICON_OPTIN_MONSTER: char = '\u{f23c}';
|
||||
pub const ICON_ORCID: char = '\u{f8d2}';
|
||||
|
@ -317,7 +303,6 @@ pub const ICON_PIED_PIPER_PP: char = '\u{f1a7}';
|
|||
pub const ICON_PINTEREST: char = '\u{f0d2}';
|
||||
pub const ICON_PINTEREST_P: char = '\u{f231}';
|
||||
pub const ICON_PIX: char = '\u{e43a}';
|
||||
pub const ICON_PIXIV: char = '\u{e640}';
|
||||
pub const ICON_PLAYSTATION: char = '\u{f3df}';
|
||||
pub const ICON_PRODUCT_HUNT: char = '\u{f288}';
|
||||
pub const ICON_PUSHED: char = '\u{f3e1}';
|
||||
|
@ -355,10 +340,8 @@ pub const ICON_SELLCAST: char = '\u{f2da}';
|
|||
pub const ICON_SELLSY: char = '\u{f213}';
|
||||
pub const ICON_SERVICESTACK: char = '\u{f3ec}';
|
||||
pub const ICON_SHIRTSINBULK: char = '\u{f214}';
|
||||
pub const ICON_SHOELACE: char = '\u{e60c}';
|
||||
pub const ICON_SHOPIFY: char = '\u{e057}';
|
||||
pub const ICON_SHOPWARE: char = '\u{f5b5}';
|
||||
pub const ICON_SIGNAL_MESSENGER: char = '\u{e663}';
|
||||
pub const ICON_SIMPLYBUILT: char = '\u{f215}';
|
||||
pub const ICON_SISTRIX: char = '\u{f3ee}';
|
||||
pub const ICON_SITH: char = '\u{f512}';
|
||||
|
@ -388,23 +371,17 @@ pub const ICON_SQUARE_HACKER_NEWS: char = '\u{f3af}';
|
|||
pub const ICON_SQUARE_INSTAGRAM: char = '\u{e055}';
|
||||
pub const ICON_SQUARE_JS: char = '\u{f3b9}';
|
||||
pub const ICON_SQUARE_LASTFM: char = '\u{f203}';
|
||||
pub const ICON_SQUARE_LETTERBOXD: char = '\u{e62e}';
|
||||
pub const ICON_SQUARE_ODNOKLASSNIKI: char = '\u{f264}';
|
||||
pub const ICON_SQUARE_PIED_PIPER: char = '\u{e01e}';
|
||||
pub const ICON_SQUARE_PINTEREST: char = '\u{f0d3}';
|
||||
pub const ICON_SQUARE_REDDIT: char = '\u{f1a2}';
|
||||
pub const ICON_SQUARE_SNAPCHAT: char = '\u{f2ad}';
|
||||
pub const ICON_SQUARE_STEAM: char = '\u{f1b7}';
|
||||
pub const ICON_SQUARE_THREADS: char = '\u{e619}';
|
||||
pub const ICON_SQUARE_TUMBLR: char = '\u{f174}';
|
||||
pub const ICON_SQUARE_TWITTER: char = '\u{f081}';
|
||||
pub const ICON_SQUARE_UPWORK: char = '\u{e67c}';
|
||||
pub const ICON_SQUARE_VIADEO: char = '\u{f2aa}';
|
||||
pub const ICON_SQUARE_VIMEO: char = '\u{f194}';
|
||||
pub const ICON_SQUARE_WEB_AWESOME: char = '\u{e683}';
|
||||
pub const ICON_SQUARE_WEB_AWESOME_STROKE: char = '\u{e684}';
|
||||
pub const ICON_SQUARE_WHATSAPP: char = '\u{f40c}';
|
||||
pub const ICON_SQUARE_X_TWITTER: char = '\u{e61a}';
|
||||
pub const ICON_SQUARE_XING: char = '\u{f169}';
|
||||
pub const ICON_SQUARE_YOUTUBE: char = '\u{f431}';
|
||||
pub const ICON_SQUARESPACE: char = '\u{f5be}';
|
||||
|
@ -434,7 +411,6 @@ pub const ICON_THE_RED_YETI: char = '\u{f69d}';
|
|||
pub const ICON_THEMECO: char = '\u{f5c6}';
|
||||
pub const ICON_THEMEISLE: char = '\u{f2b2}';
|
||||
pub const ICON_THINK_PEAKS: char = '\u{f731}';
|
||||
pub const ICON_THREADS: char = '\u{e618}';
|
||||
pub const ICON_TIKTOK: char = '\u{e07b}';
|
||||
pub const ICON_TRADE_FEDERATION: char = '\u{f513}';
|
||||
pub const ICON_TRELLO: char = '\u{f181}';
|
||||
|
@ -452,7 +428,6 @@ pub const ICON_UNITY: char = '\u{e049}';
|
|||
pub const ICON_UNSPLASH: char = '\u{e07c}';
|
||||
pub const ICON_UNTAPPD: char = '\u{f405}';
|
||||
pub const ICON_UPS: char = '\u{f7e0}';
|
||||
pub const ICON_UPWORK: char = '\u{e641}';
|
||||
pub const ICON_USB: char = '\u{f287}';
|
||||
pub const ICON_USPS: char = '\u{f7e1}';
|
||||
pub const ICON_USSUNNAH: char = '\u{f407}';
|
||||
|
@ -468,8 +443,6 @@ pub const ICON_VNV: char = '\u{f40b}';
|
|||
pub const ICON_VUEJS: char = '\u{f41f}';
|
||||
pub const ICON_WATCHMAN_MONITORING: char = '\u{e087}';
|
||||
pub const ICON_WAZE: char = '\u{f83f}';
|
||||
pub const ICON_WEB_AWESOME: char = '\u{e682}';
|
||||
pub const ICON_WEBFLOW: char = '\u{e65c}';
|
||||
pub const ICON_WEEBLY: char = '\u{f5cc}';
|
||||
pub const ICON_WEIBO: char = '\u{f18a}';
|
||||
pub const ICON_WEIXIN: char = '\u{f1d7}';
|
||||
|
@ -488,7 +461,6 @@ pub const ICON_WPBEGINNER: char = '\u{f297}';
|
|||
pub const ICON_WPEXPLORER: char = '\u{f2de}';
|
||||
pub const ICON_WPFORMS: char = '\u{f298}';
|
||||
pub const ICON_WPRESSR: char = '\u{f3e4}';
|
||||
pub const ICON_X_TWITTER: char = '\u{e61b}';
|
||||
pub const ICON_XBOX: char = '\u{f412}';
|
||||
pub const ICON_XING: char = '\u{f168}';
|
||||
pub const ICON_Y_COMBINATOR: char = '\u{f23b}';
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
// <auto-generated>
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C#
|
||||
// from codepoints https://github.com/fefanto/fontaudio/raw/master/font/fontaudio.css
|
||||
// for use with font https://github.com/fefanto/fontaudio/blob/master/font/fontaudio.ttf
|
||||
// </auto-generated>
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language C#
|
||||
// from https://github.com/fefanto/fontaudio/raw/master/font/fontaudio.css
|
||||
// for use with https://github.com/fefanto/fontaudio/blob/master/font/fontaudio.ttf
|
||||
namespace IconFonts
|
||||
{
|
||||
public class Fontaudio
|
||||
|
@ -14,7 +10,6 @@ namespace IconFonts
|
|||
public const int IconMin = 0xf101;
|
||||
public const int IconMax16 = 0xf19b;
|
||||
public const int IconMax = 0xf19b;
|
||||
|
||||
public const string Adr = "\uf101";
|
||||
public const string Adsr = "\uf102";
|
||||
public const string Ahdsr = "\uf103";
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for Go
|
||||
// from codepoints https://github.com/fefanto/fontaudio/raw/master/font/fontaudio.css
|
||||
// for use with font https://github.com/fefanto/fontaudio/blob/master/font/fontaudio.ttf
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages Go
|
||||
// from https://github.com/fefanto/fontaudio/raw/master/font/fontaudio.css
|
||||
// for use with https://github.com/fefanto/fontaudio/blob/master/font/fontaudio.ttf
|
||||
|
||||
package IconFontCppHeaders
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C and C++
|
||||
// from codepoints https://github.com/fefanto/fontaudio/raw/master/font/fontaudio.css
|
||||
// for use with font https://github.com/fefanto/fontaudio/blob/master/font/fontaudio.ttf
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages C and C++
|
||||
// from https://github.com/fefanto/fontaudio/raw/master/font/fontaudio.css
|
||||
// for use with https://github.com/fefanto/fontaudio/blob/master/font/fontaudio.ttf
|
||||
#pragma once
|
||||
|
||||
#define FONT_ICON_FILE_NAME_FAD "fontaudio.ttf"
|
||||
|
@ -10,7 +8,6 @@
|
|||
#define ICON_MIN_FAD 0xf101
|
||||
#define ICON_MAX_16_FAD 0xf19b
|
||||
#define ICON_MAX_FAD 0xf19b
|
||||
|
||||
#define ICON_FAD_ADR "\xef\x84\x81" // U+f101
|
||||
#define ICON_FAD_ADSR "\xef\x84\x82" // U+f102
|
||||
#define ICON_FAD_AHDSR "\xef\x84\x83" // U+f103
|
||||
|
|
|
@ -1,16 +1,12 @@
|
|||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
# for Python
|
||||
# from codepoints https://github.com/fefanto/fontaudio/raw/master/font/fontaudio.css
|
||||
# for use with font https://github.com/fefanto/fontaudio/blob/master/font/fontaudio.ttf
|
||||
|
||||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Python
|
||||
# from https://github.com/fefanto/fontaudio/raw/master/font/fontaudio.css
|
||||
# for use with https://github.com/fefanto/fontaudio/blob/master/font/fontaudio.ttf
|
||||
class IconsFontaudio:
|
||||
|
||||
FONT_ICON_FILE_NAME_FAD = 'fontaudio.ttf'
|
||||
|
||||
ICON_MIN = 0xf101
|
||||
ICON_MAX_16 = 0xf19b
|
||||
ICON_MAX = 0xf19b
|
||||
|
||||
ICON_ADR = '\uf101'
|
||||
ICON_ADSR = '\uf102'
|
||||
ICON_AHDSR = '\uf103'
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
//! for Rust
|
||||
//! from codepoints https://github.com/fefanto/fontaudio/raw/master/font/fontaudio.css
|
||||
//! for use with font https://github.com/fefanto/fontaudio/blob/master/font/fontaudio.ttf
|
||||
|
||||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Rust
|
||||
//! from https://github.com/fefanto/fontaudio/raw/master/font/fontaudio.css
|
||||
//! for use with https://github.com/fefanto/fontaudio/blob/master/font/fontaudio.ttf
|
||||
pub const FONT_ICON_FILE_NAME_FAD: &str = "fontaudio.ttf";
|
||||
|
||||
pub const ICON_MIN: char = '\u{f101}';
|
||||
pub const ICON_MAX_16: char = '\u{f19b}';
|
||||
pub const ICON_MAX: char = '\u{f19b}';
|
||||
|
||||
pub const ICON_ADR: char = '\u{f101}';
|
||||
pub const ICON_ADSR: char = '\u{f102}';
|
||||
pub const ICON_AHDSR: char = '\u{f103}';
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
// <auto-generated>
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C#
|
||||
// from codepoints https://github.com/ForkAwesome/Fork-Awesome/raw/master/src/icons/icons.yml
|
||||
// for use with font https://github.com/ForkAwesome/Fork-Awesome/blob/master/fonts/forkawesome-webfont.ttf
|
||||
// </auto-generated>
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language C#
|
||||
// from https://raw.githubusercontent.com/ForkAwesome/Fork-Awesome/master/src/icons/icons.yml
|
||||
// for use with https://github.com/ForkAwesome/Fork-Awesome/blob/master/fonts/forkawesome-webfont.ttf
|
||||
namespace IconFonts
|
||||
{
|
||||
public class ForkAwesome
|
||||
|
@ -14,7 +10,6 @@ namespace IconFonts
|
|||
public const int IconMin = 0xf000;
|
||||
public const int IconMax16 = 0xf372;
|
||||
public const int IconMax = 0xf372;
|
||||
|
||||
public const string Glass = "\uf000";
|
||||
public const string Music = "\uf001";
|
||||
public const string Search = "\uf002";
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,8 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C and C++
|
||||
// from codepoints https://github.com/ForkAwesome/Fork-Awesome/raw/master/src/icons/icons.yml
|
||||
// for use with font https://github.com/ForkAwesome/Fork-Awesome/blob/master/fonts/forkawesome-webfont.ttf
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages C and C++
|
||||
// from https://raw.githubusercontent.com/ForkAwesome/Fork-Awesome/master/src/icons/icons.yml
|
||||
// for use with https://github.com/ForkAwesome/Fork-Awesome/blob/master/fonts/forkawesome-webfont.ttf
|
||||
#pragma once
|
||||
|
||||
#define FONT_ICON_FILE_NAME_FK "forkawesome-webfont.ttf"
|
||||
|
@ -10,7 +8,6 @@
|
|||
#define ICON_MIN_FK 0xf000
|
||||
#define ICON_MAX_16_FK 0xf372
|
||||
#define ICON_MAX_FK 0xf372
|
||||
|
||||
#define ICON_FK_GLASS "\xef\x80\x80" // U+f000
|
||||
#define ICON_FK_MUSIC "\xef\x80\x81" // U+f001
|
||||
#define ICON_FK_SEARCH "\xef\x80\x82" // U+f002
|
||||
|
|
|
@ -1,16 +1,12 @@
|
|||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
# for Python
|
||||
# from codepoints https://github.com/ForkAwesome/Fork-Awesome/raw/master/src/icons/icons.yml
|
||||
# for use with font https://github.com/ForkAwesome/Fork-Awesome/blob/master/fonts/forkawesome-webfont.ttf
|
||||
|
||||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Python
|
||||
# from https://raw.githubusercontent.com/ForkAwesome/Fork-Awesome/master/src/icons/icons.yml
|
||||
# for use with https://github.com/ForkAwesome/Fork-Awesome/blob/master/fonts/forkawesome-webfont.ttf
|
||||
class IconsForkAwesome:
|
||||
|
||||
FONT_ICON_FILE_NAME_FK = 'forkawesome-webfont.ttf'
|
||||
|
||||
ICON_MIN = 0xf000
|
||||
ICON_MAX_16 = 0xf372
|
||||
ICON_MAX = 0xf372
|
||||
|
||||
ICON_GLASS = '\uf000'
|
||||
ICON_MUSIC = '\uf001'
|
||||
ICON_SEARCH = '\uf002'
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
//! for Rust
|
||||
//! from codepoints https://github.com/ForkAwesome/Fork-Awesome/raw/master/src/icons/icons.yml
|
||||
//! for use with font https://github.com/ForkAwesome/Fork-Awesome/blob/master/fonts/forkawesome-webfont.ttf
|
||||
|
||||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Rust
|
||||
//! from https://raw.githubusercontent.com/ForkAwesome/Fork-Awesome/master/src/icons/icons.yml
|
||||
//! for use with https://github.com/ForkAwesome/Fork-Awesome/blob/master/fonts/forkawesome-webfont.ttf
|
||||
pub const FONT_ICON_FILE_NAME_FK: &str = "forkawesome-webfont.ttf";
|
||||
|
||||
pub const ICON_MIN: char = '\u{f000}';
|
||||
pub const ICON_MAX_16: char = '\u{f372}';
|
||||
pub const ICON_MAX: char = '\u{f372}';
|
||||
|
||||
pub const ICON_GLASS: char = '\u{f000}';
|
||||
pub const ICON_MUSIC: char = '\u{f001}';
|
||||
pub const ICON_SEARCH: char = '\u{f002}';
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
// <auto-generated>
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C#
|
||||
// from codepoints https://github.com/nicodinh/kenney-icon-font/raw/master/css/kenney-icons.css
|
||||
// for use with font https://github.com/nicodinh/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf
|
||||
// </auto-generated>
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language C#
|
||||
// from https://github.com/nicodinh/kenney-icon-font/raw/master/css/kenney-icons.css
|
||||
// for use with https://github.com/nicodinh/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf
|
||||
namespace IconFonts
|
||||
{
|
||||
public class Kenney
|
||||
|
@ -14,7 +10,6 @@ namespace IconFonts
|
|||
public const int IconMin = 0xe900;
|
||||
public const int IconMax16 = 0xe9e3;
|
||||
public const int IconMax = 0xe9e3;
|
||||
|
||||
public const string Home = "\ue900";
|
||||
public const string Adjust = "\ue901";
|
||||
public const string Wrench = "\ue902";
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for Go
|
||||
// from codepoints https://github.com/nicodinh/kenney-icon-font/raw/master/css/kenney-icons.css
|
||||
// for use with font https://github.com/nicodinh/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages Go
|
||||
// from https://github.com/nicodinh/kenney-icon-font/raw/master/css/kenney-icons.css
|
||||
// for use with https://github.com/nicodinh/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf
|
||||
|
||||
package IconFontCppHeaders
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C and C++
|
||||
// from codepoints https://github.com/nicodinh/kenney-icon-font/raw/master/css/kenney-icons.css
|
||||
// for use with font https://github.com/nicodinh/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages C and C++
|
||||
// from https://github.com/nicodinh/kenney-icon-font/raw/master/css/kenney-icons.css
|
||||
// for use with https://github.com/nicodinh/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf
|
||||
#pragma once
|
||||
|
||||
#define FONT_ICON_FILE_NAME_KI "kenney-icon-font.ttf"
|
||||
|
@ -10,7 +8,6 @@
|
|||
#define ICON_MIN_KI 0xe900
|
||||
#define ICON_MAX_16_KI 0xe9e3
|
||||
#define ICON_MAX_KI 0xe9e3
|
||||
|
||||
#define ICON_KI_HOME "\xee\xa4\x80" // U+e900
|
||||
#define ICON_KI_ADJUST "\xee\xa4\x81" // U+e901
|
||||
#define ICON_KI_WRENCH "\xee\xa4\x82" // U+e902
|
||||
|
|
|
@ -1,16 +1,12 @@
|
|||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
# for Python
|
||||
# from codepoints https://github.com/nicodinh/kenney-icon-font/raw/master/css/kenney-icons.css
|
||||
# for use with font https://github.com/nicodinh/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf
|
||||
|
||||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Python
|
||||
# from https://github.com/nicodinh/kenney-icon-font/raw/master/css/kenney-icons.css
|
||||
# for use with https://github.com/nicodinh/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf
|
||||
class IconsKenney:
|
||||
|
||||
FONT_ICON_FILE_NAME_KI = 'kenney-icon-font.ttf'
|
||||
|
||||
ICON_MIN = 0xe900
|
||||
ICON_MAX_16 = 0xe9e3
|
||||
ICON_MAX = 0xe9e3
|
||||
|
||||
ICON_HOME = '\ue900'
|
||||
ICON_ADJUST = '\ue901'
|
||||
ICON_WRENCH = '\ue902'
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
//! for Rust
|
||||
//! from codepoints https://github.com/nicodinh/kenney-icon-font/raw/master/css/kenney-icons.css
|
||||
//! for use with font https://github.com/nicodinh/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf
|
||||
|
||||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Rust
|
||||
//! from https://github.com/nicodinh/kenney-icon-font/raw/master/css/kenney-icons.css
|
||||
//! for use with https://github.com/nicodinh/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf
|
||||
pub const FONT_ICON_FILE_NAME_KI: &str = "kenney-icon-font.ttf";
|
||||
|
||||
pub const ICON_MIN: char = '\u{e900}';
|
||||
pub const ICON_MAX_16: char = '\u{e9e3}';
|
||||
pub const ICON_MAX: char = '\u{e9e3}';
|
||||
|
||||
pub const ICON_HOME: char = '\u{e900}';
|
||||
pub const ICON_ADJUST: char = '\u{e901}';
|
||||
pub const ICON_WRENCH: char = '\u{e902}';
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,10 +1,6 @@
|
|||
// <auto-generated>
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C#
|
||||
// from codepoints https://github.com/google/material-design-icons/raw/master/font/MaterialIcons-Regular.codepoints
|
||||
// for use with font https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.ttf
|
||||
// </auto-generated>
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language C#
|
||||
// from https://github.com/google/material-design-icons/raw/master/font/MaterialIcons-Regular.codepoints
|
||||
// for use with https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.ttf
|
||||
namespace IconFonts
|
||||
{
|
||||
public class MaterialDesign
|
||||
|
@ -14,7 +10,6 @@ namespace IconFonts
|
|||
public const int IconMin = 0xe000;
|
||||
public const int IconMax16 = 0xf8ff;
|
||||
public const int IconMax = 0x10fffd;
|
||||
|
||||
public const string Num10k = "\ue951";
|
||||
public const string Num10mp = "\ue952";
|
||||
public const string Num11mp = "\ue953";
|
||||
|
@ -910,7 +905,7 @@ namespace IconFonts
|
|||
public const string Gif_box = "\ue7a3";
|
||||
public const string Girl = "\ueb68";
|
||||
public const string Gite = "\ue58b";
|
||||
public const string Goat = "\U0010fffd";
|
||||
public const string Goat = "\u10fffd";
|
||||
public const string Golf_course = "\ueb45";
|
||||
public const string Gpp_bad = "\uf012";
|
||||
public const string Gpp_good = "\uf013";
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for Go
|
||||
// from codepoints https://github.com/google/material-design-icons/raw/master/font/MaterialIcons-Regular.codepoints
|
||||
// for use with font https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.ttf
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages Go
|
||||
// from https://github.com/google/material-design-icons/raw/master/font/MaterialIcons-Regular.codepoints
|
||||
// for use with https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.ttf
|
||||
|
||||
package IconFontCppHeaders
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
// for C and C++
|
||||
// from codepoints https://github.com/google/material-design-icons/raw/master/font/MaterialIcons-Regular.codepoints
|
||||
// for use with font https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.ttf
|
||||
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages C and C++
|
||||
// from https://github.com/google/material-design-icons/raw/master/font/MaterialIcons-Regular.codepoints
|
||||
// for use with https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.ttf
|
||||
#pragma once
|
||||
|
||||
#define FONT_ICON_FILE_NAME_MD "MaterialIcons-Regular.ttf"
|
||||
|
@ -10,7 +8,6 @@
|
|||
#define ICON_MIN_MD 0xe000
|
||||
#define ICON_MAX_16_MD 0xf8ff
|
||||
#define ICON_MAX_MD 0x10fffd
|
||||
|
||||
#define ICON_MD_10K "\xee\xa5\x91" // U+e951
|
||||
#define ICON_MD_10MP "\xee\xa5\x92" // U+e952
|
||||
#define ICON_MD_11MP "\xee\xa5\x93" // U+e953
|
||||
|
|
|
@ -1,16 +1,12 @@
|
|||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
# for Python
|
||||
# from codepoints https://github.com/google/material-design-icons/raw/master/font/MaterialIcons-Regular.codepoints
|
||||
# for use with font https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.ttf
|
||||
|
||||
# Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Python
|
||||
# from https://github.com/google/material-design-icons/raw/master/font/MaterialIcons-Regular.codepoints
|
||||
# for use with https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.ttf
|
||||
class IconsMaterialDesign:
|
||||
|
||||
FONT_ICON_FILE_NAME_MD = 'MaterialIcons-Regular.ttf'
|
||||
|
||||
ICON_MIN = 0xe000
|
||||
ICON_MAX_16 = 0xf8ff
|
||||
ICON_MAX = 0x10fffd
|
||||
|
||||
ICON_10K = '\ue951'
|
||||
ICON_10MP = '\ue952'
|
||||
ICON_11MP = '\ue953'
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py
|
||||
//! for Rust
|
||||
//! from codepoints https://github.com/google/material-design-icons/raw/master/font/MaterialIcons-Regular.codepoints
|
||||
//! for use with font https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.ttf
|
||||
|
||||
//! Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language Rust
|
||||
//! from https://github.com/google/material-design-icons/raw/master/font/MaterialIcons-Regular.codepoints
|
||||
//! for use with https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.ttf
|
||||
pub const FONT_ICON_FILE_NAME_MD: &str = "MaterialIcons-Regular.ttf";
|
||||
|
||||
pub const ICON_MIN: char = '\u{e000}';
|
||||
pub const ICON_MAX_16: char = '\u{f8ff}';
|
||||
pub const ICON_MAX: char = '\u{10fffd}';
|
||||
|
||||
pub const ICON_10K: char = '\u{e951}';
|
||||
pub const ICON_10MP: char = '\u{e952}';
|
||||
pub const ICON_11MP: char = '\u{e953}';
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -7,19 +7,19 @@ Support development of IconFontCppHeaders through [GitHub Sponsors](https://gith
|
|||
|
||||
[https://github.com/juliettef/IconFontCppHeaders](https://github.com/juliettef/IconFontCppHeaders)
|
||||
|
||||
C and C++ headers, C# and Python classes, Rust files and Go package for icon fonts Font Awesome, Fork Awesome, Google Material Design, Pictogrammers Material Design icons, Kenney game icons, Fontaudio, Codicons and Lucide.
|
||||
C and C++ headers, C# and Python classes, Rust files and Go package for icon fonts Font Awesome, Fork Awesome, Google Material Design icons, Kenney game icons, Fontaudio and Codicons.
|
||||
|
||||
A set of header files and classes for using icon fonts in C, C++, C#, Python, Rust and Go, along with the python generator used to create the files.
|
||||
|
||||
Each header contains defines for one font, with each icon code point defined as `ICON_*`, along with the *min*, *max* and *max 16 bit* code points for font loading purposes. The min excludes the ASCII characters code points. The max 16 bit is for use with libraries that only support 16 bit code points, for example Dear ImGui.
|
||||
Each header contains defines for one font, with each icon code point defined as ICON_*, along with the min, max and max 16 bit code points for font loading purposes. The min excludes the ASCII characters code points. The max 16 bit is for use with libraries that only support 16 bit code points, for example Dear ImGui.
|
||||
|
||||
In addition the python script can be used to convert ttf font files to C and C++ headers.
|
||||
Each ttf icon font file is converted to a C and C++ header file containing a single array of bytes.
|
||||
To enable conversion, run the `GenerateIconFontCppHeaders.py` script with `ttf2headerC = True`.
|
||||
To enable conversion, run the GenerateIconFontCppHeaders.py script with 'ttf2headerC = True'.
|
||||
|
||||
## Icon Fonts
|
||||
|
||||
### Font Awesome [ FA ]
|
||||
### Font Awesome
|
||||
* [fontawesome.com](https://fontawesome.com)
|
||||
* [github.com/FortAwesome/Font-Awesome](https://github.com/FortAwesome/Font-Awesome)
|
||||
|
||||
|
@ -48,71 +48,50 @@ To enable conversion, run the `GenerateIconFontCppHeaders.py` script with `ttf2h
|
|||
#### Font Awesome 6 pro
|
||||
* Commercial product, not supported but [generation should be similar to FA5 Pro](#notes-about-font-awesome-5-and-6), or see [@jakerieger's fork](https://github.com/jakerieger/IconFontCppHeaders)
|
||||
|
||||
### Fork Awesome [ FK ]
|
||||
* [forkaweso.me/Fork-Awesome](https://forkaweso.me/Fork-Awesome)
|
||||
### Fork Awesome
|
||||
* [forkawesome.github.io/Fork-Awesome](https://forkawesome.github.io/Fork-Awesome)
|
||||
* [github.com/ForkAwesome/Fork-Awesome](https://github.com/ForkAwesome/Fork-Awesome)
|
||||
* [icons.yml](https://github.com/ForkAwesome/Fork-Awesome/blob/master/src/icons/icons.yml)
|
||||
* [forkawesome-webfont.ttf](https://github.com/ForkAwesome/Fork-Awesome/blob/master/fonts/forkawesome-webfont.ttf)
|
||||
|
||||
### Google Material Design Icons [ MD ] and Material Symbols [ MS ]
|
||||
* [fonts.google.com/icons](https://fonts.google.com/icons)
|
||||
### Google Material Design icons
|
||||
* [design.google.com/icon](https://design.google.com/icons)
|
||||
* [github.com/google/material-design-icons](https://github.com/google/material-design-icons)
|
||||
#### Material Design Icons [ MD ]
|
||||
* [fonts.google.com/icons?icon.set=Material+Icons](https://fonts.google.com/icons?icon.set=Material+Icons)
|
||||
* [Codepoints](https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.codepoints)
|
||||
* [codepoints](https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.codepoints)
|
||||
* [MaterialIcons-Regular.ttf](https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.ttf)
|
||||
#### Material Symbols [ MS ]
|
||||
* [fonts.google.com/icons?icon.set=Material+Symbols](https://fonts.google.com/icons?icon.set=Material+Symbols)
|
||||
* [Codepoints](https://github.com/google/material-design-icons/blob/master/variablefont/MaterialSymbolsOutlined%5BFILL%2CGRAD%2Copsz%2Cwght%5D.codepoints)
|
||||
* [MaterialSymbolsOutlined[FILL,GRAD,opsz,wght].ttf](https://github.com/google/material-design-icons/blob/master/variablefont/MaterialSymbolsOutlined%5BFILL,GRAD,opsz,wght%5D.ttf)
|
||||
* [MaterialSymbolsRounded[FILL,GRAD,opsz,wght].ttf](https://github.com/google/material-design-icons/blob/master/variablefont/MaterialSymbolsRounded[FILL,GRAD,opsz,wght].ttf)
|
||||
* [MaterialSymbolsSharp[FILL,GRAD,opsz,wght].ttf](https://github.com/google/material-design-icons/blob/master/variablefont/MaterialSymbolsSharp[FILL,GRAD,opsz,wght].ttf)
|
||||
|
||||
### Pictogrammers Material Design Icons [ MDI ]
|
||||
* [pictogrammers.com/library/mdi](https://pictogrammers.com/library/mdi/)
|
||||
* [github.com/Templarian/MaterialDesign-Webfont](https://github.com/Templarian/MaterialDesign-Webfont)
|
||||
* [materialdesignicons.css](https://github.com/Templarian/MaterialDesign-Webfont/blob/master/css/materialdesignicons.css)
|
||||
* [materialdesignicons-webfont.ttf](https://github.com/Templarian/MaterialDesign-Webfont/blob/master/fonts/materialdesignicons-webfont.ttf)
|
||||
|
||||
### Kenney Game Icons and Expansion [ KI ]
|
||||
### Kenney Game icons and expansion
|
||||
* [kenney.nl/assets/game-icons](http://kenney.nl/assets/game-icons) and [kenney.nl/assets/game-icons-expansion](http://kenney.nl/assets/game-icons-expansion)
|
||||
* [github.com/nicodinh/kenney-icon-font](https://github.com/nicodinh/kenney-icon-font)
|
||||
* [kenney-icons.css](https://github.com/nicodinh/kenney-icon-font/blob/master/css/kenney-icons.css)
|
||||
* [kenney-icon-font.ttf](https://github.com/nicodinh/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf)
|
||||
|
||||
### Fontaudio [ FAD ]
|
||||
### Fontaudio
|
||||
* [github.com/fefanto/fontaudio](https://github.com/fefanto/fontaudio)
|
||||
* [fontaudio.css](https://github.com/fefanto/fontaudio/blob/master/font/fontaudio.css)
|
||||
* [fontaudio.ttf](https://github.com/fefanto/fontaudio/blob/master/font/fontaudio.ttf)
|
||||
|
||||
### Codicons [ CI ]
|
||||
* [microsoft.github.io/vscode-codicons/dist/codicon](https://microsoft.github.io/vscode-codicons/dist/codicon.html)
|
||||
### Codicons
|
||||
* [github.com/microsoft/vscode-codicons](https://github.com/microsoft/vscode-codicons)
|
||||
* [codicon.css](https://microsoft.github.io/vscode-codicons/dist/codicon.css)
|
||||
* [codicon.ttf](https://microsoft.github.io/vscode-codicons/dist/codicon.ttf)
|
||||
* [codicon.css](https://github.com/microsoft/vscode-codicons/blob/main/dist/codicon.css)
|
||||
* [codicon.ttf](https://github.com/microsoft/vscode-codicons/blob/main/dist/codicon.ttf)
|
||||
|
||||
### Lucide [ LC ]
|
||||
* [lucide.dev](https://lucide.dev)
|
||||
* [github.com/lucide-icons/lucide](https://github.com/lucide-icons/lucide)
|
||||
* [lucide.css](https://unpkg.com/lucide-static@latest/font/lucide.css)
|
||||
* [lucide.ttf](https://unpkg.com/lucide-static@latest/font/lucide.ttf)
|
||||
|
||||
### Ionicons
|
||||
### Ionicons and webfont Material Design Icons
|
||||
* Unsupported as of 29 Apr 2020. See [Issue #16](https://github.com/juliettef/IconFontCppHeaders/issues/16).
|
||||
|
||||
### Notes about Font Awesome 5 and 6
|
||||
#### Codepoints grouping
|
||||
Font Awesome 5 and 6 split the different styles of icons into different font files with identical codepoints for *light*, *regular* and *solid* styles, and a different set of codepoints for *brands*. We have put the brands into a separate header file.
|
||||
#### Generating Pro header files (Font Awesome 5)
|
||||
Download the Font Awesome Pro Web package from [fontawesome.com](https://fontawesome.com). To generate the headers, drop `icons.yml` in the same directory as `GenerateIconFontCppHeaders.py` before running the script. The file `icons.yml` is under `..\fontawesome-pro-n.n.n-web\metadata\icons.yml` where `n.n.n` is the version number.
|
||||
Download the Font Awesome Pro Web package from [fontawesome.com](https://fontawesome.com). To generate the headers, drop *icons.yml* in the same directory as *GenerateIconFontCppHeaders.py* before running the script. The file *icons.yml* is under *..\fontawesome-pro-n.n.n-web\metadata\icons.yml* where *n.n.n* is the version number.
|
||||
|
||||
Icon files:
|
||||
|
||||
* `..\fontawesome-pro-n.n.n-web\metadata\icons.yml`
|
||||
* `..\fontawesome-pro-n.n.n-web\webfonts\fa-brands-400.ttf`
|
||||
* `..\fontawesome-pro-n.n.n-web\webfonts\fa-light-300.ttf`
|
||||
* `..\fontawesome-pro-n.n.n-web\webfonts\fa-regular-400.ttf`
|
||||
* `..\fontawesome-pro-n.n.n-web\webfonts\fa-solid-900.ttf`
|
||||
* ..\fontawesome-pro-n.n.n-web\metadata\icons.yml
|
||||
* ..\fontawesome-pro-n.n.n-web\webfonts\fa-brands-400.ttf
|
||||
* ..\fontawesome-pro-n.n.n-web\webfonts\fa-light-300.ttf
|
||||
* ..\fontawesome-pro-n.n.n-web\webfonts\fa-regular-400.ttf
|
||||
* ..\fontawesome-pro-n.n.n-web\webfonts\fa-solid-900.ttf
|
||||
|
||||
|
||||
## Example Code
|
||||
|
@ -184,25 +163,12 @@ Transistor level 6502 Hardware Simulation
|
|||
[floooh.github.io/visual6502remix](https://floooh.github.io/visual6502remix)
|
||||
[github.com/floooh/v6502r](https://github.com/floooh/v6502r)
|
||||
|
||||
### Games
|
||||
- [Avatar: Frontiers of Pandora](https://www.mobygames.com/game/213552/avatar-frontiers-of-pandora/)
|
||||
- [Avoyd](https://www.avoyd.com)
|
||||
- [Wonder Boy: The Dragon's Trap](https://www.mobygames.com/game/87084/wonder-boy-the-dragons-trap/)
|
||||
|
||||
## Related Tools
|
||||
|
||||
### ImGuiFontStudio
|
||||
Create font subsets
|
||||
[github.com/aiekick/ImGuiFontStudio](https://github.com/aiekick/ImGuiFontStudio)
|
||||
|
||||
## Contributing
|
||||
|
||||
Thanks to everyone who has contributed to IconFontCppHeaders so far. In order to make things easier please bear in mind the following:
|
||||
- I regularly update the repository. If you urgently need an update and can't run the generator yourself, raise an issue specifying the icon set(s) you need updated.
|
||||
- Don't submit PRs for updating the defines (the output of the generator).
|
||||
- Before submitting a PR, please raise an issue describing the problem or the enhancement you suggest. If you're able, propose an implementation.
|
||||
- If you use IconFontCppHeaders and would like your project to be featured on this page, raise an issue or email me at juliette@enkisoftware.com.
|
||||
|
||||
## Credits
|
||||
|
||||
Development - [Juliette Foucaut](http://www.enkisoftware.com/about.html#juliette) - [@juliettef](https://github.com/juliettef)
|
||||
|
@ -220,5 +186,3 @@ Python language implementation - Hang Yu - [@yhyu13](https://github.com/yhyu13)
|
|||
Go language implementation - Matt Pharr - [@mpp](https://github.com/mmp)
|
||||
Codicons implementation - Robert Ryan - [@rtryan98](https://github.com/rtryan98)
|
||||
Rust language implementation - Gaeel Bradshaw-Rodriguez - [@Bradshaw](https://github.com/Bradshaw)
|
||||
Pictogrammers Material Design icons implementation - Bobby Anguelov - [@BobbyAnguelov](https://github.com/BobbyAnguelov)
|
||||
Lucide icons implementation - Lucide Contributors - [@lucide-icons](https://github.com/lucide-icons/lucide#credits)
|
|
@ -156,7 +156,7 @@ void RendererBackend::LoopFunction() {
|
|||
SDL_SetRenderDrawColor(rend, (Uint8)(clear_color.x * clear_color.w * 255), (Uint8)(clear_color.y * clear_color.w * 255), (Uint8)(clear_color.z * clear_color.w * 255), (Uint8)(clear_color.w * 255));
|
||||
SDL_RenderClear(rend);
|
||||
// Tell ImGui to render.
|
||||
ImGui_ImplSDLRenderer2_RenderDrawData(ImGui::GetDrawData(), rend);
|
||||
ImGui_ImplSDLRenderer2_RenderDrawData(ImGui::GetDrawData());
|
||||
|
||||
|
||||
// Swap the buffers, and do VSync if enabled.
|
||||
|
|
|
@ -58,7 +58,7 @@ class RendererBackend {
|
|||
void SetWindowSize(int w, int h);
|
||||
void GetWindowsize(int *w, int *h);
|
||||
RendererBackend();
|
||||
virtual ~RendererBackend();
|
||||
~RendererBackend();
|
||||
friend void main_loop();
|
||||
friend void backend_init(void *userdata);
|
||||
};
|
||||
};
|
|
@ -6,15 +6,16 @@ static unsigned int DecodeBase85Byte(char c) {
|
|||
}
|
||||
vector<unsigned char> DecodeBase85(const char *src) {
|
||||
vector<unsigned char> dst_vec;
|
||||
dst_vec.resize(((strlen(src) + 4) / 5) * 4);
|
||||
dst_vec.reserve((strlen(src) / 5) * 4);
|
||||
unsigned char *dst = dst_vec.data();
|
||||
size_t dst_size = 0;
|
||||
while (*src)
|
||||
{
|
||||
dst_vec.resize(dst_size);
|
||||
unsigned int tmp = DecodeBase85Byte(src[0]) + 85 * (DecodeBase85Byte(src[1]) + 85 * (DecodeBase85Byte(src[2]) + 85 * (DecodeBase85Byte(src[3]) + 85 * DecodeBase85Byte(src[4]))));
|
||||
dst[0] = ((tmp >> 0) & 0xFF); dst[1] = ((tmp >> 8) & 0xFF); dst[2] = ((tmp >> 16) & 0xFF); dst[3] = ((tmp >> 24) & 0xFF); // We can't assume little-endianness.
|
||||
src += 5;
|
||||
dst += 4;
|
||||
dst = dst_vec.data() + dst_size;
|
||||
dst_size += 4;
|
||||
}
|
||||
dst_vec.resize(dst_size);
|
|
@ -1,2 +1,10 @@
|
|||
#pragma once
|
||||
#include "../../../base85.h"
|
||||
#include <vector>
|
||||
#include <cstring>
|
||||
#include <string>
|
||||
// Modified from Dear ImGui
|
||||
std::vector<unsigned char> DecodeBase85(const char *src);
|
||||
// May not be needed now, but could be useful in the future.
|
||||
static inline std::vector<unsigned char> DecodeBase85(const std::string src) {
|
||||
return DecodeBase85(src.c_str());
|
||||
}
|
|
@ -1 +1 @@
|
|||
Subproject commit bc77cccd311da97e1f9af67899cb707edaf9c830
|
||||
Subproject commit 1db579d458da29fa43376af9d88d486910d9406a
|
|
@ -152,7 +152,7 @@ void MainLoop::GuiFunction() {
|
|||
FileLoaded();
|
||||
}
|
||||
bool lengthKnown = length > 0.0;
|
||||
auto dockid = ImGui::DockSpaceOverViewport(0, nullptr, ImGuiDockNodeFlags_PassthruCentralNode|ImGuiDockNodeFlags_AutoHideTabBar);
|
||||
auto dockid = ImGui::DockSpaceOverViewport(nullptr, ImGuiDockNodeFlags_PassthruCentralNode|ImGuiDockNodeFlags_AutoHideTabBar);
|
||||
// 1. Show the big demo window (Most of the sample code is in ImGui::ShowDemoWindow()! You can browse its code to learn more about Dear ImGui!).
|
||||
if (show_demo_window)
|
||||
ImGui::ShowDemoWindow(&show_demo_window);
|
||||
|
|
10
base85.h
10
base85.h
|
@ -1,10 +0,0 @@
|
|||
#pragma once
|
||||
#include <vector>
|
||||
#include <cstring>
|
||||
#include <string>
|
||||
// Modified from Dear ImGui
|
||||
std::vector<unsigned char> DecodeBase85(const char *src);
|
||||
// May not be needed now, but could be useful in the future.
|
||||
static inline std::vector<unsigned char> DecodeBase85(const std::string src) {
|
||||
return DecodeBase85(src.c_str());
|
||||
}
|
|
@ -1,122 +0,0 @@
|
|||
#!/usr/bin/env python3
|
||||
import os
|
||||
import sys
|
||||
from os import path
|
||||
from sys import argv
|
||||
import urllib
|
||||
from subprocess import call, check_output
|
||||
import shutil
|
||||
import pathlib
|
||||
from urllib import request
|
||||
from urllib.request import urlretrieve
|
||||
import lddwrap
|
||||
import argparse
|
||||
from resolve_library import resolve as resolve_library
|
||||
basedir = path.realpath(path.dirname(__file__))
|
||||
def download_always(url: str, filename: str) -> None:
|
||||
urlretrieve(url, filename)
|
||||
def download_if_not_found(url: str, filename: str) -> None:
|
||||
if path.exists(filename):
|
||||
return
|
||||
download_always(url, filename)
|
||||
def download_appimagetool():
|
||||
url = "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
|
||||
filename = "appimagetool"
|
||||
download_if_not_found(url, filename)
|
||||
def build(*args: list[str]):
|
||||
call(args=["./build.sh", *args])
|
||||
def remove_recursive(inpath: str):
|
||||
print("remove_recursive(%s)" % inpath)
|
||||
if path.isdir(inpath) and not path.islink(inpath):
|
||||
for inner in os.listdir(inpath):
|
||||
remove_recursive(path.join(inpath, inner))
|
||||
print("os.removedirs(%s)" % inpath)
|
||||
os.removedirs(inpath)
|
||||
elif path.islink(inpath):
|
||||
print("os.unlink(%s)" % inpath)
|
||||
os.unlink(inpath)
|
||||
else:
|
||||
print("os.remove(%s)" % inpath)
|
||||
os.remove(inpath)
|
||||
def force_link(src: str, dst: str):
|
||||
if path.exists(dst):
|
||||
remove_recursive(dst)
|
||||
os.symlink(src, dst)
|
||||
def force_copy(src: str, dst: str):
|
||||
print("force_copy(%s, %s)" % (src, dst))
|
||||
if path.exists(dst) and path.isdir(dst):
|
||||
dst = path.join(dst, path.basename(src))
|
||||
if path.exists(dst):
|
||||
remove_recursive(dst)
|
||||
shutil.copy(src, dst)
|
||||
def copy_libraries(libpath: str, previous: list[str] = []):
|
||||
print("Getting libraries for '%s'..." % libpath)
|
||||
for lib in lddwrap.list_dependencies(pathlib.Path(libpath)):
|
||||
if str(lib.path) in previous:
|
||||
continue
|
||||
print(" - Library %s" % lib.soname, end="")
|
||||
if lib.path == None:
|
||||
print("")
|
||||
continue
|
||||
print(" (%s)" % lib.path)
|
||||
inpaths = resolve_library(str(lib.path))
|
||||
for inpath in inpaths:
|
||||
outpath = path.join("AppDir/lib", path.basename(inpath))
|
||||
force_copy(inpath, outpath)
|
||||
previous.append(str(lib.path))
|
||||
copy_libraries(str(lib.path), previous)
|
||||
def overwrite_file(dst: str, contents: str):
|
||||
if path.exists(dst):
|
||||
remove_recursive(dst)
|
||||
with open(dst, "wt+") as f:
|
||||
f.write(contents)
|
||||
def main() -> None:
|
||||
P = argparse.ArgumentParser()
|
||||
P.add_argument("-j", "--parallel", action=argparse._StoreAction, default=0, type=int, help="Specifies the number of jobs to use. Set to 1 to disable parallelism", dest="parallel")
|
||||
P.add_argument("-D", "--define", default=[], action=argparse._AppendAction, help="Defines a CMake variable", dest="cmake_vars")
|
||||
p = P.parse_args(argv[1:])
|
||||
old_dir = os.curdir
|
||||
os.chdir(basedir)
|
||||
os.chdir("build")
|
||||
args=["cmake", ".."]
|
||||
for definition in p.cmake_vars:
|
||||
args.append("-D%s" % definition)
|
||||
ret = call(args);
|
||||
if ret != 0:
|
||||
exit(ret)
|
||||
parallel = p.parallel
|
||||
if parallel == 0:
|
||||
parallel = os.cpu_count()
|
||||
args=["cmake", "--build", ".", "-j%d" % parallel]
|
||||
ret = call(args)
|
||||
if ret != 0:
|
||||
exit(ret)
|
||||
download_appimagetool()
|
||||
os.makedirs("AppDir", exist_ok=True)
|
||||
for dir in ["bin", "lib", "share"]:
|
||||
os.makedirs(path.join("AppDir", dir), exist_ok=True)
|
||||
force_link(".", "AppDir/usr")
|
||||
force_link(".", "AppDir/local")
|
||||
force_link("lib", "AppDir/lib64")
|
||||
force_copy("looper", "AppDir/bin")
|
||||
copy_libraries("looper")
|
||||
force_copy(path.join(basedir, "assets/com.complecwaft.Looper.desktop"), "AppDir")
|
||||
force_copy(path.join(basedir, "assets/icon.svg"), "AppDir/looper.svg")
|
||||
force_copy(path.join(basedir, "assets/icon.png"), "AppDir/looper.png")
|
||||
overwrite_file("AppDir/AppRun", """#!/bin/bash
|
||||
export LD_LIBRARY_PATH="$APPDIR/lib"
|
||||
if [ "$1" = "--gdb" ]; then
|
||||
shift
|
||||
exec gdb --args "$APPDIR/usr/bin/looper" "$@"
|
||||
else
|
||||
exec "$APPDIR/usr/bin/looper" "$@"
|
||||
fi""")
|
||||
os.chmod("AppDir/AppRun", 0o777)
|
||||
|
||||
arch = check_output(["uname", "-m"])
|
||||
print("Architecture: %s" % arch.decode())
|
||||
os.environ["ARCH"] = arch.decode().removesuffix("\n")
|
||||
call(args=["./appimagetool", "AppDir", "Looper.AppImage"])
|
||||
os.chdir(old_dir)
|
||||
if __name__ == "__main__":
|
||||
main()
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "$(dirname "$0")"
|
||||
. venv/bin/activate
|
||||
./build-appimage.py "$@"
|
||||
popd
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue