diff --git a/.clang-format b/.clang-format index 5bd9bee7..92fd5756 100644 --- a/.clang-format +++ b/.clang-format @@ -1,31 +1,21 @@ --- -BasedOnStyle: Microsoft ---- -Language: Cpp - +BasedOnStyle: LLVM AccessModifierOffset: -4 -AlwaysBreakTemplateDeclarations: Yes +AlignAfterOpenBracket: AlwaysBreak +AlignEscapedNewlines: Left +AlignOperands: true +AllowShortCaseLabelsOnASingleLine: true +AllowShortFunctionsOnASingleLine: InlineOnly +AllowShortLambdasOnASingleLine: Inline +BraceWrapping: + AfterCaseLabel: true + IndentBraces: true +BreakBeforeBraces: Allman BreakConstructorInitializers: BeforeComma -BreakInheritanceList: BeforeComma -KeepEmptyLinesAtTheStartOfBlocks: false -NamespaceIndentation: Inner +ColumnLimit: 180 +IndentWidth: 4 +PenaltyBreakFirstLessLess: 180 PointerAlignment: Left -SpaceAfterTemplateKeyword: false - -BreakBeforeBraces: Custom -BraceWrapping: - AfterCaseLabel: true - AfterClass: true - AfterControlStatement: Always - AfterEnum: true - AfterFunction: true - AfterNamespace: true - AfterStruct: true - AfterUnion: true - AfterExternBlock: true - BeforeCatch: true - BeforeElse: true - IndentBraces: false - SplitEmptyFunction: true - SplitEmptyRecord: true - SplitEmptyNamespace: true +SortIncludes: Never +SpaceBeforeParensOptions: + AfterControlStatements: false \ No newline at end of file diff --git a/clang_format.py b/clang_format.py new file mode 100644 index 00000000..080feeb4 --- /dev/null +++ b/clang_format.py @@ -0,0 +1,35 @@ +import os +import time +import subprocess + +def format_cpp_file(file_path, clang_format_path): + # Run clang-format on the file to format it + subprocess.run(["clang-format", "-i", file_path, "-style=file:" + clang_format_path, "-fallback-style=none"]) + +def recursive_directory_iteration(directory, clang_format_path): + # Iterate over all of the files in the directory + for filename in os.listdir(directory): + # Get the full path of the file + file_path = os.path.join(directory, filename) + + # If the file is a directory, recursively iterate over it + if os.path.isdir(file_path): + recursive_directory_iteration(file_path, clang_format_path) + # If the file is a cpp file, format it + elif file_path.endswith(".cpp") or file_path.endswith(".h") or file_path.endswith(".hpp"): + format_cpp_file(file_path, clang_format_path) + +print("Formatting C++ files...") + +path = os.getcwd() + "\\.clang-format" +if not os.path.exists(path): + print("Could not find clang format config at " + path) + exit() + +print("Found clang format config at " + path) + +start_time = time.time() +# Start the recursive iteration from the current directory +recursive_directory_iteration(os.getcwd() + "/src", path) + +print("Done formatting C++ files after " + str(time.time() - start_time) + " seconds") \ No newline at end of file diff --git a/src/CET.cpp b/src/CET.cpp index 7156cf57..20b9b65a 100644 --- a/src/CET.cpp +++ b/src/CET.cpp @@ -5,7 +5,7 @@ using namespace std::chrono_literals; -static std::unique_ptr s_pInstance{ nullptr }; +static std::unique_ptr s_pInstance{nullptr}; static bool s_isRunning{true}; void CET::Initialize() diff --git a/src/CET.h b/src/CET.h index 8d875414..adcae844 100644 --- a/src/CET.h +++ b/src/CET.h @@ -28,7 +28,6 @@ struct CET static bool IsRunning() noexcept; private: - CET(); Paths m_paths; diff --git a/src/Image.cpp b/src/Image.cpp index 4bf3a04d..9762ffdf 100644 --- a/src/Image.cpp +++ b/src/Image.cpp @@ -4,10 +4,10 @@ struct PdbInfo { - DWORD Signature; - BYTE Guid[16]; - DWORD Age; - char PdbFileName[1]; + DWORD Signature; + BYTE Guid[16]; + DWORD Age; + char PdbFileName[1]; }; struct ImageVersion @@ -37,8 +37,7 @@ void Image::Initialize() {{0xB0, 0x99, 0x3F, 0x8E, 0xB2, 0x57, 0x46, 0x41, 0xA3, 0x77, 0x3B, 0x98, 0x97, 0x15, 0xC4, 0xBB}, MakeVersion(1, 52)}, {{0x69, 0x41, 0x44, 0x27, 0xDB, 0x02, 0x65, 0x4B, 0xA5, 0x7F, 0x5B, 0x1C, 0xD6, 0x79, 0x94, 0x32}, MakeVersion(1, 52)}, // Exclusive steam patch {{0x4E, 0xE9, 0x22, 0x2A, 0x9D, 0xB5, 0xC6, 0x40, 0xA7, 0xD4, 0xAB, 0x3B, 0xCA, 0x7C, 0x30, 0x06}, MakeVersion(1, 60)}, - {{0x75, 0xF0, 0x99, 0xC1, 0x83, 0x84, 0xF9, 0x43, 0x95, 0x00, 0x4E, 0x7D, 0x93, 0x73, 0x84, 0xDF}, MakeVersion(1, 61)} - }; + {{0x75, 0xF0, 0x99, 0xC1, 0x83, 0x84, 0xF9, 0x43, 0x95, 0x00, 0x4E, 0x7D, 0x93, 0x73, 0x84, 0xDF}, MakeVersion(1, 61)}}; mem::module mainModule = mem::module::main(); diff --git a/src/Image.h b/src/Image.h index dbbf50d0..7ab8bbe0 100644 --- a/src/Image.h +++ b/src/Image.h @@ -4,15 +4,9 @@ struct Image { void Initialize(); - static std::tuple GetSupportedVersion() noexcept - { - return std::make_tuple(1, 61); - } + static std::tuple GetSupportedVersion() noexcept { return std::make_tuple(1, 61); } - static uint64_t MakeVersion(const uint32_t acMajor, const uint16_t acMinor) noexcept - { - return static_cast(acMajor) << 32 | static_cast(acMinor) << 16; - } + static uint64_t MakeVersion(const uint32_t acMajor, const uint16_t acMinor) noexcept { return static_cast(acMajor) << 32 | static_cast(acMinor) << 16; } [[nodiscard]] std::tuple GetVersion() const noexcept { diff --git a/src/Options.cpp b/src/Options.cpp index 950f7181..d0a7f0c1 100644 --- a/src/Options.cpp +++ b/src/Options.cpp @@ -20,16 +20,16 @@ void PatchesSettings::Load(const nlohmann::json& aConfig) nlohmann::json PatchesSettings::Save() const { return { - {"remove_pedestrians", RemovePedestrians}, - {"disable_async_compute", AsyncCompute}, - {"disable_antialiasing", Antialiasing}, - {"skip_start_menu", SkipStartMenu}, - {"amd_smt", AmdSmt}, - {"disable_intro_movies", DisableIntroMovies}, - {"disable_vignette", DisableVignette}, - {"disable_boundary_teleport", DisableBoundaryTeleport}, - {"disable_win7_vsync", DisableWin7Vsync}, - {"minimap_flicker", MinimapFlicker}, + {"remove_pedestrians", RemovePedestrians}, + {"disable_async_compute", AsyncCompute}, + {"disable_antialiasing", Antialiasing}, + {"skip_start_menu", SkipStartMenu}, + {"amd_smt", AmdSmt}, + {"disable_intro_movies", DisableIntroMovies}, + {"disable_vignette", DisableVignette}, + {"disable_boundary_teleport", DisableBoundaryTeleport}, + {"disable_win7_vsync", DisableWin7Vsync}, + {"minimap_flicker", MinimapFlicker}, }; } @@ -49,13 +49,7 @@ void FontSettings::Load(const nlohmann::json& aConfig) nlohmann::json FontSettings::Save() const { - return { - {"path", Path}, - {"language", Language}, - {"base_size", BaseSize}, - {"oversample_horizontal", OversampleHorizontal}, - {"oversample_vertical", OversampleVertical} - }; + return {{"path", Path}, {"language", Language}, {"base_size", BaseSize}, {"oversample_horizontal", OversampleHorizontal}, {"oversample_vertical", OversampleVertical}}; } void FontSettings::ResetToDefaults() @@ -81,14 +75,8 @@ nlohmann::json DeveloperSettings::Save() const // set global "Enable ImGui Assertions" g_ImGuiAssertionsEnabled = EnableImGuiAssertions; - return { - {"remove_dead_bindings", RemoveDeadBindings}, - {"enable_imgui_assertions", EnableImGuiAssertions}, - {"enable_debug", EnableDebug}, - {"dump_game_options", DumpGameOptions}, - {"max_lines_console_history", MaxLinesConsoleHistory}, - {"persistent_console", PersistentConsole} - }; + return {{"remove_dead_bindings", RemoveDeadBindings}, {"enable_imgui_assertions", EnableImGuiAssertions}, {"enable_debug", EnableDebug}, + {"dump_game_options", DumpGameOptions}, {"max_lines_console_history", MaxLinesConsoleHistory}, {"persistent_console", PersistentConsole}}; } void DeveloperSettings::ResetToDefaults() @@ -106,7 +94,7 @@ void Options::Load() return; std::ifstream configFile(path); - if(!configFile) + if (!configFile) return; auto config = nlohmann::json::parse(configFile); @@ -129,11 +117,7 @@ void Options::Load() void Options::Save() const { - nlohmann::json config = { - {"patches", Patches.Save()}, - {"font", Font.Save()}, - {"developer", Developer.Save()} - }; + nlohmann::json config = {{"patches", Patches.Save()}, {"font", Font.Save()}, {"developer", Developer.Save()}}; const auto path = GetAbsolutePath(m_paths.Config(), "", true); std::ofstream o(path); @@ -154,27 +138,27 @@ Options::Options(Paths& aPaths) { const auto* exePathStr = aPaths.Executable().native().c_str(); const auto verInfoSz = GetFileVersionInfoSize(exePathStr, nullptr); - if(verInfoSz) + if (verInfoSz) { const auto verInfo = std::make_unique(verInfoSz); - if(GetFileVersionInfo(exePathStr, 0, verInfoSz, verInfo.get())) + if (GetFileVersionInfo(exePathStr, 0, verInfoSz, verInfo.get())) { struct { WORD Language; WORD CodePage; - } *pTranslations; + }* pTranslations; UINT transBytes = 0; - if(VerQueryValue(verInfo.get(), _T("\\VarFileInfo\\Translation"), reinterpret_cast(&pTranslations), &transBytes)) + if (VerQueryValue(verInfo.get(), _T("\\VarFileInfo\\Translation"), reinterpret_cast(&pTranslations), &transBytes)) { UINT dummy; TCHAR* productName = nullptr; TCHAR subBlock[64]; - for(UINT i = 0; i < (transBytes / sizeof(*pTranslations)); i++) + for (UINT i = 0; i < (transBytes / sizeof(*pTranslations)); i++) { _stprintf(subBlock, _T("\\StringFileInfo\\%04x%04x\\ProductName"), pTranslations[i].Language, pTranslations[i].CodePage); - if(VerQueryValue(verInfo.get(), subBlock, reinterpret_cast(&productName), &dummy)) + if (VerQueryValue(verInfo.get(), subBlock, reinterpret_cast(&productName), &dummy)) if (_tcscmp(productName, _T("Cyberpunk 2077")) == 0) { ExeValid = true; @@ -211,7 +195,6 @@ Options::Options(Paths& aPaths) Log::Error("Unsupported game version! Only {}.{:02d} is supported.", smajor, sminor); throw std::runtime_error("Unsupported version"); } - } else { diff --git a/src/Options.h b/src/Options.h index 4aa98b22..1f1664be 100644 --- a/src/Options.h +++ b/src/Options.h @@ -12,16 +12,16 @@ struct PatchesSettings [[nodiscard]] auto operator<=>(const PatchesSettings&) const = default; - bool RemovePedestrians{ false }; - bool AsyncCompute{ false }; - bool Antialiasing{ false }; - bool SkipStartMenu{ false }; - bool AmdSmt{ false }; - bool DisableIntroMovies{ false }; - bool DisableVignette{ false }; - bool DisableBoundaryTeleport{ false }; - bool DisableWin7Vsync{ false }; - bool MinimapFlicker{ false }; + bool RemovePedestrians{false}; + bool AsyncCompute{false}; + bool Antialiasing{false}; + bool SkipStartMenu{false}; + bool AmdSmt{false}; + bool DisableIntroMovies{false}; + bool DisableVignette{false}; + bool DisableBoundaryTeleport{false}; + bool DisableWin7Vsync{false}; + bool MinimapFlicker{false}; }; struct FontSettings @@ -32,11 +32,11 @@ struct FontSettings [[nodiscard]] auto operator<=>(const FontSettings&) const = default; - std::string Path{ }; + std::string Path{}; std::string Language{"Default"}; - float BaseSize{ 18.0f }; - int32_t OversampleHorizontal{ 3 }; - int32_t OversampleVertical{ 1 }; + float BaseSize{18.0f}; + int32_t OversampleHorizontal{3}; + int32_t OversampleVertical{1}; }; struct DeveloperSettings @@ -47,12 +47,12 @@ struct DeveloperSettings [[nodiscard]] auto operator<=>(const DeveloperSettings&) const = default; - bool RemoveDeadBindings{ true }; - bool EnableImGuiAssertions{ false }; - bool EnableDebug{ false }; - bool DumpGameOptions{ false }; - uint64_t MaxLinesConsoleHistory{ 1000 }; - bool PersistentConsole{ true }; + bool RemoveDeadBindings{true}; + bool EnableImGuiAssertions{false}; + bool EnableDebug{false}; + bool DumpGameOptions{false}; + uint64_t MaxLinesConsoleHistory{1000}; + bool PersistentConsole{true}; }; struct Options @@ -65,13 +65,12 @@ struct Options void ResetToDefaults(); Image GameImage; - bool ExeValid{ false }; + bool ExeValid{false}; - PatchesSettings Patches{ }; - FontSettings Font{ }; - DeveloperSettings Developer{ }; + PatchesSettings Patches{}; + FontSettings Font{}; + DeveloperSettings Developer{}; private: - Paths& m_paths; }; diff --git a/src/Paths.cpp b/src/Paths.cpp index 105db889..0e76ef9b 100644 --- a/src/Paths.cpp +++ b/src/Paths.cpp @@ -52,7 +52,7 @@ const std::filesystem::path& Paths::TweakDB() const Paths::Paths() { - TCHAR exePathBuf[MAX_PATH] = { 0 }; + TCHAR exePathBuf[MAX_PATH] = {0}; GetModuleFileName(GetModuleHandle(nullptr), exePathBuf, static_cast(std::size(exePathBuf))); m_exe = exePathBuf; diff --git a/src/Paths.h b/src/Paths.h index a16eae77..f4c9b384 100644 --- a/src/Paths.h +++ b/src/Paths.h @@ -16,7 +16,6 @@ struct Paths const std::filesystem::path& TweakDB() const; private: - friend struct CET; Paths(); diff --git a/src/PersistentState.cpp b/src/PersistentState.cpp index 5d90a9c2..663da996 100644 --- a/src/PersistentState.cpp +++ b/src/PersistentState.cpp @@ -15,14 +15,8 @@ void OverlayPersistentState::Load(const nlohmann::json& aConfig) nlohmann::json OverlayPersistentState::Save() const { - return { - {"console_toggled", ConsoleToggled}, - {"bindings_toggled", BindingsToggled}, - {"settings_toggled", SettingsToggled}, - {"tweakdbeditor_toggled", TweakDBEditorToggled}, - {"gamelog_toggled", GameLogToggled}, - {"imguidebug_toggled", ImGuiDebugToggled} - }; + return {{"console_toggled", ConsoleToggled}, {"bindings_toggled", BindingsToggled}, {"settings_toggled", SettingsToggled}, {"tweakdbeditor_toggled", TweakDBEditorToggled}, + {"gamelog_toggled", GameLogToggled}, {"imguidebug_toggled", ImGuiDebugToggled}}; } void ConsolePersistentState::Load(Options& aOptions, const nlohmann::json& aConfig) @@ -35,9 +29,7 @@ void ConsolePersistentState::Load(Options& aOptions, const nlohmann::json& aConf nlohmann::json ConsolePersistentState::Save() const { - return { - {"history", History} - }; + return {{"history", History}}; } void PersistentState::Load() @@ -47,7 +39,7 @@ void PersistentState::Load() return; std::ifstream configFile(path); - if(!configFile) + if (!configFile) return; auto state = nlohmann::json::parse(configFile); @@ -66,9 +58,7 @@ void PersistentState::Load() void PersistentState::Save() const { - nlohmann::json state = { - {"overlay", Overlay.Save()} - }; + nlohmann::json state = {{"overlay", Overlay.Save()}}; if (m_options.Developer.PersistentConsole) state["console"] = Console.Save(); @@ -85,5 +75,10 @@ PersistentState::PersistentState(Paths& aPaths, Options& aOptions) Load(); Save(); - GameMainThread::Get().AddShutdownTask([this]{ Save(); return true; }); + GameMainThread::Get().AddShutdownTask( + [this] + { + Save(); + return true; + }); } diff --git a/src/PersistentState.h b/src/PersistentState.h index 2980eb18..9206bba3 100644 --- a/src/PersistentState.h +++ b/src/PersistentState.h @@ -36,11 +36,10 @@ struct PersistentState void Load(); void Save() const; - OverlayPersistentState Overlay{ }; - ConsolePersistentState Console{ }; + OverlayPersistentState Overlay{}; + ConsolePersistentState Console{}; private: - Paths& m_paths; Options& m_options; }; diff --git a/src/Utils.cpp b/src/Utils.cpp index 86f39025..423243c7 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -48,8 +48,7 @@ std::wstring UTF8ToUTF16(std::string_view utf8) return utf16; } -template -class CustomSink final : public spdlog::sinks::base_sink +template class CustomSink final : public spdlog::sinks::base_sink { public: CustomSink(const std::function& acpSinkItHandler, const std::function& acpFlushHandler) @@ -81,28 +80,24 @@ class CustomSink final : public spdlog::sinks::base_sink std::function m_flushHandler{nullptr}; }; -template -spdlog::sink_ptr CreateCustomSink(const std::function& acpSinkItHandler, - const std::function& acpFlushHandler) +template spdlog::sink_ptr CreateCustomSink(const std::function& acpSinkItHandler, const std::function& acpFlushHandler) { return std::make_shared>(acpSinkItHandler, acpFlushHandler); } -spdlog::sink_ptr CreateCustomSinkST(const std::function& acpSinkItHandler, - const std::function& acpFlushHandler) +spdlog::sink_ptr CreateCustomSinkST(const std::function& acpSinkItHandler, const std::function& acpFlushHandler) { return CreateCustomSink(acpSinkItHandler, acpFlushHandler); } -spdlog::sink_ptr CreateCustomSinkMT(const std::function& acpSinkItHandler, - const std::function& acpFlushHandler) +spdlog::sink_ptr CreateCustomSinkMT(const std::function& acpSinkItHandler, const std::function& acpFlushHandler) { return CreateCustomSink(acpSinkItHandler, acpFlushHandler); } -std::shared_ptr CreateLogger(const std::filesystem::path& acpPath, const std::string& acpID, - const spdlog::sink_ptr& acpExtraSink, const std::string& acpPattern, - const size_t acMaxFileSize, const size_t acMaxFileCount) +std::shared_ptr CreateLogger( + const std::filesystem::path& acpPath, const std::string& acpID, const spdlog::sink_ptr& acpExtraSink, const std::string& acpPattern, const size_t acMaxFileSize, + const size_t acMaxFileCount) { if (auto existingLogger = spdlog::get(acpID)) return existingLogger; @@ -160,10 +155,14 @@ void MakeSolUsertypeImmutable(const sol::object& acpObj, const sol::state_view& } // prevent adding new properties - metatable[sol::meta_function::new_index] = [] {}; + metatable[sol::meta_function::new_index] = [] { + }; // prevent overriding metatable - metatable[sol::meta_function::metatable] = [] { return sol::nil; }; + metatable[sol::meta_function::metatable] = [] + { + return sol::nil; + }; } // Check if Lua object is of cdata type @@ -186,7 +185,8 @@ float GetCenteredOffsetForText(const char* acpText) return (ImGui::GetContentRegionAvail().x - ImGui::CalcTextSize(acpText).x) / 2.0f; } -TChangedCBResult UnsavedChangesPopup(const std::string& acpOwnerName, bool& aFirstTime, const bool acMadeChanges, const TWidgetCB& acpSaveCB, const TWidgetCB& acpLoadCB, const TWidgetCB& acpCancelCB) +TChangedCBResult UnsavedChangesPopup( + const std::string& acpOwnerName, bool& aFirstTime, const bool acMadeChanges, const TWidgetCB& acpSaveCB, const TWidgetCB& acpLoadCB, const TWidgetCB& acpCancelCB) { auto popupTitle = acpOwnerName.empty() ? "Unsaved changes" : fmt::format("{} - Unsaved changes", acpOwnerName); @@ -202,9 +202,9 @@ TChangedCBResult UnsavedChangesPopup(const std::string& acpOwnerName, bool& aFir if (ImGui::BeginPopupModal(popupTitle.c_str(), nullptr, ImGuiWindowFlags_AlwaysAutoResize)) { - const auto shorterTextSz { ImGui::CalcTextSize("You have some unsaved changes.").x }; - const auto longerTextSz { ImGui::CalcTextSize("Do you wish to apply them or discard them?").x }; - const auto diffTextSz { longerTextSz - shorterTextSz }; + const auto shorterTextSz{ImGui::CalcTextSize("You have some unsaved changes.").x}; + const auto longerTextSz{ImGui::CalcTextSize("Do you wish to apply them or discard them?").x}; + const auto diffTextSz{longerTextSz - shorterTextSz}; ImGui::SetCursorPosX(diffTextSz / 2); ImGui::TextUnformatted("You have some unsaved changes."); @@ -269,7 +269,6 @@ std::filesystem::path GetAbsolutePath(std::filesystem::path aFilePath, const std aFilePath = absolute(aFilePath); } - if (is_symlink(aFilePath)) { if (acAllowSymlink) diff --git a/src/Utils.h b/src/Utils.h index 8bd13fea..8ceddc65 100644 --- a/src/Utils.h +++ b/src/Utils.h @@ -11,7 +11,9 @@ std::wstring UTF8ToUTF16(std::string_view utf8); spdlog::sink_ptr CreateCustomSinkST(const std::function& acpSinkItHandler, const std::function& acpFlushHandler = nullptr); spdlog::sink_ptr CreateCustomSinkMT(const std::function& acpSinkItHandler, const std::function& acpFlushHandler = nullptr); -std::shared_ptr CreateLogger(const std::filesystem::path& acpPath, const std::string& acpID, const spdlog::sink_ptr& acpExtraSink = nullptr, const std::string& acpPattern = "[%Y-%m-%d %H:%M:%S UTC%z] [%t] %v", const size_t acMaxFileSize = 5 * 1024 * 1024, const size_t acMaxFileCount = 3); +std::shared_ptr CreateLogger( + const std::filesystem::path& acpPath, const std::string& acpID, const spdlog::sink_ptr& acpExtraSink = nullptr, + const std::string& acpPattern = "[%Y-%m-%d %H:%M:%S UTC%z] [%t] %v", const size_t acMaxFileSize = 5 * 1024 * 1024, const size_t acMaxFileCount = 3); // deep copies sol object (doesnt take into account potential duplicates) sol::object DeepCopySolObject(const sol::object& acpObj, const sol::state_view& acpStateView); @@ -20,8 +22,7 @@ sol::object DeepCopySolObject(const sol::object& acpObj, const sol::state_view& void MakeSolUsertypeImmutable(const sol::object& acpObj, const sol::state_view& acpStateView); // Add unnamed function to the Lua registry -template -sol::function MakeSolFunction(sol::state& aState, F aFunc) +template sol::function MakeSolFunction(sol::state& aState, F aFunc) { // This is slightly better than wrapping lambdas in sol::object: // 1. When the lambda is wrapped in an object sol registers additional usertype for the lambda type. @@ -44,10 +45,13 @@ float GetAlignedItemWidth(const int64_t acItemsCount); float GetCenteredOffsetForText(const char* acpText); -TChangedCBResult UnsavedChangesPopup(const std::string& acpOwnerName, bool& aFirstTime, const bool acMadeChanges, const TWidgetCB& acpSaveCB, const TWidgetCB& acpLoadCB, const TWidgetCB& acpCancelCB = nullptr); +TChangedCBResult UnsavedChangesPopup( + const std::string& acpOwnerName, bool& aFirstTime, const bool acMadeChanges, const TWidgetCB& acpSaveCB, const TWidgetCB& acpLoadCB, const TWidgetCB& acpCancelCB = nullptr); -[[nodiscard]] std::filesystem::path GetAbsolutePath(const std::string& acFilePath, const std::filesystem::path& acRootPath, const bool acAllowNonExisting, const bool acAllowSymlink = true); -[[nodiscard]] std::filesystem::path GetAbsolutePath(std::filesystem::path aFilePath, const std::filesystem::path& acRootPath, const bool acAllowNonExisting, const bool acAllowSymlink = true); +[[nodiscard]] std::filesystem::path +GetAbsolutePath(const std::string& acFilePath, const std::filesystem::path& acRootPath, const bool acAllowNonExisting, const bool acAllowSymlink = true); +[[nodiscard]] std::filesystem::path +GetAbsolutePath(std::filesystem::path aFilePath, const std::filesystem::path& acRootPath, const bool acAllowNonExisting, const bool acAllowSymlink = true); [[nodiscard]] std::filesystem::path GetLuaPath(const std::string& acFilePath, const std::filesystem::path& acRootPath, const bool acAllowNonExisting); [[nodiscard]] std::filesystem::path GetLuaPath(std::filesystem::path aFilePath, const std::filesystem::path& acRootPath, const bool acAllowNonExisting); diff --git a/src/VKBindings.cpp b/src/VKBindings.cpp index ee621f7c..c6b13cc6 100644 --- a/src/VKBindings.cpp +++ b/src/VKBindings.cpp @@ -12,7 +12,10 @@ std::function VKBind::DelayedCall(const bool acIsDown) const } if (const auto* fn = std::get_if>(&Handler)) - return [cb = *fn, acIsDown]{ cb(acIsDown); }; + return [cb = *fn, acIsDown] + { + cb(acIsDown); + }; assert(acIsDown); // nullptr should ever return only for key down events, in case binding is a hotkey return nullptr; @@ -20,7 +23,7 @@ std::function VKBind::DelayedCall(const bool acIsDown) const void VKBind::Call(const bool acIsDown) const { - if (const auto fn { DelayedCall(acIsDown) }) + if (const auto fn{DelayedCall(acIsDown)}) fn(); } @@ -237,7 +240,8 @@ bool VKBindings::Bind(const uint64_t acVKCodeBind, const VKModBind& acVKModBind) if (FirstKeyMatches(bind->first, acVKCodeBind)) { // first char matches! lets check that both binds are hotkey in this case - const auto isHotkey = [vm = m_cpVm](const VKModBind& vkModBind) { + const auto isHotkey = [vm = m_cpVm](const VKModBind& vkModBind) + { if (!vm) { // this should never happen! @@ -349,7 +353,7 @@ std::string VKBindings::GetBindString(const VKModBind& acVKModBind) const uint64_t VKBindings::GetBindCodeForModBind(const VKModBind& acVKModBind, const bool acIncludeDead) const { assert(!acVKModBind.ModName.empty()); // we never really want acModName to be empty here... but leave some fallback for release! - assert(!acVKModBind.ID.empty()); // we never really want acID to be empty here... but leave some fallback for release! + assert(!acVKModBind.ID.empty()); // we never really want acID to be empty here... but leave some fallback for release! if (acVKModBind.ModName.empty() || acVKModBind.ID.empty()) return 0; @@ -453,124 +457,65 @@ const char* VKBindings::GetSpecialKeyName(const USHORT acVKCode) { switch (acVKCode) { - case VK_LBUTTON: - return "Mouse LB"; - case VK_RBUTTON: - return "Mouse RB"; - case VK_MBUTTON: - return "Mouse MB"; - case VK_XBUTTON1: - return "Mouse X1"; - case VK_XBUTTON2: - return "Mouse X2"; - case VK_BACK: - return "Backspace"; - case VK_TAB: - return "Tab"; - case VK_CLEAR: - return "Clear"; - case VK_RETURN: - return "Enter"; - case VK_SHIFT: - return "Shift"; - case VK_CONTROL: - return "Ctrl"; - case VK_MENU: - return "Alt"; - case VK_PAUSE: - return "Pause"; - case VK_CAPITAL: - return "Caps Lock"; - case VK_ESCAPE: - return "Esc"; - case VK_SPACE: - return "Space"; - case VK_PRIOR: - return "Page Up"; - case VK_NEXT: - return "Page Down"; - case VK_END: - return "End"; - case VK_HOME: - return "Home"; - case VK_LEFT: - return "Left Arrow"; - case VK_UP: - return "Up Arrow"; - case VK_RIGHT: - return "Right Arrow"; - case VK_DOWN: - return "Down Arrow"; - case VK_SELECT: - return "Select"; - case VK_PRINT: - return "Print"; - case VK_EXECUTE: - return "Execute"; - case VK_INSERT: - return "Insert"; - case VK_DELETE: - return "Delete"; - case VK_HELP: - return "Help"; - case VK_NUMPAD0: - return "Numpad 0"; - case VK_NUMPAD1: - return "Numpad 1"; - case VK_NUMPAD2: - return "Numpad 2"; - case VK_NUMPAD3: - return "Numpad 3"; - case VK_NUMPAD4: - return "Numpad 4"; - case VK_NUMPAD5: - return "Numpad 5"; - case VK_NUMPAD6: - return "Numpad 6"; - case VK_NUMPAD7: - return "Numpad 7"; - case VK_NUMPAD8: - return "Numpad 8"; - case VK_NUMPAD9: - return "Numpad 9"; - case VK_F1: - return "F1"; - case VK_F2: - return "F2"; - case VK_F3: - return "F3"; - case VK_F4: - return "F4"; - case VK_F5: - return "F5"; - case VK_F6: - return "F6"; - case VK_F7: - return "F7"; - case VK_F8: - return "F8"; - case VK_F9: - return "F9"; - case VK_F10: - return "F10"; - case VK_F11: - return "F11"; - case VK_F12: - return "F12"; - case VK_NUMLOCK: - return "Num Lock"; - case VK_SCROLL: - return "Scroll Lock"; - case VKBC_MWHEELUP: - return "Mouse Wheel Up"; - case VKBC_MWHEELDOWN: - return "Mouse Wheel Down"; - case VKBC_MWHEELLEFT: - return "Mouse Wheel Left"; - case VKBC_MWHEELRIGHT: - return "Mouse Wheel Right"; - default: - return nullptr; + case VK_LBUTTON: return "Mouse LB"; + case VK_RBUTTON: return "Mouse RB"; + case VK_MBUTTON: return "Mouse MB"; + case VK_XBUTTON1: return "Mouse X1"; + case VK_XBUTTON2: return "Mouse X2"; + case VK_BACK: return "Backspace"; + case VK_TAB: return "Tab"; + case VK_CLEAR: return "Clear"; + case VK_RETURN: return "Enter"; + case VK_SHIFT: return "Shift"; + case VK_CONTROL: return "Ctrl"; + case VK_MENU: return "Alt"; + case VK_PAUSE: return "Pause"; + case VK_CAPITAL: return "Caps Lock"; + case VK_ESCAPE: return "Esc"; + case VK_SPACE: return "Space"; + case VK_PRIOR: return "Page Up"; + case VK_NEXT: return "Page Down"; + case VK_END: return "End"; + case VK_HOME: return "Home"; + case VK_LEFT: return "Left Arrow"; + case VK_UP: return "Up Arrow"; + case VK_RIGHT: return "Right Arrow"; + case VK_DOWN: return "Down Arrow"; + case VK_SELECT: return "Select"; + case VK_PRINT: return "Print"; + case VK_EXECUTE: return "Execute"; + case VK_INSERT: return "Insert"; + case VK_DELETE: return "Delete"; + case VK_HELP: return "Help"; + case VK_NUMPAD0: return "Numpad 0"; + case VK_NUMPAD1: return "Numpad 1"; + case VK_NUMPAD2: return "Numpad 2"; + case VK_NUMPAD3: return "Numpad 3"; + case VK_NUMPAD4: return "Numpad 4"; + case VK_NUMPAD5: return "Numpad 5"; + case VK_NUMPAD6: return "Numpad 6"; + case VK_NUMPAD7: return "Numpad 7"; + case VK_NUMPAD8: return "Numpad 8"; + case VK_NUMPAD9: return "Numpad 9"; + case VK_F1: return "F1"; + case VK_F2: return "F2"; + case VK_F3: return "F3"; + case VK_F4: return "F4"; + case VK_F5: return "F5"; + case VK_F6: return "F6"; + case VK_F7: return "F7"; + case VK_F8: return "F8"; + case VK_F9: return "F9"; + case VK_F10: return "F10"; + case VK_F11: return "F11"; + case VK_F12: return "F12"; + case VK_NUMLOCK: return "Num Lock"; + case VK_SCROLL: return "Scroll Lock"; + case VKBC_MWHEELUP: return "Mouse Wheel Up"; + case VKBC_MWHEELDOWN: return "Mouse Wheel Down"; + case VKBC_MWHEELLEFT: return "Mouse Wheel Left"; + case VKBC_MWHEELRIGHT: return "Mouse Wheel Right"; + default: return nullptr; } } @@ -581,8 +526,7 @@ LRESULT VKBindings::OnWndProc(HWND, UINT auMsg, WPARAM, LPARAM alParam) switch (auMsg) { - case WM_INPUT: - return HandleRAWInput(reinterpret_cast(alParam)); + case WM_INPUT: return HandleRAWInput(reinterpret_cast(alParam)); case WM_KILLFOCUS: // reset key states on focus loss, as otherwise, we end up with broken recording state m_keyStates.reset(); @@ -678,8 +622,8 @@ void VKBindings::ExecuteSingleInput(const USHORT acVKCode, const bool acKeyDown) const auto& modBind = bindIt->second; if (const auto vkBind = m_cpVm->GetBind(modBind)) { - // we dont want to handle bindings when vm is not initialized or when overlay is open and we are not in binding state! - // only exception allowed is any CET bind + // we dont want to handle bindings when vm is not initialized or when overlay is open and we are not in + // binding state! only exception allowed is any CET bind const auto& overlayToggleModBind = Bindings::GetOverlayToggleModBind(); const auto cetModBind = modBind.ModName == overlayToggleModBind.ModName; if (!cetModBind && (!m_cpVm->IsInitialized() || CET::Get().GetOverlay().IsEnabled())) @@ -714,8 +658,8 @@ void VKBindings::ExecuteRecording() const auto& modBind = bindIt->second; if (const auto vkBind = m_cpVm->GetBind(modBind)) { - // we dont want to handle bindings when vm is not initialized or when overlay is open and we are not in binding state! - // only exception allowed is any CET bind + // we dont want to handle bindings when vm is not initialized or when overlay is open and we are not in + // binding state! only exception allowed is any CET bind const auto& overlayToggleModBind = Bindings::GetOverlayToggleModBind(); const auto cetModBind = modBind.ModName == overlayToggleModBind.ModName; if (!cetModBind && (!m_cpVm->IsInitialized() || CET::Get().GetOverlay().IsEnabled())) @@ -750,11 +694,9 @@ LRESULT VKBindings::HandleRAWInput(const HRAWINPUT achRAWInput) switch (kb.Message) { case WM_KEYDOWN: - case WM_SYSKEYDOWN: - return RecordKeyDown(kb.VKey); + case WM_SYSKEYDOWN: return RecordKeyDown(kb.VKey); case WM_KEYUP: - case WM_SYSKEYUP: - return RecordKeyUp(kb.VKey); + case WM_SYSKEYUP: return RecordKeyUp(kb.VKey); } } else if (raw->header.dwType == RIM_TYPEMOUSE) @@ -765,26 +707,16 @@ LRESULT VKBindings::HandleRAWInput(const HRAWINPUT achRAWInput) const auto& m = raw->data.mouse; switch (m.usButtonFlags) { - case RI_MOUSE_LEFT_BUTTON_DOWN: - return RecordKeyDown(VK_LBUTTON); - case RI_MOUSE_LEFT_BUTTON_UP: - return RecordKeyUp(VK_LBUTTON); - case RI_MOUSE_RIGHT_BUTTON_DOWN: - return RecordKeyDown(VK_RBUTTON); - case RI_MOUSE_RIGHT_BUTTON_UP: - return RecordKeyUp(VK_RBUTTON); - case RI_MOUSE_MIDDLE_BUTTON_DOWN: - return RecordKeyDown(VK_MBUTTON); - case RI_MOUSE_MIDDLE_BUTTON_UP: - return RecordKeyUp(VK_MBUTTON); - case RI_MOUSE_BUTTON_4_DOWN: - return RecordKeyDown(VK_XBUTTON1); - case RI_MOUSE_BUTTON_4_UP: - return RecordKeyUp(VK_XBUTTON1); - case RI_MOUSE_BUTTON_5_DOWN: - return RecordKeyDown(VK_XBUTTON2); - case RI_MOUSE_BUTTON_5_UP: - return RecordKeyUp(VK_XBUTTON2); + case RI_MOUSE_LEFT_BUTTON_DOWN: return RecordKeyDown(VK_LBUTTON); + case RI_MOUSE_LEFT_BUTTON_UP: return RecordKeyUp(VK_LBUTTON); + case RI_MOUSE_RIGHT_BUTTON_DOWN: return RecordKeyDown(VK_RBUTTON); + case RI_MOUSE_RIGHT_BUTTON_UP: return RecordKeyUp(VK_RBUTTON); + case RI_MOUSE_MIDDLE_BUTTON_DOWN: return RecordKeyDown(VK_MBUTTON); + case RI_MOUSE_MIDDLE_BUTTON_UP: return RecordKeyUp(VK_MBUTTON); + case RI_MOUSE_BUTTON_4_DOWN: return RecordKeyDown(VK_XBUTTON1); + case RI_MOUSE_BUTTON_4_UP: return RecordKeyUp(VK_XBUTTON1); + case RI_MOUSE_BUTTON_5_DOWN: return RecordKeyDown(VK_XBUTTON2); + case RI_MOUSE_BUTTON_5_UP: return RecordKeyUp(VK_XBUTTON2); case RI_MOUSE_WHEEL: { const USHORT key{static_cast(RI_MOUSE_WHEEL | ((m.usButtonData & 0x8000) ? 0 : 1))}; diff --git a/src/VKBindings.h b/src/VKBindings.h index ea647c97..d98b1faa 100644 --- a/src/VKBindings.h +++ b/src/VKBindings.h @@ -32,10 +32,10 @@ struct VKBind [[nodiscard]] bool operator==(const std::string& acpId) const; }; -constexpr USHORT VKBC_MWHEELUP { RI_MOUSE_WHEEL | 1 }; -constexpr USHORT VKBC_MWHEELDOWN { RI_MOUSE_WHEEL | 0 }; -constexpr USHORT VKBC_MWHEELRIGHT { RI_MOUSE_HWHEEL | 1 }; -constexpr USHORT VKBC_MWHEELLEFT { RI_MOUSE_HWHEEL | 0 }; +constexpr USHORT VKBC_MWHEELUP{RI_MOUSE_WHEEL | 1}; +constexpr USHORT VKBC_MWHEELDOWN{RI_MOUSE_WHEEL | 0}; +constexpr USHORT VKBC_MWHEELRIGHT{RI_MOUSE_HWHEEL | 1}; +constexpr USHORT VKBC_MWHEELLEFT{RI_MOUSE_HWHEEL | 0}; struct Options; struct Overlay; @@ -84,7 +84,6 @@ struct VKBindings void SetVM(const LuaVM* acpVm); private: - [[nodiscard]] LRESULT HandleRAWInput(HRAWINPUT achRAWInput); LRESULT RecordKeyDown(const USHORT acVKCode); @@ -94,23 +93,23 @@ struct VKBindings void ExecuteRecording(); void ClearRecording(const bool acClearBind); - std::map m_binds{ }; // this map needs to be ordered! - TiltedPhoques::Map> m_modIdToBinds{ }; - TiltedPhoques::TaskQueue m_queuedCallbacks{ }; + std::map m_binds{}; // this map needs to be ordered! + TiltedPhoques::Map> m_modIdToBinds{}; + TiltedPhoques::TaskQueue m_queuedCallbacks{}; - std::bitset<1 << 16> m_keyStates{ }; + std::bitset<1 << 16> m_keyStates{}; - VKCodeBindDecoded m_recording{ }; - uint64_t m_recordingResult{ 0 }; - size_t m_recordingLength{ 0 }; - bool m_recordingWasKeyPressed{ false }; + VKCodeBindDecoded m_recording{}; + uint64_t m_recordingResult{0}; + size_t m_recordingLength{0}; + bool m_recordingWasKeyPressed{false}; - VKModBind m_recordingModBind{ }; - bool m_isBindRecording{ false }; + VKModBind m_recordingModBind{}; + bool m_isBindRecording{false}; - bool m_initialized{ false }; + bool m_initialized{false}; - const LuaVM* m_cpVm{ nullptr }; + const LuaVM* m_cpVm{nullptr}; Paths& m_paths; const Options& m_cOptions; }; diff --git a/src/common/CETTasks.h b/src/common/CETTasks.h index 9481c37c..c4f98d46 100644 --- a/src/common/CETTasks.h +++ b/src/common/CETTasks.h @@ -6,6 +6,5 @@ struct CETTasks ~CETTasks(); private: - std::atomic m_running; }; \ No newline at end of file diff --git a/src/common/D3D12Downlevel.h b/src/common/D3D12Downlevel.h index 1b3bda94..2e96bc85 100644 --- a/src/common/D3D12Downlevel.h +++ b/src/common/D3D12Downlevel.h @@ -4,13 +4,9 @@ * *-------------------------------------------------------------------------------------*/ - /* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - /* File created by MIDL compiler version 8.01.0622 */ - - +/* File created by MIDL compiler version 8.01.0622 */ /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCNDR_H_VERSION__ @@ -47,15 +43,13 @@ #define __ID3D12CommandQueueDownlevel_FWD_DEFINED__ typedef interface ID3D12CommandQueueDownlevel ID3D12CommandQueueDownlevel; -#endif /* __ID3D12CommandQueueDownlevel_FWD_DEFINED__ */ - +#endif /* __ID3D12CommandQueueDownlevel_FWD_DEFINED__ */ #ifndef __ID3D12DeviceDownlevel_FWD_DEFINED__ #define __ID3D12DeviceDownlevel_FWD_DEFINED__ typedef interface ID3D12DeviceDownlevel ID3D12DeviceDownlevel; -#endif /* __ID3D12DeviceDownlevel_FWD_DEFINED__ */ - +#endif /* __ID3D12DeviceDownlevel_FWD_DEFINED__ */ /* header files for imported files */ #include "oaidl.h" @@ -64,37 +58,34 @@ typedef interface ID3D12DeviceDownlevel ID3D12DeviceDownlevel; #include "dxgi1_4.h" #ifdef __cplusplus -extern "C"{ +extern "C" +{ #endif - -/* interface __MIDL_itf_d3d12downlevel_0000_0000 */ -/* [local] */ + /* interface __MIDL_itf_d3d12downlevel_0000_0000 */ + /* [local] */ #include #pragma region Desktop Family #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) -typedef -enum D3D12_DOWNLEVEL_PRESENT_FLAGS + typedef enum D3D12_DOWNLEVEL_PRESENT_FLAGS { - D3D12_DOWNLEVEL_PRESENT_FLAG_NONE = 0, - D3D12_DOWNLEVEL_PRESENT_FLAG_WAIT_FOR_VBLANK = D3D12_DOWNLEVEL_PRESENT_FLAG_NONE + 1 - } D3D12_DOWNLEVEL_PRESENT_FLAGS; + D3D12_DOWNLEVEL_PRESENT_FLAG_NONE = 0, + D3D12_DOWNLEVEL_PRESENT_FLAG_WAIT_FOR_VBLANK = D3D12_DOWNLEVEL_PRESENT_FLAG_NONE + 1 + } D3D12_DOWNLEVEL_PRESENT_FLAGS; -DEFINE_ENUM_FLAG_OPERATORS( D3D12_DOWNLEVEL_PRESENT_FLAGS ); + DEFINE_ENUM_FLAG_OPERATORS(D3D12_DOWNLEVEL_PRESENT_FLAGS); - -extern RPC_IF_HANDLE __MIDL_itf_d3d12downlevel_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12downlevel_0000_0000_v0_0_s_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_d3d12downlevel_0000_0000_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_d3d12downlevel_0000_0000_v0_0_s_ifspec; #ifndef __ID3D12CommandQueueDownlevel_INTERFACE_DEFINED__ #define __ID3D12CommandQueueDownlevel_INTERFACE_DEFINED__ -/* interface ID3D12CommandQueueDownlevel */ -/* [unique][local][object][uuid] */ - + /* interface ID3D12CommandQueueDownlevel */ + /* [unique][local][object][uuid] */ -EXTERN_C const IID IID_ID3D12CommandQueueDownlevel; + EXTERN_C const IID IID_ID3D12CommandQueueDownlevel; #if defined(__cplusplus) && !defined(CINTERFACE) @@ -102,83 +93,57 @@ EXTERN_C const IID IID_ID3D12CommandQueueDownlevel; ID3D12CommandQueueDownlevel : IUnknown { virtual HRESULT STDMETHODCALLTYPE Present( - _In_ ID3D12GraphicsCommandList *pOpenCommandList, - _In_ ID3D12Resource *pSourceTex2D, - _In_ HWND hWindow, - D3D12_DOWNLEVEL_PRESENT_FLAGS Flags) = 0; - + _In_ ID3D12GraphicsCommandList * pOpenCommandList, _In_ ID3D12Resource * pSourceTex2D, _In_ HWND hWindow, D3D12_DOWNLEVEL_PRESENT_FLAGS Flags) = 0; }; - -#else /* C style interface */ +#else /* C style interface */ typedef struct ID3D12CommandQueueDownlevelVtbl { BEGIN_INTERFACE - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12CommandQueueDownlevel * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); + HRESULT(STDMETHODCALLTYPE* QueryInterface) + (ID3D12CommandQueueDownlevel* This, REFIID riid, _COM_Outptr_ void** ppvObject); - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12CommandQueueDownlevel * This); + ULONG(STDMETHODCALLTYPE* AddRef)(ID3D12CommandQueueDownlevel* This); - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12CommandQueueDownlevel * This); + ULONG(STDMETHODCALLTYPE* Release)(ID3D12CommandQueueDownlevel* This); - HRESULT ( STDMETHODCALLTYPE *Present )( - ID3D12CommandQueueDownlevel * This, - _In_ ID3D12GraphicsCommandList *pOpenCommandList, - _In_ ID3D12Resource *pSourceTex2D, - _In_ HWND hWindow, - D3D12_DOWNLEVEL_PRESENT_FLAGS Flags); + HRESULT(STDMETHODCALLTYPE* Present) + (ID3D12CommandQueueDownlevel* This, _In_ ID3D12GraphicsCommandList* pOpenCommandList, _In_ ID3D12Resource* pSourceTex2D, _In_ HWND hWindow, + D3D12_DOWNLEVEL_PRESENT_FLAGS Flags); END_INTERFACE } ID3D12CommandQueueDownlevelVtbl; interface ID3D12CommandQueueDownlevel { - CONST_VTBL struct ID3D12CommandQueueDownlevelVtbl *lpVtbl; + CONST_VTBL struct ID3D12CommandQueueDownlevelVtbl* lpVtbl; }; - - #ifdef COBJMACROS +#define ID3D12CommandQueueDownlevel_QueryInterface(This, riid, ppvObject) ((This)->lpVtbl->QueryInterface(This, riid, ppvObject)) -#define ID3D12CommandQueueDownlevel_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12CommandQueueDownlevel_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ID3D12CommandQueueDownlevel_AddRef(This) ((This)->lpVtbl->AddRef(This)) -#define ID3D12CommandQueueDownlevel_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ID3D12CommandQueueDownlevel_Release(This) ((This)->lpVtbl->Release(This)) - -#define ID3D12CommandQueueDownlevel_Present(This,pOpenCommandList,pSourceTex2D,hWindow,Flags) \ - ( (This)->lpVtbl -> Present(This,pOpenCommandList,pSourceTex2D,hWindow,Flags) ) +#define ID3D12CommandQueueDownlevel_Present(This, pOpenCommandList, pSourceTex2D, hWindow, Flags) ((This)->lpVtbl->Present(This, pOpenCommandList, pSourceTex2D, hWindow, Flags)) #endif /* COBJMACROS */ +#endif /* C style interface */ -#endif /* C style interface */ - - - - -#endif /* __ID3D12CommandQueueDownlevel_INTERFACE_DEFINED__ */ - +#endif /* __ID3D12CommandQueueDownlevel_INTERFACE_DEFINED__ */ #ifndef __ID3D12DeviceDownlevel_INTERFACE_DEFINED__ #define __ID3D12DeviceDownlevel_INTERFACE_DEFINED__ -/* interface ID3D12DeviceDownlevel */ -/* [unique][local][object][uuid] */ - + /* interface ID3D12DeviceDownlevel */ + /* [unique][local][object][uuid] */ -EXTERN_C const IID IID_ID3D12DeviceDownlevel; + EXTERN_C const IID IID_ID3D12DeviceDownlevel; #if defined(__cplusplus) && !defined(CINTERFACE) @@ -186,93 +151,67 @@ EXTERN_C const IID IID_ID3D12DeviceDownlevel; ID3D12DeviceDownlevel : IUnknown { virtual HRESULT STDMETHODCALLTYPE QueryVideoMemoryInfo( - UINT NodeIndex, - DXGI_MEMORY_SEGMENT_GROUP MemorySegmentGroup, - _Out_ DXGI_QUERY_VIDEO_MEMORY_INFO *pVideoMemoryInfo) = 0; - + UINT NodeIndex, DXGI_MEMORY_SEGMENT_GROUP MemorySegmentGroup, _Out_ DXGI_QUERY_VIDEO_MEMORY_INFO * pVideoMemoryInfo) = 0; }; - -#else /* C style interface */ +#else /* C style interface */ typedef struct ID3D12DeviceDownlevelVtbl { BEGIN_INTERFACE - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12DeviceDownlevel * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); + HRESULT(STDMETHODCALLTYPE* QueryInterface) + (ID3D12DeviceDownlevel* This, REFIID riid, _COM_Outptr_ void** ppvObject); - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12DeviceDownlevel * This); + ULONG(STDMETHODCALLTYPE* AddRef)(ID3D12DeviceDownlevel* This); - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12DeviceDownlevel * This); + ULONG(STDMETHODCALLTYPE* Release)(ID3D12DeviceDownlevel* This); - HRESULT ( STDMETHODCALLTYPE *QueryVideoMemoryInfo )( - ID3D12DeviceDownlevel * This, - UINT NodeIndex, - DXGI_MEMORY_SEGMENT_GROUP MemorySegmentGroup, - _Out_ DXGI_QUERY_VIDEO_MEMORY_INFO *pVideoMemoryInfo); + HRESULT(STDMETHODCALLTYPE* QueryVideoMemoryInfo) + (ID3D12DeviceDownlevel* This, UINT NodeIndex, DXGI_MEMORY_SEGMENT_GROUP MemorySegmentGroup, _Out_ DXGI_QUERY_VIDEO_MEMORY_INFO* pVideoMemoryInfo); END_INTERFACE } ID3D12DeviceDownlevelVtbl; interface ID3D12DeviceDownlevel { - CONST_VTBL struct ID3D12DeviceDownlevelVtbl *lpVtbl; + CONST_VTBL struct ID3D12DeviceDownlevelVtbl* lpVtbl; }; - - #ifdef COBJMACROS +#define ID3D12DeviceDownlevel_QueryInterface(This, riid, ppvObject) ((This)->lpVtbl->QueryInterface(This, riid, ppvObject)) -#define ID3D12DeviceDownlevel_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12DeviceDownlevel_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12DeviceDownlevel_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ID3D12DeviceDownlevel_AddRef(This) ((This)->lpVtbl->AddRef(This)) +#define ID3D12DeviceDownlevel_Release(This) ((This)->lpVtbl->Release(This)) -#define ID3D12DeviceDownlevel_QueryVideoMemoryInfo(This,NodeIndex,MemorySegmentGroup,pVideoMemoryInfo) \ - ( (This)->lpVtbl -> QueryVideoMemoryInfo(This,NodeIndex,MemorySegmentGroup,pVideoMemoryInfo) ) +#define ID3D12DeviceDownlevel_QueryVideoMemoryInfo(This, NodeIndex, MemorySegmentGroup, pVideoMemoryInfo) \ + ((This)->lpVtbl->QueryVideoMemoryInfo(This, NodeIndex, MemorySegmentGroup, pVideoMemoryInfo)) #endif /* COBJMACROS */ +#endif /* C style interface */ -#endif /* C style interface */ +#endif /* __ID3D12DeviceDownlevel_INTERFACE_DEFINED__ */ - - - -#endif /* __ID3D12DeviceDownlevel_INTERFACE_DEFINED__ */ - - -/* interface __MIDL_itf_d3d12downlevel_0000_0002 */ -/* [local] */ + /* interface __MIDL_itf_d3d12downlevel_0000_0002 */ + /* [local] */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #pragma endregion -DEFINE_GUID(IID_ID3D12CommandQueueDownlevel,0x38a8c5ef,0x7ccb,0x4e81,0x91,0x4f,0xa6,0xe9,0xd0,0x72,0xc4,0x94); -DEFINE_GUID(IID_ID3D12DeviceDownlevel,0x74eaee3f,0x2f4b,0x476d,0x82,0xba,0x2b,0x85,0xcb,0x49,0xe3,0x10); - + DEFINE_GUID(IID_ID3D12CommandQueueDownlevel, 0x38a8c5ef, 0x7ccb, 0x4e81, 0x91, 0x4f, 0xa6, 0xe9, 0xd0, 0x72, 0xc4, 0x94); + DEFINE_GUID(IID_ID3D12DeviceDownlevel, 0x74eaee3f, 0x2f4b, 0x476d, 0x82, 0xba, 0x2b, 0x85, 0xcb, 0x49, 0xe3, 0x10); -extern RPC_IF_HANDLE __MIDL_itf_d3d12downlevel_0000_0002_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12downlevel_0000_0002_v0_0_s_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_d3d12downlevel_0000_0002_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_d3d12downlevel_0000_0002_v0_0_s_ifspec; -/* Additional Prototypes for ALL interfaces */ + /* Additional Prototypes for ALL interfaces */ -/* end of Additional Prototypes */ + /* end of Additional Prototypes */ #ifdef __cplusplus } #endif #endif - - diff --git a/src/common/FontMaterialDesignIcons.h b/src/common/FontMaterialDesignIcons.h index 4cf317d3..90ce46ce 100644 --- a/src/common/FontMaterialDesignIcons.h +++ b/src/common/FontMaterialDesignIcons.h @@ -5,7099 +5,8949 @@ #define ICON_MIN_MD 0xf0001 #define ICON_MAX_MD 0xf1bb8 -#define ICON_MD_AB_TESTING "\xf3\xb0\x87\x89" // U+F01C9 ab-testing, tags: Developer / Languages -#define ICON_MD_ABACUS "\xf3\xb1\x9b\xa0" // U+F16E0 abacus, tags: Math -#define ICON_MD_ABJAD_ARABIC "\xf3\xb1\x8c\xa8" // U+F1328 abjad-arabic, aliases: writing-system-arabic, tags: Alpha / Numeric -#define ICON_MD_ABJAD_HEBREW "\xf3\xb1\x8c\xa9" // U+F1329 abjad-hebrew, aliases: writing-system-hebrew, tags: Alpha / Numeric -#define ICON_MD_ABUGIDA_DEVANAGARI "\xf3\xb1\x8c\xaa" // U+F132A abugida-devanagari, aliases: writing-system-devanagari, tags: Alpha / Numeric -#define ICON_MD_ABUGIDA_THAI "\xf3\xb1\x8c\xab" // U+F132B abugida-thai, aliases: writing-system-thai, tags: Alpha / Numeric -#define ICON_MD_ACCESS_POINT "\xf3\xb0\x80\x83" // U+F0003 access-point, aliases: wireless -#define ICON_MD_ACCESS_POINT_CHECK "\xf3\xb1\x94\xb8" // U+F1538 access-point-check -#define ICON_MD_ACCESS_POINT_MINUS "\xf3\xb1\x94\xb9" // U+F1539 access-point-minus -#define ICON_MD_ACCESS_POINT_NETWORK "\xf3\xb0\x80\x82" // U+F0002 access-point-network -#define ICON_MD_ACCESS_POINT_NETWORK_OFF "\xf3\xb0\xaf\xa1" // U+F0BE1 access-point-network-off -#define ICON_MD_ACCESS_POINT_OFF "\xf3\xb1\x94\x91" // U+F1511 access-point-off -#define ICON_MD_ACCESS_POINT_PLUS "\xf3\xb1\x94\xba" // U+F153A access-point-plus -#define ICON_MD_ACCESS_POINT_REMOVE "\xf3\xb1\x94\xbb" // U+F153B access-point-remove -#define ICON_MD_ACCOUNT "\xf3\xb0\x80\x84" // U+F0004 account, aliases: person, user, tags: Account / User, Home Automation -#define ICON_MD_ACCOUNT_ALERT "\xf3\xb0\x80\x85" // U+F0005 account-alert, aliases: user-alert, account-warning, user-warning, person-alert, person-warning, tags: Account / User, Alert / Error -#define ICON_MD_ACCOUNT_ALERT_OUTLINE "\xf3\xb0\xad\x90" // U+F0B50 account-alert-outline, aliases: user-alert-outline, account-warning-outline, user-warning-outline, person-warning-outline, person-alert-outline, tags: Account / User, Alert / Error -#define ICON_MD_ACCOUNT_ARROW_DOWN "\xf3\xb1\xa1\xa8" // U+F1868 account-arrow-down, aliases: account-download, tags: Account / User -#define ICON_MD_ACCOUNT_ARROW_DOWN_OUTLINE "\xf3\xb1\xa1\xa9" // U+F1869 account-arrow-down-outline, aliases: account-download-outline, tags: Account / User -#define ICON_MD_ACCOUNT_ARROW_LEFT "\xf3\xb0\xad\x91" // U+F0B51 account-arrow-left, aliases: user-arrow-left, person-arrow-left, tags: Account / User -#define ICON_MD_ACCOUNT_ARROW_LEFT_OUTLINE "\xf3\xb0\xad\x92" // U+F0B52 account-arrow-left-outline, aliases: user-arrow-left-outline, person-arrow-left-outline, tags: Account / User -#define ICON_MD_ACCOUNT_ARROW_RIGHT "\xf3\xb0\xad\x93" // U+F0B53 account-arrow-right, aliases: user-arrow-right, person-arrow-right, tags: Account / User -#define ICON_MD_ACCOUNT_ARROW_RIGHT_OUTLINE "\xf3\xb0\xad\x94" // U+F0B54 account-arrow-right-outline, aliases: user-arrow-right-outline, person-arrow-right-outline, tags: Account / User -#define ICON_MD_ACCOUNT_ARROW_UP "\xf3\xb1\xa1\xa7" // U+F1867 account-arrow-up, aliases: account-upload, tags: Account / User -#define ICON_MD_ACCOUNT_ARROW_UP_OUTLINE "\xf3\xb1\xa1\xaa" // U+F186A account-arrow-up-outline, aliases: account-upload-outline, tags: Account / User -#define ICON_MD_ACCOUNT_BADGE "\xf3\xb1\xac\x8a" // U+F1B0A account-badge, aliases: account-online, user-online, tags: Account / User -#define ICON_MD_ACCOUNT_BADGE_OUTLINE "\xf3\xb1\xac\x8b" // U+F1B0B account-badge-outline, aliases: user-online-outline, account-online-outline, tags: Account / User -#define ICON_MD_ACCOUNT_BOX "\xf3\xb0\x80\x86" // U+F0006 account-box, aliases: selfie, user-box, person-box, contact, tags: Account / User -#define ICON_MD_ACCOUNT_BOX_MULTIPLE "\xf3\xb0\xa4\xb4" // U+F0934 account-box-multiple, aliases: switch-account, user-box-multiple, account-boxes, user-boxes, person-box-multiple, person-boxes, tags: Account / User -#define ICON_MD_ACCOUNT_BOX_MULTIPLE_OUTLINE "\xf3\xb1\x80\x8a" // U+F100A account-box-multiple-outline, tags: Account / User -#define ICON_MD_ACCOUNT_BOX_OUTLINE "\xf3\xb0\x80\x87" // U+F0007 account-box-outline, aliases: selfie-outline, user-box-outline, portrait, contact-outline, person-box-outline, tags: Account / User -#define ICON_MD_ACCOUNT_CANCEL "\xf3\xb1\x8b\x9f" // U+F12DF account-cancel, aliases: user-cancel, user-block, person-cancel, person-block, tags: Account / User -#define ICON_MD_ACCOUNT_CANCEL_OUTLINE "\xf3\xb1\x8b\xa0" // U+F12E0 account-cancel-outline, aliases: user-cancel-outline, user-block-outline, person-cancel-outline, person-block-outline, tags: Account / User -#define ICON_MD_ACCOUNT_CARD "\xf3\xb1\xae\xa4" // U+F1BA4 account-card, tags: Account / User -#define ICON_MD_ACCOUNT_CARD_OUTLINE "\xf3\xb1\xae\xa5" // U+F1BA5 account-card-outline, tags: Account / User -#define ICON_MD_ACCOUNT_CASH "\xf3\xb1\x82\x97" // U+F1097 account-cash, tags: Account / User, Banking, Currency -#define ICON_MD_ACCOUNT_CASH_OUTLINE "\xf3\xb1\x82\x98" // U+F1098 account-cash-outline, tags: Account / User, Banking, Currency -#define ICON_MD_ACCOUNT_CHECK "\xf3\xb0\x80\x88" // U+F0008 account-check, aliases: user-check, account-tick, user-tick, person-check, person-tick, how-to-reg, tags: Account / User -#define ICON_MD_ACCOUNT_CHECK_OUTLINE "\xf3\xb0\xaf\xa2" // U+F0BE2 account-check-outline, aliases: account-tick-outline, user-check-outline, user-tick-outline, person-check-outline, person-tick-outline, how-to-reg-outline, tags: Account / User -#define ICON_MD_ACCOUNT_CHILD "\xf3\xb0\xaa\x89" // U+F0A89 account-child, aliases: user-child, person-child, guardian, tags: Account / User -#define ICON_MD_ACCOUNT_CHILD_CIRCLE "\xf3\xb0\xaa\x8a" // U+F0A8A account-child-circle, aliases: user-child-circle, person-child-circle, guardian-circle, tags: Account / User -#define ICON_MD_ACCOUNT_CHILD_OUTLINE "\xf3\xb1\x83\x88" // U+F10C8 account-child-outline, tags: Account / User -#define ICON_MD_ACCOUNT_CIRCLE "\xf3\xb0\x80\x89" // U+F0009 account-circle, aliases: user-circle, person-circle, tags: Account / User -#define ICON_MD_ACCOUNT_CIRCLE_OUTLINE "\xf3\xb0\xad\x95" // U+F0B55 account-circle-outline, aliases: user-circle-outline, person-circle-outline, tags: Account / User -#define ICON_MD_ACCOUNT_CLOCK "\xf3\xb0\xad\x96" // U+F0B56 account-clock, aliases: user-clock, account-pending, person-clock, tags: Account / User, Date / Time -#define ICON_MD_ACCOUNT_CLOCK_OUTLINE "\xf3\xb0\xad\x97" // U+F0B57 account-clock-outline, aliases: user-clock-outline, account-pending-outline, person-clock-outline, tags: Account / User, Date / Time -#define ICON_MD_ACCOUNT_COG "\xf3\xb1\x8d\xb0" // U+F1370 account-cog, aliases: account-settings, tags: Account / User, Settings -#define ICON_MD_ACCOUNT_COG_OUTLINE "\xf3\xb1\x8d\xb1" // U+F1371 account-cog-outline, aliases: account-settings-outline, tags: Account / User, Settings -#define ICON_MD_ACCOUNT_CONVERT "\xf3\xb0\x80\x8a" // U+F000A account-convert, aliases: user-convert, person-convert, tags: Account / User -#define ICON_MD_ACCOUNT_CONVERT_OUTLINE "\xf3\xb1\x8c\x81" // U+F1301 account-convert-outline, tags: Account / User -#define ICON_MD_ACCOUNT_COWBOY_HAT "\xf3\xb0\xba\x9b" // U+F0E9B account-cowboy-hat, aliases: rancher, tags: Account / User, Agriculture -#define ICON_MD_ACCOUNT_COWBOY_HAT_OUTLINE "\xf3\xb1\x9f\xb3" // U+F17F3 account-cowboy-hat-outline, aliases: rancher-outline, tags: Account / User, Agriculture -#define ICON_MD_ACCOUNT_CREDIT_CARD "\xf3\xb1\xae\xa6" // U+F1BA6 account-credit-card, aliases: account-payment, cardholder, tags: Account / User, Banking -#define ICON_MD_ACCOUNT_CREDIT_CARD_OUTLINE "\xf3\xb1\xae\xa7" // U+F1BA7 account-credit-card-outline, aliases: account-payment-outline, cardholder-outline, tags: Account / User, Banking -#define ICON_MD_ACCOUNT_DETAILS "\xf3\xb0\x98\xb1" // U+F0631 account-details, aliases: user-details, person-details, tags: Account / User, Settings -#define ICON_MD_ACCOUNT_DETAILS_OUTLINE "\xf3\xb1\x8d\xb2" // U+F1372 account-details-outline, aliases: person-details-outline, user-details-outline, tags: Account / User, Settings -#define ICON_MD_ACCOUNT_EDIT "\xf3\xb0\x9a\xbc" // U+F06BC account-edit, aliases: user-edit, person-edit, tags: Account / User, Edit / Modify -#define ICON_MD_ACCOUNT_EDIT_OUTLINE "\xf3\xb0\xbf\xbb" // U+F0FFB account-edit-outline, tags: Account / User, Edit / Modify -#define ICON_MD_ACCOUNT_EYE "\xf3\xb0\x90\xa0" // U+F0420 account-eye, aliases: account-view, tags: Account / User -#define ICON_MD_ACCOUNT_EYE_OUTLINE "\xf3\xb1\x89\xbb" // U+F127B account-eye-outline, aliases: account-view-outline, tags: Account / User -#define ICON_MD_ACCOUNT_FILTER "\xf3\xb0\xa4\xb6" // U+F0936 account-filter, aliases: account-funnel, leads, tags: Account / User -#define ICON_MD_ACCOUNT_FILTER_OUTLINE "\xf3\xb0\xbe\x9d" // U+F0F9D account-filter-outline, aliases: account-funnel-outline, leads-outline, tags: Account / User -#define ICON_MD_ACCOUNT_GROUP "\xf3\xb0\xa1\x89" // U+F0849 account-group, aliases: user-group, users-group, person-group, people-group, accounts-group, tags: Account / User -#define ICON_MD_ACCOUNT_GROUP_OUTLINE "\xf3\xb0\xad\x98" // U+F0B58 account-group-outline, aliases: user-group-outline, users-group-outline, person-group-outline, people-group-outline, accounts-group-outline, tags: Account / User -#define ICON_MD_ACCOUNT_HARD_HAT "\xf3\xb0\x96\xb5" // U+F05B5 account-hard-hat, aliases: worker, construction, tags: Account / User -#define ICON_MD_ACCOUNT_HARD_HAT_OUTLINE "\xf3\xb1\xa8\x9f" // U+F1A1F account-hard-hat-outline, aliases: worker-outline, construction-outline, tags: Account / User -#define ICON_MD_ACCOUNT_HEART "\xf3\xb0\xa2\x99" // U+F0899 account-heart, aliases: user-heart, person-heart, tags: Account / User, Medical / Hospital -#define ICON_MD_ACCOUNT_HEART_OUTLINE "\xf3\xb0\xaf\xa3" // U+F0BE3 account-heart-outline, aliases: user-heart-outline, person-heart-outline, tags: Account / User, Medical / Hospital -#define ICON_MD_ACCOUNT_INJURY "\xf3\xb1\xa0\x95" // U+F1815 account-injury, aliases: account-disability, tags: Medical / Hospital, Account / User -#define ICON_MD_ACCOUNT_INJURY_OUTLINE "\xf3\xb1\xa0\x96" // U+F1816 account-injury-outline, aliases: account-disability-outline, tags: Account / User, Medical / Hospital -#define ICON_MD_ACCOUNT_KEY "\xf3\xb0\x80\x8b" // U+F000B account-key, aliases: user-key, person-key, tags: Account / User -#define ICON_MD_ACCOUNT_KEY_OUTLINE "\xf3\xb0\xaf\xa4" // U+F0BE4 account-key-outline, aliases: user-key-outline, person-key-outline, tags: Account / User -#define ICON_MD_ACCOUNT_LOCK "\xf3\xb1\x85\x9e" // U+F115E account-lock, aliases: account-security, account-secure, user-lock, person-lock, tags: Account / User, Lock -#define ICON_MD_ACCOUNT_LOCK_OPEN "\xf3\xb1\xa5\xa0" // U+F1960 account-lock-open, aliases: account-unlocked, user-unlocked, user-lock-open, tags: Account / User, Lock -#define ICON_MD_ACCOUNT_LOCK_OPEN_OUTLINE "\xf3\xb1\xa5\xa1" // U+F1961 account-lock-open-outline, aliases: user-lock-open-outline, user-unlocked-outline, account-unlocked-outline, tags: Account / User, Lock -#define ICON_MD_ACCOUNT_LOCK_OUTLINE "\xf3\xb1\x85\x9f" // U+F115F account-lock-outline, aliases: account-security-outline, account-secure-outline, person-lock-outline, user-lock-outline, tags: Account / User, Lock -#define ICON_MD_ACCOUNT_MINUS "\xf3\xb0\x80\x8d" // U+F000D account-minus, aliases: user-minus, person-minus, tags: Account / User -#define ICON_MD_ACCOUNT_MINUS_OUTLINE "\xf3\xb0\xab\xac" // U+F0AEC account-minus-outline, aliases: user-minus-outline, person-minus-outline, tags: Account / User -#define ICON_MD_ACCOUNT_MULTIPLE "\xf3\xb0\x80\x8e" // U+F000E account-multiple, aliases: people, user-multiple, group, accounts, users, person-multiple, tags: Account / User -#define ICON_MD_ACCOUNT_MULTIPLE_CHECK "\xf3\xb0\xa3\x85" // U+F08C5 account-multiple-check, aliases: user-multiple-check, account-multiple-tick, accounts-check, accounts-tick, users-check, users-tick, user-multiple-tick, person-multiple-check, person-multiple-tick, people-check, people-tick, tags: Account / User -#define ICON_MD_ACCOUNT_MULTIPLE_CHECK_OUTLINE "\xf3\xb1\x87\xbe" // U+F11FE account-multiple-check-outline, aliases: user-multiple-check-outline, account-multiple-tick-outline, accounts-check-outline, accounts-tick-outline, users-check-outline, users-tick-outline, user-multiple-tick-outline, person-multiple-check-outline, person-multiple-tick-outline, people-check-outline, people-tick-outline, tags: Account / User -#define ICON_MD_ACCOUNT_MULTIPLE_MINUS "\xf3\xb0\x97\x93" // U+F05D3 account-multiple-minus, aliases: user-multiple-minus, accounts-minus, users-minus, people-minus, person-multiple-minus, tags: Account / User -#define ICON_MD_ACCOUNT_MULTIPLE_MINUS_OUTLINE "\xf3\xb0\xaf\xa5" // U+F0BE5 account-multiple-minus-outline, aliases: accounts-minus-outline, people-minus-outline, user-multiple-minus-outline, users-minus-outline, person-multiple-minus-outline, tags: Account / User -#define ICON_MD_ACCOUNT_MULTIPLE_OUTLINE "\xf3\xb0\x80\x8f" // U+F000F account-multiple-outline, aliases: user-multiple-outline, people-outline, accounts-outline, users-outline, tags: Account / User -#define ICON_MD_ACCOUNT_MULTIPLE_PLUS "\xf3\xb0\x80\x90" // U+F0010 account-multiple-plus, aliases: user-multiple-plus, group-add, accounts-plus, users-plus, person-multiple-plus, people-plus, person-multiple-add, people-add, account-multiple-add, accounts-add, user-multiple-add, users-add, invite, tags: Account / User -#define ICON_MD_ACCOUNT_MULTIPLE_PLUS_OUTLINE "\xf3\xb0\xa0\x80" // U+F0800 account-multiple-plus-outline, aliases: group-add-outline, user-multiple-plus-outline, accounts-plus-outline, users-plus-outline, person-multiple-plus-outline, people-plus-outline, person-multiple-add-outline, people-add-outline, account-multiple-add-outline, accounts-add-outline, user-multiple-add-outline, users-add-outline, invite, tags: Account / User -#define ICON_MD_ACCOUNT_MULTIPLE_REMOVE "\xf3\xb1\x88\x8a" // U+F120A account-multiple-remove, aliases: user-multiple-remove, person-multiple-remove, tags: Account / User -#define ICON_MD_ACCOUNT_MULTIPLE_REMOVE_OUTLINE "\xf3\xb1\x88\x8b" // U+F120B account-multiple-remove-outline, aliases: user-multiple-remove-outline, person-multiple-remove-outline, tags: Account / User -#define ICON_MD_ACCOUNT_MUSIC "\xf3\xb0\xa0\x83" // U+F0803 account-music, aliases: artist, tags: Account / User -#define ICON_MD_ACCOUNT_MUSIC_OUTLINE "\xf3\xb0\xb3\xa9" // U+F0CE9 account-music-outline, aliases: artist-outline, tags: Account / User -#define ICON_MD_ACCOUNT_NETWORK "\xf3\xb0\x80\x91" // U+F0011 account-network, aliases: user-network, person-network, tags: Account / User -#define ICON_MD_ACCOUNT_NETWORK_OFF "\xf3\xb1\xab\xb1" // U+F1AF1 account-network-off, tags: Account / User -#define ICON_MD_ACCOUNT_NETWORK_OFF_OUTLINE "\xf3\xb1\xab\xb2" // U+F1AF2 account-network-off-outline, tags: Account / User -#define ICON_MD_ACCOUNT_NETWORK_OUTLINE "\xf3\xb0\xaf\xa6" // U+F0BE6 account-network-outline, aliases: user-network-outline, person-network-outline, tags: Account / User -#define ICON_MD_ACCOUNT_OFF "\xf3\xb0\x80\x92" // U+F0012 account-off, aliases: user-off, person-off, tags: Account / User -#define ICON_MD_ACCOUNT_OFF_OUTLINE "\xf3\xb0\xaf\xa7" // U+F0BE7 account-off-outline, aliases: user-off-outline, person-off-outline, tags: Account / User -#define ICON_MD_ACCOUNT_OUTLINE "\xf3\xb0\x80\x93" // U+F0013 account-outline, aliases: user-outline, perm-identity, person-outline, tags: Account / User -#define ICON_MD_ACCOUNT_PLUS "\xf3\xb0\x80\x94" // U+F0014 account-plus, aliases: register, user-plus, person-add, account-add, person-plus, user-add, invite, tags: Account / User, Home Automation -#define ICON_MD_ACCOUNT_PLUS_OUTLINE "\xf3\xb0\xa0\x81" // U+F0801 account-plus-outline, aliases: person-add-outline, register-outline, user-plus-outline, account-add-outline, person-plus-outline, user-add-outline, invite, tags: Account / User -#define ICON_MD_ACCOUNT_QUESTION "\xf3\xb0\xad\x99" // U+F0B59 account-question, aliases: user-help, account-question-mark, account-help, user-question, person-question, person-help, tags: Account / User -#define ICON_MD_ACCOUNT_QUESTION_OUTLINE "\xf3\xb0\xad\x9a" // U+F0B5A account-question-outline, aliases: account-question-mark-outline, user-help-outline, account-help-outline, user-question-outline, person-question-outline, person-help-outline, tags: Account / User -#define ICON_MD_ACCOUNT_REACTIVATE "\xf3\xb1\x94\xab" // U+F152B account-reactivate, tags: Account / User -#define ICON_MD_ACCOUNT_REACTIVATE_OUTLINE "\xf3\xb1\x94\xac" // U+F152C account-reactivate-outline, tags: Account / User -#define ICON_MD_ACCOUNT_REMOVE "\xf3\xb0\x80\x95" // U+F0015 account-remove, aliases: user-remove, person-remove, tags: Account / User -#define ICON_MD_ACCOUNT_REMOVE_OUTLINE "\xf3\xb0\xab\xad" // U+F0AED account-remove-outline, aliases: user-remove-outline, person-remove-outline, tags: Account / User -#define ICON_MD_ACCOUNT_SCHOOL "\xf3\xb1\xa8\xa0" // U+F1A20 account-school, aliases: account-student, account-graduation, tags: Account / User -#define ICON_MD_ACCOUNT_SCHOOL_OUTLINE "\xf3\xb1\xa8\xa1" // U+F1A21 account-school-outline, aliases: account-student-outline, account-graduation-outline, tags: Account / User -#define ICON_MD_ACCOUNT_SEARCH "\xf3\xb0\x80\x96" // U+F0016 account-search, aliases: user-search, person-search, tags: Account / User -#define ICON_MD_ACCOUNT_SEARCH_OUTLINE "\xf3\xb0\xa4\xb5" // U+F0935 account-search-outline, aliases: user-search-outline, person-search-outline, tags: Account / User -#define ICON_MD_ACCOUNT_SETTINGS "\xf3\xb0\x98\xb0" // U+F0630 account-settings, aliases: user-settings, person-settings, tags: Account / User, Settings -#define ICON_MD_ACCOUNT_SETTINGS_OUTLINE "\xf3\xb1\x83\x89" // U+F10C9 account-settings-outline, tags: Account / User, Settings -#define ICON_MD_ACCOUNT_STAR "\xf3\xb0\x80\x97" // U+F0017 account-star, aliases: user-star, person-star, account-favorite, tags: Account / User -#define ICON_MD_ACCOUNT_STAR_OUTLINE "\xf3\xb0\xaf\xa8" // U+F0BE8 account-star-outline, aliases: user-star-outline, person-star-outline, tags: Account / User -#define ICON_MD_ACCOUNT_SUPERVISOR "\xf3\xb0\xaa\x8b" // U+F0A8B account-supervisor, aliases: user-supervisor, person-supervisor, tags: Account / User -#define ICON_MD_ACCOUNT_SUPERVISOR_CIRCLE "\xf3\xb0\xaa\x8c" // U+F0A8C account-supervisor-circle, aliases: user-supervisor-circle, person-supervisor-circle, tags: Account / User -#define ICON_MD_ACCOUNT_SUPERVISOR_CIRCLE_OUTLINE "\xf3\xb1\x93\xac" // U+F14EC account-supervisor-circle-outline, tags: Account / User -#define ICON_MD_ACCOUNT_SUPERVISOR_OUTLINE "\xf3\xb1\x84\xad" // U+F112D account-supervisor-outline, tags: Account / User -#define ICON_MD_ACCOUNT_SWITCH "\xf3\xb0\x80\x99" // U+F0019 account-switch, aliases: user-switch, accounts-switch, users-switch, person-switch, people-switch, tags: Account / User -#define ICON_MD_ACCOUNT_SWITCH_OUTLINE "\xf3\xb0\x93\x8b" // U+F04CB account-switch-outline, tags: Account / User -#define ICON_MD_ACCOUNT_SYNC "\xf3\xb1\xa4\x9b" // U+F191B account-sync, aliases: account-cache, tags: Account / User -#define ICON_MD_ACCOUNT_SYNC_OUTLINE "\xf3\xb1\xa4\x9c" // U+F191C account-sync-outline, aliases: account-cache-outline, tags: Account / User -#define ICON_MD_ACCOUNT_TIE "\xf3\xb0\xb3\xa3" // U+F0CE3 account-tie, aliases: person-tie, user-tie, tags: Account / User, People / Family -#define ICON_MD_ACCOUNT_TIE_HAT "\xf3\xb1\xa2\x98" // U+F1898 account-tie-hat, aliases: account-pilot, tags: Account / User, Transportation + Flying -#define ICON_MD_ACCOUNT_TIE_HAT_OUTLINE "\xf3\xb1\xa2\x99" // U+F1899 account-tie-hat-outline, aliases: account-pilot-outline, tags: Account / User, Transportation + Flying -#define ICON_MD_ACCOUNT_TIE_OUTLINE "\xf3\xb1\x83\x8a" // U+F10CA account-tie-outline, tags: Account / User -#define ICON_MD_ACCOUNT_TIE_VOICE "\xf3\xb1\x8c\x88" // U+F1308 account-tie-voice, tags: Account / User -#define ICON_MD_ACCOUNT_TIE_VOICE_OFF "\xf3\xb1\x8c\x8a" // U+F130A account-tie-voice-off, tags: Account / User -#define ICON_MD_ACCOUNT_TIE_VOICE_OFF_OUTLINE "\xf3\xb1\x8c\x8b" // U+F130B account-tie-voice-off-outline, tags: Account / User -#define ICON_MD_ACCOUNT_TIE_VOICE_OUTLINE "\xf3\xb1\x8c\x89" // U+F1309 account-tie-voice-outline, tags: Account / User -#define ICON_MD_ACCOUNT_TIE_WOMAN "\xf3\xb1\xaa\x8c" // U+F1A8C account-tie-woman, aliases: business-woman, tags: Account / User, People / Family -#define ICON_MD_ACCOUNT_VOICE "\xf3\xb0\x97\x8b" // U+F05CB account-voice, aliases: record-voice-over, speak, talk, speaking, talking, tags: Account / User -#define ICON_MD_ACCOUNT_VOICE_OFF "\xf3\xb0\xbb\x94" // U+F0ED4 account-voice-off, tags: Account / User -#define ICON_MD_ACCOUNT_WRENCH "\xf3\xb1\xa2\x9a" // U+F189A account-wrench, aliases: account-service, tags: Account / User -#define ICON_MD_ACCOUNT_WRENCH_OUTLINE "\xf3\xb1\xa2\x9b" // U+F189B account-wrench-outline, aliases: account-service-outline, tags: Account / User -#define ICON_MD_ADJUST "\xf3\xb0\x80\x9a" // U+F001A adjust -#define ICON_MD_ADVERTISEMENTS "\xf3\xb1\xa4\xaa" // U+F192A advertisements, aliases: ads -#define ICON_MD_ADVERTISEMENTS_OFF "\xf3\xb1\xa4\xab" // U+F192B advertisements-off, aliases: ads-off -#define ICON_MD_AIR_CONDITIONER "\xf3\xb0\x80\x9b" // U+F001B air-conditioner, aliases: ac-unit, tags: Home Automation, Automotive -#define ICON_MD_AIR_FILTER "\xf3\xb0\xb5\x83" // U+F0D43 air-filter, aliases: water-filter, filter, tags: Home Automation -#define ICON_MD_AIR_HORN "\xf3\xb0\xb6\xac" // U+F0DAC air-horn -#define ICON_MD_AIR_HUMIDIFIER "\xf3\xb1\x82\x99" // U+F1099 air-humidifier, tags: Home Automation -#define ICON_MD_AIR_HUMIDIFIER_OFF "\xf3\xb1\x91\xa6" // U+F1466 air-humidifier-off, aliases: air-dehumidifier, tags: Home Automation -#define ICON_MD_AIR_PURIFIER "\xf3\xb0\xb5\x84" // U+F0D44 air-purifier, tags: Home Automation -#define ICON_MD_AIR_PURIFIER_OFF "\xf3\xb1\xad\x97" // U+F1B57 air-purifier-off, tags: Home Automation -#define ICON_MD_AIRBAG "\xf3\xb0\xaf\xa9" // U+F0BE9 airbag, tags: Automotive -#define ICON_MD_AIRBALLOON "\xf3\xb0\x80\x9c" // U+F001C airballoon, aliases: hot-air-balloon, tags: Transportation + Other, Transportation + Flying -#define ICON_MD_AIRBALLOON_OUTLINE "\xf3\xb1\x80\x8b" // U+F100B airballoon-outline, aliases: hot-air-balloon-outline, tags: Transportation + Flying -#define ICON_MD_AIRPLANE "\xf3\xb0\x80\x9d" // U+F001D airplane, aliases: aeroplane, airplanemode-active, flight, local-airport, flight-mode, plane, tags: Transportation + Flying, Navigation -#define ICON_MD_AIRPLANE_ALERT "\xf3\xb1\xa1\xba" // U+F187A airplane-alert, tags: Transportation + Flying, Alert / Error -#define ICON_MD_AIRPLANE_CHECK "\xf3\xb1\xa1\xbb" // U+F187B airplane-check, tags: Transportation + Flying -#define ICON_MD_AIRPLANE_CLOCK "\xf3\xb1\xa1\xbc" // U+F187C airplane-clock, aliases: airplane-schedule, airplane-time, airplane-date, tags: Transportation + Flying, Date / Time -#define ICON_MD_AIRPLANE_COG "\xf3\xb1\xa1\xbd" // U+F187D airplane-cog, aliases: airplane-settings, tags: Transportation + Flying, Settings -#define ICON_MD_AIRPLANE_EDIT "\xf3\xb1\xa1\xbe" // U+F187E airplane-edit, tags: Transportation + Flying, Edit / Modify -#define ICON_MD_AIRPLANE_LANDING "\xf3\xb0\x97\x94" // U+F05D4 airplane-landing, aliases: aeroplane-landing, flight-land, plane-landing, tags: Transportation + Flying -#define ICON_MD_AIRPLANE_MARKER "\xf3\xb1\xa1\xbf" // U+F187F airplane-marker, aliases: airplane-location, airplane-gps, tags: Transportation + Flying, Navigation -#define ICON_MD_AIRPLANE_MINUS "\xf3\xb1\xa2\x80" // U+F1880 airplane-minus, tags: Transportation + Flying -#define ICON_MD_AIRPLANE_OFF "\xf3\xb0\x80\x9e" // U+F001E airplane-off, aliases: aeroplane-off, airplanemode-inactive, flight-mode-off, plane-off, tags: Transportation + Flying -#define ICON_MD_AIRPLANE_PLUS "\xf3\xb1\xa2\x81" // U+F1881 airplane-plus, tags: Transportation + Flying -#define ICON_MD_AIRPLANE_REMOVE "\xf3\xb1\xa2\x82" // U+F1882 airplane-remove, tags: Transportation + Flying -#define ICON_MD_AIRPLANE_SEARCH "\xf3\xb1\xa2\x83" // U+F1883 airplane-search, aliases: airplane-find, tags: Transportation + Flying -#define ICON_MD_AIRPLANE_SETTINGS "\xf3\xb1\xa2\x84" // U+F1884 airplane-settings, tags: Transportation + Flying, Settings -#define ICON_MD_AIRPLANE_TAKEOFF "\xf3\xb0\x97\x95" // U+F05D5 airplane-takeoff, aliases: aeroplane-takeoff, flight-takeoff, plane-takeoff, airplane-take-off, tags: Transportation + Flying -#define ICON_MD_AIRPORT "\xf3\xb0\xa1\x8b" // U+F084B airport, tags: Places, Transportation + Flying -#define ICON_MD_ALARM "\xf3\xb0\x80\xa0" // U+F0020 alarm, aliases: access-alarms, alarm-clock, tags: Date / Time -#define ICON_MD_ALARM_BELL "\xf3\xb0\x9e\x8e" // U+F078E alarm-bell, tags: Notification -#define ICON_MD_ALARM_CHECK "\xf3\xb0\x80\xa1" // U+F0021 alarm-check, aliases: alarm-on, alarm-tick, alarm-clock-check, alarm-clock-tick, tags: Date / Time -#define ICON_MD_ALARM_LIGHT "\xf3\xb0\x9e\x8f" // U+F078F alarm-light, tags: Home Automation -#define ICON_MD_ALARM_LIGHT_OFF "\xf3\xb1\x9c\x9e" // U+F171E alarm-light-off, tags: Home Automation -#define ICON_MD_ALARM_LIGHT_OFF_OUTLINE "\xf3\xb1\x9c\x9f" // U+F171F alarm-light-off-outline, tags: Home Automation -#define ICON_MD_ALARM_LIGHT_OUTLINE "\xf3\xb0\xaf\xaa" // U+F0BEA alarm-light-outline, tags: Home Automation -#define ICON_MD_ALARM_MULTIPLE "\xf3\xb0\x80\xa2" // U+F0022 alarm-multiple, aliases: alarms, alarm-clock-multiple, alarm-clocks, tags: Date / Time -#define ICON_MD_ALARM_NOTE "\xf3\xb0\xb9\xb1" // U+F0E71 alarm-note -#define ICON_MD_ALARM_NOTE_OFF "\xf3\xb0\xb9\xb2" // U+F0E72 alarm-note-off -#define ICON_MD_ALARM_OFF "\xf3\xb0\x80\xa3" // U+F0023 alarm-off, aliases: alarm-clock-off, tags: Date / Time -#define ICON_MD_ALARM_PANEL "\xf3\xb1\x97\x84" // U+F15C4 alarm-panel, tags: Home Automation -#define ICON_MD_ALARM_PANEL_OUTLINE "\xf3\xb1\x97\x85" // U+F15C5 alarm-panel-outline, tags: Home Automation -#define ICON_MD_ALARM_PLUS "\xf3\xb0\x80\xa4" // U+F0024 alarm-plus, aliases: add-alarm, alarm-clock-plus, alarm-clock-add, alarm-add, tags: Date / Time -#define ICON_MD_ALARM_SNOOZE "\xf3\xb0\x9a\x8e" // U+F068E alarm-snooze, aliases: alarm-clock-snooze, tags: Date / Time -#define ICON_MD_ALBUM "\xf3\xb0\x80\xa5" // U+F0025 album, aliases: vinyl, record, tags: Audio, Music -#define ICON_MD_ALERT "\xf3\xb0\x80\xa6" // U+F0026 alert, aliases: warning, report-problem, tags: Alert / Error -#define ICON_MD_ALERT_BOX "\xf3\xb0\x80\xa7" // U+F0027 alert-box, aliases: warning-box, tags: Alert / Error -#define ICON_MD_ALERT_BOX_OUTLINE "\xf3\xb0\xb3\xa4" // U+F0CE4 alert-box-outline, aliases: warning-box-outline, tags: Alert / Error -#define ICON_MD_ALERT_CIRCLE "\xf3\xb0\x80\xa8" // U+F0028 alert-circle, aliases: warning-circle, error, tags: Alert / Error -#define ICON_MD_ALERT_CIRCLE_CHECK "\xf3\xb1\x87\xad" // U+F11ED alert-circle-check, tags: Alert / Error -#define ICON_MD_ALERT_CIRCLE_CHECK_OUTLINE "\xf3\xb1\x87\xae" // U+F11EE alert-circle-check-outline, tags: Alert / Error -#define ICON_MD_ALERT_CIRCLE_OUTLINE "\xf3\xb0\x97\x96" // U+F05D6 alert-circle-outline, aliases: warning-circle-outline, error-outline, git-issue, tags: Alert / Error -#define ICON_MD_ALERT_DECAGRAM "\xf3\xb0\x9a\xbd" // U+F06BD alert-decagram, aliases: new-releases, warning-decagram, tags: Alert / Error -#define ICON_MD_ALERT_DECAGRAM_OUTLINE "\xf3\xb0\xb3\xa5" // U+F0CE5 alert-decagram-outline, aliases: warning-decagram-outline, tags: Alert / Error -#define ICON_MD_ALERT_MINUS "\xf3\xb1\x92\xbb" // U+F14BB alert-minus, tags: Alert / Error -#define ICON_MD_ALERT_MINUS_OUTLINE "\xf3\xb1\x92\xbe" // U+F14BE alert-minus-outline, tags: Alert / Error -#define ICON_MD_ALERT_OCTAGON "\xf3\xb0\x80\xa9" // U+F0029 alert-octagon, aliases: warning-octagon, report, stop-alert, tags: Alert / Error -#define ICON_MD_ALERT_OCTAGON_OUTLINE "\xf3\xb0\xb3\xa6" // U+F0CE6 alert-octagon-outline, aliases: warning-octagon-outline, stop-alert-outline, tags: Alert / Error -#define ICON_MD_ALERT_OCTAGRAM "\xf3\xb0\x9d\xa7" // U+F0767 alert-octagram, aliases: warning-octagram, tags: Alert / Error -#define ICON_MD_ALERT_OCTAGRAM_OUTLINE "\xf3\xb0\xb3\xa7" // U+F0CE7 alert-octagram-outline, aliases: warning-octagram-outline, tags: Alert / Error -#define ICON_MD_ALERT_OUTLINE "\xf3\xb0\x80\xaa" // U+F002A alert-outline, aliases: warning-outline, tags: Alert / Error -#define ICON_MD_ALERT_PLUS "\xf3\xb1\x92\xba" // U+F14BA alert-plus, tags: Alert / Error -#define ICON_MD_ALERT_PLUS_OUTLINE "\xf3\xb1\x92\xbd" // U+F14BD alert-plus-outline, tags: Alert / Error -#define ICON_MD_ALERT_REMOVE "\xf3\xb1\x92\xbc" // U+F14BC alert-remove, tags: Alert / Error -#define ICON_MD_ALERT_REMOVE_OUTLINE "\xf3\xb1\x92\xbf" // U+F14BF alert-remove-outline, tags: Alert / Error -#define ICON_MD_ALERT_RHOMBUS "\xf3\xb1\x87\x8e" // U+F11CE alert-rhombus, tags: Alert / Error -#define ICON_MD_ALERT_RHOMBUS_OUTLINE "\xf3\xb1\x87\x8f" // U+F11CF alert-rhombus-outline, tags: Alert / Error -#define ICON_MD_ALIEN "\xf3\xb0\xa2\x9a" // U+F089A alien -#define ICON_MD_ALIEN_OUTLINE "\xf3\xb1\x83\x8b" // U+F10CB alien-outline -#define ICON_MD_ALIGN_HORIZONTAL_CENTER "\xf3\xb1\x87\x83" // U+F11C3 align-horizontal-center, aliases: align-horizontal-centre -#define ICON_MD_ALIGN_HORIZONTAL_DISTRIBUTE "\xf3\xb1\xa5\xa2" // U+F1962 align-horizontal-distribute, tags: Text / Content / Format -#define ICON_MD_ALIGN_HORIZONTAL_LEFT "\xf3\xb1\x87\x82" // U+F11C2 align-horizontal-left -#define ICON_MD_ALIGN_HORIZONTAL_RIGHT "\xf3\xb1\x87\x84" // U+F11C4 align-horizontal-right -#define ICON_MD_ALIGN_VERTICAL_BOTTOM "\xf3\xb1\x87\x85" // U+F11C5 align-vertical-bottom -#define ICON_MD_ALIGN_VERTICAL_CENTER "\xf3\xb1\x87\x86" // U+F11C6 align-vertical-center, aliases: align-vertical-centre -#define ICON_MD_ALIGN_VERTICAL_DISTRIBUTE "\xf3\xb1\xa5\xa3" // U+F1963 align-vertical-distribute, tags: Text / Content / Format -#define ICON_MD_ALIGN_VERTICAL_TOP "\xf3\xb1\x87\x87" // U+F11C7 align-vertical-top -#define ICON_MD_ALL_INCLUSIVE "\xf3\xb0\x9a\xbe" // U+F06BE all-inclusive, aliases: infinity, forever -#define ICON_MD_ALL_INCLUSIVE_BOX "\xf3\xb1\xa2\x8d" // U+F188D all-inclusive-box, aliases: infinity-box, forever-box -#define ICON_MD_ALL_INCLUSIVE_BOX_OUTLINE "\xf3\xb1\xa2\x8e" // U+F188E all-inclusive-box-outline, aliases: forever-box-outline, infinity-box-outline -#define ICON_MD_ALLERGY "\xf3\xb1\x89\x98" // U+F1258 allergy, aliases: hand, rash, germ, tags: Medical / Hospital -#define ICON_MD_ALPHA "\xf3\xb0\x80\xab" // U+F002B alpha, tags: Alpha / Numeric -#define ICON_MD_ALPHA_A "\xf3\xb0\xab\xae" // U+F0AEE alpha-a, aliases: alphabet-a, letter-a, tags: Alpha / Numeric -#define ICON_MD_ALPHA_A_BOX "\xf3\xb0\xac\x88" // U+F0B08 alpha-a-box, aliases: alphabet-a-box, letter-a-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_A_BOX_OUTLINE "\xf3\xb0\xaf\xab" // U+F0BEB alpha-a-box-outline, aliases: alphabet-a-box-outline, letter-a-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_A_CIRCLE "\xf3\xb0\xaf\xac" // U+F0BEC alpha-a-circle, aliases: alphabet-a-circle, letter-a-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_A_CIRCLE_OUTLINE "\xf3\xb0\xaf\xad" // U+F0BED alpha-a-circle-outline, aliases: alphabet-a-circle-outline, letter-a-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_B "\xf3\xb0\xab\xaf" // U+F0AEF alpha-b, aliases: alphabet-b, letter-b, tags: Alpha / Numeric -#define ICON_MD_ALPHA_B_BOX "\xf3\xb0\xac\x89" // U+F0B09 alpha-b-box, aliases: alphabet-b-box, letter-b-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_B_BOX_OUTLINE "\xf3\xb0\xaf\xae" // U+F0BEE alpha-b-box-outline, aliases: alphabet-b-box-outline, letter-b-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_B_CIRCLE "\xf3\xb0\xaf\xaf" // U+F0BEF alpha-b-circle, aliases: alphabet-b-circle, letter-b-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_B_CIRCLE_OUTLINE "\xf3\xb0\xaf\xb0" // U+F0BF0 alpha-b-circle-outline, aliases: alphabet-b-circle-outline, letter-b-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_C "\xf3\xb0\xab\xb0" // U+F0AF0 alpha-c, aliases: alphabet-c, letter-c, tags: Alpha / Numeric -#define ICON_MD_ALPHA_C_BOX "\xf3\xb0\xac\x8a" // U+F0B0A alpha-c-box, aliases: alphabet-c-box, letter-c-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_C_BOX_OUTLINE "\xf3\xb0\xaf\xb1" // U+F0BF1 alpha-c-box-outline, aliases: alphabet-c-box-outline, letter-c-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_C_CIRCLE "\xf3\xb0\xaf\xb2" // U+F0BF2 alpha-c-circle, aliases: alphabet-c-circle, letter-c-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_C_CIRCLE_OUTLINE "\xf3\xb0\xaf\xb3" // U+F0BF3 alpha-c-circle-outline, aliases: alphabet-c-circle-outline, letter-c-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_D "\xf3\xb0\xab\xb1" // U+F0AF1 alpha-d, aliases: alphabet-d, letter-d, drive, tags: Automotive, Alpha / Numeric -#define ICON_MD_ALPHA_D_BOX "\xf3\xb0\xac\x8b" // U+F0B0B alpha-d-box, aliases: alphabet-d-box, letter-d-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_D_BOX_OUTLINE "\xf3\xb0\xaf\xb4" // U+F0BF4 alpha-d-box-outline, aliases: alphabet-d-box-outline, letter-d-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_D_CIRCLE "\xf3\xb0\xaf\xb5" // U+F0BF5 alpha-d-circle, aliases: alphabet-d-circle, letter-d-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_D_CIRCLE_OUTLINE "\xf3\xb0\xaf\xb6" // U+F0BF6 alpha-d-circle-outline, aliases: alphabet-d-circle-outline, letter-d-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_E "\xf3\xb0\xab\xb2" // U+F0AF2 alpha-e, aliases: alphabet-e, letter-e, tags: Alpha / Numeric -#define ICON_MD_ALPHA_E_BOX "\xf3\xb0\xac\x8c" // U+F0B0C alpha-e-box, aliases: alphabet-e-box, letter-e-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_E_BOX_OUTLINE "\xf3\xb0\xaf\xb7" // U+F0BF7 alpha-e-box-outline, aliases: alphabet-e-box-outline, letter-e-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_E_CIRCLE "\xf3\xb0\xaf\xb8" // U+F0BF8 alpha-e-circle, aliases: alphabet-e-circle, letter-e-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_E_CIRCLE_OUTLINE "\xf3\xb0\xaf\xb9" // U+F0BF9 alpha-e-circle-outline, aliases: alphabet-e-circle-outline, letter-e-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_F "\xf3\xb0\xab\xb3" // U+F0AF3 alpha-f, aliases: alphabet-f, letter-f, tags: Alpha / Numeric -#define ICON_MD_ALPHA_F_BOX "\xf3\xb0\xac\x8d" // U+F0B0D alpha-f-box, aliases: alphabet-f-box, letter-f-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_F_BOX_OUTLINE "\xf3\xb0\xaf\xba" // U+F0BFA alpha-f-box-outline, aliases: alphabet-f-box-outline, letter-f-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_F_CIRCLE "\xf3\xb0\xaf\xbb" // U+F0BFB alpha-f-circle, aliases: alphabet-f-circle, letter-f-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_F_CIRCLE_OUTLINE "\xf3\xb0\xaf\xbc" // U+F0BFC alpha-f-circle-outline, aliases: alphabet-f-circle-outline, letter-f-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_G "\xf3\xb0\xab\xb4" // U+F0AF4 alpha-g, aliases: alphabet-g, letter-g, tags: Alpha / Numeric -#define ICON_MD_ALPHA_G_BOX "\xf3\xb0\xac\x8e" // U+F0B0E alpha-g-box, aliases: alphabet-g-box, letter-g-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_G_BOX_OUTLINE "\xf3\xb0\xaf\xbd" // U+F0BFD alpha-g-box-outline, aliases: alphabet-g-box-outline, letter-g-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_G_CIRCLE "\xf3\xb0\xaf\xbe" // U+F0BFE alpha-g-circle, aliases: alphabet-g-circle, letter-g-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_G_CIRCLE_OUTLINE "\xf3\xb0\xaf\xbf" // U+F0BFF alpha-g-circle-outline, aliases: alphabet-g-circle-outline, letter-g-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_H "\xf3\xb0\xab\xb5" // U+F0AF5 alpha-h, aliases: alphabet-h, letter-h, tags: Alpha / Numeric -#define ICON_MD_ALPHA_H_BOX "\xf3\xb0\xac\x8f" // U+F0B0F alpha-h-box, aliases: alphabet-h-box, letter-h-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_H_BOX_OUTLINE "\xf3\xb0\xb0\x80" // U+F0C00 alpha-h-box-outline, aliases: alphabet-h-box-outline, letter-h-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_H_CIRCLE "\xf3\xb0\xb0\x81" // U+F0C01 alpha-h-circle, aliases: alphabet-h-circle, letter-h-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_H_CIRCLE_OUTLINE "\xf3\xb0\xb0\x82" // U+F0C02 alpha-h-circle-outline, aliases: alphabet-h-circle-outline, letter-h-circle-outline, helipad, tags: Alpha / Numeric -#define ICON_MD_ALPHA_I "\xf3\xb0\xab\xb6" // U+F0AF6 alpha-i, aliases: alphabet-i, letter-i, roman-numeral-1, tags: Alpha / Numeric -#define ICON_MD_ALPHA_I_BOX "\xf3\xb0\xac\x90" // U+F0B10 alpha-i-box, aliases: alphabet-i-box, letter-i-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_I_BOX_OUTLINE "\xf3\xb0\xb0\x83" // U+F0C03 alpha-i-box-outline, aliases: alphabet-i-box-outline, letter-i-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_I_CIRCLE "\xf3\xb0\xb0\x84" // U+F0C04 alpha-i-circle, aliases: alphabet-i-circle, letter-i-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_I_CIRCLE_OUTLINE "\xf3\xb0\xb0\x85" // U+F0C05 alpha-i-circle-outline, aliases: alphabet-i-circle-outline, letter-i-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_J "\xf3\xb0\xab\xb7" // U+F0AF7 alpha-j, aliases: alphabet-j, letter-j, tags: Alpha / Numeric -#define ICON_MD_ALPHA_J_BOX "\xf3\xb0\xac\x91" // U+F0B11 alpha-j-box, aliases: alphabet-j-box, letter-j-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_J_BOX_OUTLINE "\xf3\xb0\xb0\x86" // U+F0C06 alpha-j-box-outline, aliases: alphabet-j-box-outline, letter-j-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_J_CIRCLE "\xf3\xb0\xb0\x87" // U+F0C07 alpha-j-circle, aliases: alphabet-j-circle, letter-j-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_J_CIRCLE_OUTLINE "\xf3\xb0\xb0\x88" // U+F0C08 alpha-j-circle-outline, aliases: alphabet-j-circle-outline, letter-j-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_K "\xf3\xb0\xab\xb8" // U+F0AF8 alpha-k, aliases: alphabet-k, letter-k, tags: Alpha / Numeric -#define ICON_MD_ALPHA_K_BOX "\xf3\xb0\xac\x92" // U+F0B12 alpha-k-box, aliases: alphabet-k-box, letter-k-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_K_BOX_OUTLINE "\xf3\xb0\xb0\x89" // U+F0C09 alpha-k-box-outline, aliases: alphabet-k-box-outline, letter-k-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_K_CIRCLE "\xf3\xb0\xb0\x8a" // U+F0C0A alpha-k-circle, aliases: alphabet-k-circle, letter-k-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_K_CIRCLE_OUTLINE "\xf3\xb0\xb0\x8b" // U+F0C0B alpha-k-circle-outline, aliases: alphabet-k-circle-outline, letter-k-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_L "\xf3\xb0\xab\xb9" // U+F0AF9 alpha-l, aliases: alphabet-l, letter-l, tags: Alpha / Numeric -#define ICON_MD_ALPHA_L_BOX "\xf3\xb0\xac\x93" // U+F0B13 alpha-l-box, aliases: alphabet-l-box, letter-l-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_L_BOX_OUTLINE "\xf3\xb0\xb0\x8c" // U+F0C0C alpha-l-box-outline, aliases: alphabet-l-box-outline, letter-l-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_L_CIRCLE "\xf3\xb0\xb0\x8d" // U+F0C0D alpha-l-circle, aliases: alphabet-l-circle, letter-l-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_L_CIRCLE_OUTLINE "\xf3\xb0\xb0\x8e" // U+F0C0E alpha-l-circle-outline, aliases: alphabet-l-circle-outline, letter-l-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_M "\xf3\xb0\xab\xba" // U+F0AFA alpha-m, aliases: alphabet-m, letter-m, tags: Alpha / Numeric -#define ICON_MD_ALPHA_M_BOX "\xf3\xb0\xac\x94" // U+F0B14 alpha-m-box, aliases: alphabet-m-box, letter-m-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_M_BOX_OUTLINE "\xf3\xb0\xb0\x8f" // U+F0C0F alpha-m-box-outline, aliases: alphabet-m-box-outline, letter-m-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_M_CIRCLE "\xf3\xb0\xb0\x90" // U+F0C10 alpha-m-circle, aliases: alphabet-m-circle, letter-m-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_M_CIRCLE_OUTLINE "\xf3\xb0\xb0\x91" // U+F0C11 alpha-m-circle-outline, aliases: alphabet-m-circle-outline, letter-m-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_N "\xf3\xb0\xab\xbb" // U+F0AFB alpha-n, aliases: alphabet-n, letter-n, neutral, tags: Automotive, Alpha / Numeric -#define ICON_MD_ALPHA_N_BOX "\xf3\xb0\xac\x95" // U+F0B15 alpha-n-box, aliases: alphabet-n-box, letter-n-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_N_BOX_OUTLINE "\xf3\xb0\xb0\x92" // U+F0C12 alpha-n-box-outline, aliases: alphabet-n-box-outline, letter-n-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_N_CIRCLE "\xf3\xb0\xb0\x93" // U+F0C13 alpha-n-circle, aliases: alphabet-n-circle, letter-n-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_N_CIRCLE_OUTLINE "\xf3\xb0\xb0\x94" // U+F0C14 alpha-n-circle-outline, aliases: alphabet-n-circle-outline, letter-n-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_O "\xf3\xb0\xab\xbc" // U+F0AFC alpha-o, aliases: alphabet-o, letter-o, tags: Alpha / Numeric -#define ICON_MD_ALPHA_O_BOX "\xf3\xb0\xac\x96" // U+F0B16 alpha-o-box, aliases: alphabet-o-box, letter-o-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_O_BOX_OUTLINE "\xf3\xb0\xb0\x95" // U+F0C15 alpha-o-box-outline, aliases: alphabet-o-box-outline, letter-o-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_O_CIRCLE "\xf3\xb0\xb0\x96" // U+F0C16 alpha-o-circle, aliases: alphabet-o-circle, letter-o-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_O_CIRCLE_OUTLINE "\xf3\xb0\xb0\x97" // U+F0C17 alpha-o-circle-outline, aliases: alphabet-o-circle-outline, letter-o-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_P "\xf3\xb0\xab\xbd" // U+F0AFD alpha-p, aliases: alphabet-p, letter-p, park, tags: Automotive, Alpha / Numeric -#define ICON_MD_ALPHA_P_BOX "\xf3\xb0\xac\x97" // U+F0B17 alpha-p-box, aliases: alphabet-p-box, letter-p-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_P_BOX_OUTLINE "\xf3\xb0\xb0\x98" // U+F0C18 alpha-p-box-outline, aliases: alphabet-p-box-outline, letter-p-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_P_CIRCLE "\xf3\xb0\xb0\x99" // U+F0C19 alpha-p-circle, aliases: alphabet-p-circle, letter-p-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_P_CIRCLE_OUTLINE "\xf3\xb0\xb0\x9a" // U+F0C1A alpha-p-circle-outline, aliases: alphabet-p-circle-outline, letter-p-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_Q "\xf3\xb0\xab\xbe" // U+F0AFE alpha-q, aliases: alphabet-q, letter-q, tags: Alpha / Numeric -#define ICON_MD_ALPHA_Q_BOX "\xf3\xb0\xac\x98" // U+F0B18 alpha-q-box, aliases: alphabet-q-box, letter-q-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_Q_BOX_OUTLINE "\xf3\xb0\xb0\x9b" // U+F0C1B alpha-q-box-outline, aliases: alphabet-q-box-outline, letter-q-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_Q_CIRCLE "\xf3\xb0\xb0\x9c" // U+F0C1C alpha-q-circle, aliases: alphabet-q-circle, letter-q-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_Q_CIRCLE_OUTLINE "\xf3\xb0\xb0\x9d" // U+F0C1D alpha-q-circle-outline, aliases: alphabet-q-circle-outline, letter-q-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_R "\xf3\xb0\xab\xbf" // U+F0AFF alpha-r, aliases: alphabet-r, letter-r, reverse, tags: Automotive, Alpha / Numeric -#define ICON_MD_ALPHA_R_BOX "\xf3\xb0\xac\x99" // U+F0B19 alpha-r-box, aliases: alphabet-r-box, letter-r-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_R_BOX_OUTLINE "\xf3\xb0\xb0\x9e" // U+F0C1E alpha-r-box-outline, aliases: alphabet-r-box-outline, letter-r-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_R_CIRCLE "\xf3\xb0\xb0\x9f" // U+F0C1F alpha-r-circle, aliases: alphabet-r-circle, letter-r-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_R_CIRCLE_OUTLINE "\xf3\xb0\xb0\xa0" // U+F0C20 alpha-r-circle-outline, aliases: alphabet-r-circle-outline, letter-r-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_S "\xf3\xb0\xac\x80" // U+F0B00 alpha-s, aliases: alphabet-s, letter-s, tags: Alpha / Numeric -#define ICON_MD_ALPHA_S_BOX "\xf3\xb0\xac\x9a" // U+F0B1A alpha-s-box, aliases: alphabet-s-box, letter-s-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_S_BOX_OUTLINE "\xf3\xb0\xb0\xa1" // U+F0C21 alpha-s-box-outline, aliases: alphabet-s-box-outline, letter-s-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_S_CIRCLE "\xf3\xb0\xb0\xa2" // U+F0C22 alpha-s-circle, aliases: alphabet-s-circle, letter-s-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_S_CIRCLE_OUTLINE "\xf3\xb0\xb0\xa3" // U+F0C23 alpha-s-circle-outline, aliases: alphabet-s-circle-outline, letter-s-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_T "\xf3\xb0\xac\x81" // U+F0B01 alpha-t, aliases: alphabet-t, letter-t, tags: Alpha / Numeric -#define ICON_MD_ALPHA_T_BOX "\xf3\xb0\xac\x9b" // U+F0B1B alpha-t-box, aliases: alphabet-t-box, letter-t-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_T_BOX_OUTLINE "\xf3\xb0\xb0\xa4" // U+F0C24 alpha-t-box-outline, aliases: alphabet-t-box-outline, letter-t-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_T_CIRCLE "\xf3\xb0\xb0\xa5" // U+F0C25 alpha-t-circle, aliases: alphabet-t-circle, letter-t-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_T_CIRCLE_OUTLINE "\xf3\xb0\xb0\xa6" // U+F0C26 alpha-t-circle-outline, aliases: alphabet-t-circle-outline, letter-t-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_U "\xf3\xb0\xac\x82" // U+F0B02 alpha-u, aliases: alphabet-u, letter-u, tags: Alpha / Numeric -#define ICON_MD_ALPHA_U_BOX "\xf3\xb0\xac\x9c" // U+F0B1C alpha-u-box, aliases: alphabet-u-box, letter-u-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_U_BOX_OUTLINE "\xf3\xb0\xb0\xa7" // U+F0C27 alpha-u-box-outline, aliases: alphabet-u-box-outline, letter-u-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_U_CIRCLE "\xf3\xb0\xb0\xa8" // U+F0C28 alpha-u-circle, aliases: alphabet-u-circle, letter-u-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_U_CIRCLE_OUTLINE "\xf3\xb0\xb0\xa9" // U+F0C29 alpha-u-circle-outline, aliases: alphabet-u-circle-outline, letter-u-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_V "\xf3\xb0\xac\x83" // U+F0B03 alpha-v, aliases: alphabet-v, letter-v, roman-numeral-5, tags: Alpha / Numeric -#define ICON_MD_ALPHA_V_BOX "\xf3\xb0\xac\x9d" // U+F0B1D alpha-v-box, aliases: alphabet-v-box, letter-v-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_V_BOX_OUTLINE "\xf3\xb0\xb0\xaa" // U+F0C2A alpha-v-box-outline, aliases: alphabet-v-box-outline, letter-v-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_V_CIRCLE "\xf3\xb0\xb0\xab" // U+F0C2B alpha-v-circle, aliases: alphabet-v-circle, letter-v-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_V_CIRCLE_OUTLINE "\xf3\xb0\xb0\xac" // U+F0C2C alpha-v-circle-outline, aliases: alphabet-v-circle-outline, letter-v-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_W "\xf3\xb0\xac\x84" // U+F0B04 alpha-w, aliases: alphabet-w, letter-w, tags: Alpha / Numeric -#define ICON_MD_ALPHA_W_BOX "\xf3\xb0\xac\x9e" // U+F0B1E alpha-w-box, aliases: alphabet-w-box, letter-w-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_W_BOX_OUTLINE "\xf3\xb0\xb0\xad" // U+F0C2D alpha-w-box-outline, aliases: alphabet-w-box-outline, letter-w-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_W_CIRCLE "\xf3\xb0\xb0\xae" // U+F0C2E alpha-w-circle, aliases: alphabet-w-circle, letter-w-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_W_CIRCLE_OUTLINE "\xf3\xb0\xb0\xaf" // U+F0C2F alpha-w-circle-outline, aliases: alphabet-w-circle-outline, letter-w-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_X "\xf3\xb0\xac\x85" // U+F0B05 alpha-x, aliases: alphabet-x, letter-x, roman-numeral-10, tags: Alpha / Numeric -#define ICON_MD_ALPHA_X_BOX "\xf3\xb0\xac\x9f" // U+F0B1F alpha-x-box, aliases: alphabet-x-box, letter-x-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_X_BOX_OUTLINE "\xf3\xb0\xb0\xb0" // U+F0C30 alpha-x-box-outline, aliases: alphabet-x-box-outline, letter-x-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_X_CIRCLE "\xf3\xb0\xb0\xb1" // U+F0C31 alpha-x-circle, aliases: alphabet-x-circle, letter-x-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_X_CIRCLE_OUTLINE "\xf3\xb0\xb0\xb2" // U+F0C32 alpha-x-circle-outline, aliases: alphabet-x-circle-outline, letter-x-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_Y "\xf3\xb0\xac\x86" // U+F0B06 alpha-y, aliases: alphabet-y, letter-y, tags: Alpha / Numeric -#define ICON_MD_ALPHA_Y_BOX "\xf3\xb0\xac\xa0" // U+F0B20 alpha-y-box, aliases: alphabet-y-box, letter-y-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_Y_BOX_OUTLINE "\xf3\xb0\xb0\xb3" // U+F0C33 alpha-y-box-outline, aliases: alphabet-y-box-outline, letter-y-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_Y_CIRCLE "\xf3\xb0\xb0\xb4" // U+F0C34 alpha-y-circle, aliases: alphabet-y-circle, letter-y-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_Y_CIRCLE_OUTLINE "\xf3\xb0\xb0\xb5" // U+F0C35 alpha-y-circle-outline, aliases: alphabet-y-circle-outline, letter-y-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_Z "\xf3\xb0\xac\x87" // U+F0B07 alpha-z, aliases: alphabet-z, letter-z, tags: Alpha / Numeric -#define ICON_MD_ALPHA_Z_BOX "\xf3\xb0\xac\xa1" // U+F0B21 alpha-z-box, aliases: alphabet-z-box, letter-z-box, tags: Alpha / Numeric -#define ICON_MD_ALPHA_Z_BOX_OUTLINE "\xf3\xb0\xb0\xb6" // U+F0C36 alpha-z-box-outline, aliases: alphabet-z-box-outline, letter-z-box-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHA_Z_CIRCLE "\xf3\xb0\xb0\xb7" // U+F0C37 alpha-z-circle, aliases: alphabet-z-circle, letter-z-circle, tags: Alpha / Numeric -#define ICON_MD_ALPHA_Z_CIRCLE_OUTLINE "\xf3\xb0\xb0\xb8" // U+F0C38 alpha-z-circle-outline, aliases: alphabet-z-circle-outline, letter-z-circle-outline, tags: Alpha / Numeric -#define ICON_MD_ALPHABET_AUREBESH "\xf3\xb1\x8c\xac" // U+F132C alphabet-aurebesh, aliases: writing-system-aurebesh, tags: Alpha / Numeric -#define ICON_MD_ALPHABET_CYRILLIC "\xf3\xb1\x8c\xad" // U+F132D alphabet-cyrillic, aliases: writing-system-cyrillic, tags: Alpha / Numeric -#define ICON_MD_ALPHABET_GREEK "\xf3\xb1\x8c\xae" // U+F132E alphabet-greek, aliases: writing-system-greek, tags: Alpha / Numeric -#define ICON_MD_ALPHABET_LATIN "\xf3\xb1\x8c\xaf" // U+F132F alphabet-latin, aliases: writing-system-latin, tags: Alpha / Numeric -#define ICON_MD_ALPHABET_PIQAD "\xf3\xb1\x8c\xb0" // U+F1330 alphabet-piqad, aliases: writing-system-piqad, tags: Alpha / Numeric -#define ICON_MD_ALPHABET_TENGWAR "\xf3\xb1\x8c\xb7" // U+F1337 alphabet-tengwar, aliases: writing-system-tengwar, tags: Alpha / Numeric -#define ICON_MD_ALPHABETICAL "\xf3\xb0\x80\xac" // U+F002C alphabetical, aliases: letters, a-b-c, abc, tags: Alpha / Numeric -#define ICON_MD_ALPHABETICAL_OFF "\xf3\xb1\x80\x8c" // U+F100C alphabetical-off, aliases: letters-off, abc-off, a-b-c-off, tags: Alpha / Numeric -#define ICON_MD_ALPHABETICAL_VARIANT "\xf3\xb1\x80\x8d" // U+F100D alphabetical-variant, aliases: letters, abc, a-b-c, tags: Alpha / Numeric -#define ICON_MD_ALPHABETICAL_VARIANT_OFF "\xf3\xb1\x80\x8e" // U+F100E alphabetical-variant-off, aliases: letters-off, abc-off, a-b-c-off, tags: Alpha / Numeric -#define ICON_MD_ALTIMETER "\xf3\xb0\x97\x97" // U+F05D7 altimeter -#define ICON_MD_AMBULANCE "\xf3\xb0\x80\xaf" // U+F002F ambulance, tags: Transportation + Road, Medical / Hospital -#define ICON_MD_AMMUNITION "\xf3\xb0\xb3\xa8" // U+F0CE8 ammunition, aliases: bullets -#define ICON_MD_AMPERSAND "\xf3\xb0\xaa\x8d" // U+F0A8D ampersand, aliases: and -#define ICON_MD_AMPLIFIER "\xf3\xb0\x80\xb0" // U+F0030 amplifier, tags: Home Automation, Music -#define ICON_MD_AMPLIFIER_OFF "\xf3\xb1\x86\xb5" // U+F11B5 amplifier-off -#define ICON_MD_ANCHOR "\xf3\xb0\x80\xb1" // U+F0031 anchor, tags: Transportation + Water -#define ICON_MD_ANDROID "\xf3\xb0\x80\xb2" // U+F0032 android, tags: Brand / Logo -#define ICON_MD_ANDROID_STUDIO "\xf3\xb0\x80\xb4" // U+F0034 android-studio, aliases: math-compass-variant, tags: Brand / Logo -#define ICON_MD_ANGLE_ACUTE "\xf3\xb0\xa4\xb7" // U+F0937 angle-acute, tags: Math -#define ICON_MD_ANGLE_OBTUSE "\xf3\xb0\xa4\xb8" // U+F0938 angle-obtuse, tags: Math -#define ICON_MD_ANGLE_RIGHT "\xf3\xb0\xa4\xb9" // U+F0939 angle-right, tags: Math -#define ICON_MD_ANGULAR "\xf3\xb0\x9a\xb2" // U+F06B2 angular, tags: Brand / Logo, Developer / Languages -#define ICON_MD_ANGULARJS "\xf3\xb0\x9a\xbf" // U+F06BF angularjs, tags: Brand / Logo, Developer / Languages -#define ICON_MD_ANIMATION "\xf3\xb0\x97\x98" // U+F05D8 animation, aliases: auto-awesome-motion -#define ICON_MD_ANIMATION_OUTLINE "\xf3\xb0\xaa\x8f" // U+F0A8F animation-outline -#define ICON_MD_ANIMATION_PLAY "\xf3\xb0\xa4\xba" // U+F093A animation-play -#define ICON_MD_ANIMATION_PLAY_OUTLINE "\xf3\xb0\xaa\x90" // U+F0A90 animation-play-outline -#define ICON_MD_ANSIBLE "\xf3\xb1\x82\x9a" // U+F109A ansible, tags: Developer / Languages, Brand / Logo -#define ICON_MD_ANTENNA "\xf3\xb1\x84\x99" // U+F1119 antenna -#define ICON_MD_ANVIL "\xf3\xb0\xa2\x9b" // U+F089B anvil -#define ICON_MD_APACHE_KAFKA "\xf3\xb1\x80\x8f" // U+F100F apache-kafka, tags: Brand / Logo, Developer / Languages -#define ICON_MD_API "\xf3\xb1\x82\x9b" // U+F109B api, tags: Developer / Languages -#define ICON_MD_API_OFF "\xf3\xb1\x89\x97" // U+F1257 api-off, tags: Developer / Languages -#define ICON_MD_APPLE "\xf3\xb0\x80\xb5" // U+F0035 apple, tags: Brand / Logo -#define ICON_MD_APPLE_FINDER "\xf3\xb0\x80\xb6" // U+F0036 apple-finder, tags: Brand / Logo -#define ICON_MD_APPLE_ICLOUD "\xf3\xb0\x80\xb8" // U+F0038 apple-icloud, aliases: apple-mobileme, tags: Brand / Logo -#define ICON_MD_APPLE_IOS "\xf3\xb0\x80\xb7" // U+F0037 apple-ios, tags: Brand / Logo -#define ICON_MD_APPLE_KEYBOARD_CAPS "\xf3\xb0\x98\xb2" // U+F0632 apple-keyboard-caps -#define ICON_MD_APPLE_KEYBOARD_COMMAND "\xf3\xb0\x98\xb3" // U+F0633 apple-keyboard-command -#define ICON_MD_APPLE_KEYBOARD_CONTROL "\xf3\xb0\x98\xb4" // U+F0634 apple-keyboard-control -#define ICON_MD_APPLE_KEYBOARD_OPTION "\xf3\xb0\x98\xb5" // U+F0635 apple-keyboard-option -#define ICON_MD_APPLE_KEYBOARD_SHIFT "\xf3\xb0\x98\xb6" // U+F0636 apple-keyboard-shift -#define ICON_MD_APPLE_SAFARI "\xf3\xb0\x80\xb9" // U+F0039 apple-safari, tags: Brand / Logo -#define ICON_MD_APPLICATION "\xf3\xb0\xa3\x86" // U+F08C6 application, aliases: iframe -#define ICON_MD_APPLICATION_ARRAY "\xf3\xb1\x83\xb5" // U+F10F5 application-array, aliases: iframe-array, tags: Developer / Languages -#define ICON_MD_APPLICATION_ARRAY_OUTLINE "\xf3\xb1\x83\xb6" // U+F10F6 application-array-outline, aliases: iframe-array-outline, tags: Developer / Languages -#define ICON_MD_APPLICATION_BRACES "\xf3\xb1\x83\xb7" // U+F10F7 application-braces, aliases: iframe-braces, tags: Developer / Languages -#define ICON_MD_APPLICATION_BRACES_OUTLINE "\xf3\xb1\x83\xb8" // U+F10F8 application-braces-outline, aliases: iframe-braces-outline, tags: Developer / Languages -#define ICON_MD_APPLICATION_BRACKETS "\xf3\xb0\xb2\x8b" // U+F0C8B application-brackets, aliases: iframe-brackets, tags: Developer / Languages -#define ICON_MD_APPLICATION_BRACKETS_OUTLINE "\xf3\xb0\xb2\x8c" // U+F0C8C application-brackets-outline, aliases: iframe-brackets-outline, tags: Developer / Languages -#define ICON_MD_APPLICATION_COG "\xf3\xb0\x99\xb5" // U+F0675 application-cog, aliases: iframe-cog -#define ICON_MD_APPLICATION_COG_OUTLINE "\xf3\xb1\x95\xb7" // U+F1577 application-cog-outline, aliases: application-settings, iframe-cog-outline, tags: Settings -#define ICON_MD_APPLICATION_EDIT "\xf3\xb0\x82\xae" // U+F00AE application-edit, aliases: iframe-edit, tags: Edit / Modify -#define ICON_MD_APPLICATION_EDIT_OUTLINE "\xf3\xb0\x98\x99" // U+F0619 application-edit-outline, aliases: iframe-edit-outline, tags: Edit / Modify -#define ICON_MD_APPLICATION_EXPORT "\xf3\xb0\xb6\xad" // U+F0DAD application-export, aliases: iframe-export-outline -#define ICON_MD_APPLICATION_IMPORT "\xf3\xb0\xb6\xae" // U+F0DAE application-import, aliases: iframe-import-outline -#define ICON_MD_APPLICATION_OUTLINE "\xf3\xb0\x98\x94" // U+F0614 application-outline, aliases: web-asset, iframe-outline -#define ICON_MD_APPLICATION_PARENTHESES "\xf3\xb1\x83\xb9" // U+F10F9 application-parentheses, aliases: iframe-parentheses, tags: Developer / Languages -#define ICON_MD_APPLICATION_PARENTHESES_OUTLINE "\xf3\xb1\x83\xba" // U+F10FA application-parentheses-outline, aliases: iframe-parentheses-outline, tags: Developer / Languages -#define ICON_MD_APPLICATION_SETTINGS "\xf3\xb0\xad\xa0" // U+F0B60 application-settings, aliases: iframe-settings, tags: Settings -#define ICON_MD_APPLICATION_SETTINGS_OUTLINE "\xf3\xb1\x95\x95" // U+F1555 application-settings-outline, aliases: iframe-settings-outline, tags: Settings -#define ICON_MD_APPLICATION_VARIABLE "\xf3\xb1\x83\xbb" // U+F10FB application-variable, aliases: iframe-variable, tags: Developer / Languages -#define ICON_MD_APPLICATION_VARIABLE_OUTLINE "\xf3\xb1\x83\xbc" // U+F10FC application-variable-outline, aliases: iframe-variable-outline, tags: Developer / Languages -#define ICON_MD_APPROXIMATELY_EQUAL "\xf3\xb0\xbe\x9e" // U+F0F9E approximately-equal, tags: Math -#define ICON_MD_APPROXIMATELY_EQUAL_BOX "\xf3\xb0\xbe\x9f" // U+F0F9F approximately-equal-box, tags: Math -#define ICON_MD_APPS "\xf3\xb0\x80\xbb" // U+F003B apps, tags: View -#define ICON_MD_APPS_BOX "\xf3\xb0\xb5\x86" // U+F0D46 apps-box -#define ICON_MD_ARCH "\xf3\xb0\xa3\x87" // U+F08C7 arch, tags: Brand / Logo -#define ICON_MD_ARCHIVE "\xf3\xb0\x80\xbc" // U+F003C archive, aliases: box -#define ICON_MD_ARCHIVE_ALERT "\xf3\xb1\x93\xbd" // U+F14FD archive-alert, aliases: box-alert, tags: Alert / Error -#define ICON_MD_ARCHIVE_ALERT_OUTLINE "\xf3\xb1\x93\xbe" // U+F14FE archive-alert-outline, aliases: box-alert-outline, tags: Alert / Error -#define ICON_MD_ARCHIVE_ARROW_DOWN "\xf3\xb1\x89\x99" // U+F1259 archive-arrow-down, aliases: box-arrow-down, this-side-down -#define ICON_MD_ARCHIVE_ARROW_DOWN_OUTLINE "\xf3\xb1\x89\x9a" // U+F125A archive-arrow-down-outline, aliases: box-arrow-down, this-side-down-outline -#define ICON_MD_ARCHIVE_ARROW_UP "\xf3\xb1\x89\x9b" // U+F125B archive-arrow-up, aliases: box-arrow-up, this-side-up -#define ICON_MD_ARCHIVE_ARROW_UP_OUTLINE "\xf3\xb1\x89\x9c" // U+F125C archive-arrow-up-outline, aliases: box-arrow-up-outline, this-side-up-outline -#define ICON_MD_ARCHIVE_CANCEL "\xf3\xb1\x9d\x8b" // U+F174B archive-cancel, aliases: box-cancel -#define ICON_MD_ARCHIVE_CANCEL_OUTLINE "\xf3\xb1\x9d\x8c" // U+F174C archive-cancel-outline, aliases: box-cancel-outline -#define ICON_MD_ARCHIVE_CHECK "\xf3\xb1\x9d\x8d" // U+F174D archive-check, aliases: box-check -#define ICON_MD_ARCHIVE_CHECK_OUTLINE "\xf3\xb1\x9d\x8e" // U+F174E archive-check-outline, aliases: box-check-outline -#define ICON_MD_ARCHIVE_CLOCK "\xf3\xb1\x9d\x8f" // U+F174F archive-clock, aliases: box-clock, box-time, archive-time, tags: Date / Time -#define ICON_MD_ARCHIVE_CLOCK_OUTLINE "\xf3\xb1\x9d\x90" // U+F1750 archive-clock-outline, aliases: box-clock-outline, box-time-outline, archive-time-outline, tags: Date / Time -#define ICON_MD_ARCHIVE_COG "\xf3\xb1\x9d\x91" // U+F1751 archive-cog, aliases: box-cog -#define ICON_MD_ARCHIVE_COG_OUTLINE "\xf3\xb1\x9d\x92" // U+F1752 archive-cog-outline, aliases: box-cog-outline -#define ICON_MD_ARCHIVE_EDIT "\xf3\xb1\x9d\x93" // U+F1753 archive-edit, aliases: box-edit, tags: Edit / Modify -#define ICON_MD_ARCHIVE_EDIT_OUTLINE "\xf3\xb1\x9d\x94" // U+F1754 archive-edit-outline, aliases: box-edit-outline, tags: Edit / Modify -#define ICON_MD_ARCHIVE_EYE "\xf3\xb1\x9d\x95" // U+F1755 archive-eye, aliases: archive-view, box-eye, box-view -#define ICON_MD_ARCHIVE_EYE_OUTLINE "\xf3\xb1\x9d\x96" // U+F1756 archive-eye-outline, aliases: archive-view-outline, box-eye-outline, box-view-outline -#define ICON_MD_ARCHIVE_LOCK "\xf3\xb1\x9d\x97" // U+F1757 archive-lock, aliases: box-lock, tags: Lock -#define ICON_MD_ARCHIVE_LOCK_OPEN "\xf3\xb1\x9d\x98" // U+F1758 archive-lock-open, aliases: box-lock-open, tags: Lock -#define ICON_MD_ARCHIVE_LOCK_OPEN_OUTLINE "\xf3\xb1\x9d\x99" // U+F1759 archive-lock-open-outline, aliases: box-lock-open-outline, tags: Lock -#define ICON_MD_ARCHIVE_LOCK_OUTLINE "\xf3\xb1\x9d\x9a" // U+F175A archive-lock-outline, aliases: box-lock-outline, tags: Lock -#define ICON_MD_ARCHIVE_MARKER "\xf3\xb1\x9d\x9b" // U+F175B archive-marker, aliases: archive-location, box-marker, box-location, tags: Navigation -#define ICON_MD_ARCHIVE_MARKER_OUTLINE "\xf3\xb1\x9d\x9c" // U+F175C archive-marker-outline, aliases: archive-location-outline, box-marker-outline, box-location-outline, tags: Navigation -#define ICON_MD_ARCHIVE_MINUS "\xf3\xb1\x9d\x9d" // U+F175D archive-minus, aliases: box-minus -#define ICON_MD_ARCHIVE_MINUS_OUTLINE "\xf3\xb1\x9d\x9e" // U+F175E archive-minus-outline, aliases: box-minus-outline -#define ICON_MD_ARCHIVE_MUSIC "\xf3\xb1\x9d\x9f" // U+F175F archive-music, aliases: box-music, tags: Music -#define ICON_MD_ARCHIVE_MUSIC_OUTLINE "\xf3\xb1\x9d\xa0" // U+F1760 archive-music-outline, aliases: box-music-outline, tags: Music -#define ICON_MD_ARCHIVE_OFF "\xf3\xb1\x9d\xa1" // U+F1761 archive-off, aliases: box-off -#define ICON_MD_ARCHIVE_OFF_OUTLINE "\xf3\xb1\x9d\xa2" // U+F1762 archive-off-outline, aliases: box-off-outline -#define ICON_MD_ARCHIVE_OUTLINE "\xf3\xb1\x88\x8e" // U+F120E archive-outline, aliases: box-outline -#define ICON_MD_ARCHIVE_PLUS "\xf3\xb1\x9d\xa3" // U+F1763 archive-plus, aliases: archive-add, box-plus, box-add -#define ICON_MD_ARCHIVE_PLUS_OUTLINE "\xf3\xb1\x9d\xa4" // U+F1764 archive-plus-outline, aliases: archive-add-outline, box-plus-outline, box-add-outline -#define ICON_MD_ARCHIVE_REFRESH "\xf3\xb1\x9d\xa5" // U+F1765 archive-refresh, aliases: box-refresh -#define ICON_MD_ARCHIVE_REFRESH_OUTLINE "\xf3\xb1\x9d\xa6" // U+F1766 archive-refresh-outline, aliases: box-refresh-outline -#define ICON_MD_ARCHIVE_REMOVE "\xf3\xb1\x9d\xa7" // U+F1767 archive-remove, aliases: box-remove -#define ICON_MD_ARCHIVE_REMOVE_OUTLINE "\xf3\xb1\x9d\xa8" // U+F1768 archive-remove-outline, aliases: box-remove-outline -#define ICON_MD_ARCHIVE_SEARCH "\xf3\xb1\x9d\xa9" // U+F1769 archive-search, aliases: box-search -#define ICON_MD_ARCHIVE_SEARCH_OUTLINE "\xf3\xb1\x9d\xaa" // U+F176A archive-search-outline, aliases: box-search-outline -#define ICON_MD_ARCHIVE_SETTINGS "\xf3\xb1\x9d\xab" // U+F176B archive-settings, aliases: box-settings, tags: Settings -#define ICON_MD_ARCHIVE_SETTINGS_OUTLINE "\xf3\xb1\x9d\xac" // U+F176C archive-settings-outline, aliases: box-settings-outline, tags: Settings -#define ICON_MD_ARCHIVE_STAR "\xf3\xb1\x9d\xad" // U+F176D archive-star, aliases: archive-favorite, box-star, box-favorite -#define ICON_MD_ARCHIVE_STAR_OUTLINE "\xf3\xb1\x9d\xae" // U+F176E archive-star-outline, aliases: archive-favorite-outline, box-star-outline, box-favorite-outline -#define ICON_MD_ARCHIVE_SYNC "\xf3\xb1\x9d\xaf" // U+F176F archive-sync, aliases: box-sync -#define ICON_MD_ARCHIVE_SYNC_OUTLINE "\xf3\xb1\x9d\xb0" // U+F1770 archive-sync-outline, aliases: box-sync-outline -#define ICON_MD_ARM_FLEX "\xf3\xb0\xbf\x97" // U+F0FD7 arm-flex -#define ICON_MD_ARM_FLEX_OUTLINE "\xf3\xb0\xbf\x96" // U+F0FD6 arm-flex-outline -#define ICON_MD_ARRANGE_BRING_FORWARD "\xf3\xb0\x80\xbd" // U+F003D arrange-bring-forward, tags: Arrange, Geographic Information System -#define ICON_MD_ARRANGE_BRING_TO_FRONT "\xf3\xb0\x80\xbe" // U+F003E arrange-bring-to-front, tags: Arrange, Geographic Information System -#define ICON_MD_ARRANGE_SEND_BACKWARD "\xf3\xb0\x80\xbf" // U+F003F arrange-send-backward, tags: Arrange, Geographic Information System -#define ICON_MD_ARRANGE_SEND_TO_BACK "\xf3\xb0\x81\x80" // U+F0040 arrange-send-to-back, tags: Arrange, Geographic Information System -#define ICON_MD_ARROW_ALL "\xf3\xb0\x81\x81" // U+F0041 arrow-all, tags: Arrow -#define ICON_MD_ARROW_BOTTOM_LEFT "\xf3\xb0\x81\x82" // U+F0042 arrow-bottom-left, aliases: arrow-down-left, tags: Arrow -#define ICON_MD_ARROW_BOTTOM_LEFT_BOLD_BOX "\xf3\xb1\xa5\xa4" // U+F1964 arrow-bottom-left-bold-box, tags: Arrow -#define ICON_MD_ARROW_BOTTOM_LEFT_BOLD_BOX_OUTLINE "\xf3\xb1\xa5\xa5" // U+F1965 arrow-bottom-left-bold-box-outline, tags: Arrow -#define ICON_MD_ARROW_BOTTOM_LEFT_BOLD_OUTLINE "\xf3\xb0\xa6\xb7" // U+F09B7 arrow-bottom-left-bold-outline, aliases: arrow-down-left-bold-outline, tags: Arrow -#define ICON_MD_ARROW_BOTTOM_LEFT_THICK "\xf3\xb0\xa6\xb8" // U+F09B8 arrow-bottom-left-thick, aliases: arrow-down-left-thick, arrow-bottom-left-bold, arrow-down-left-bold, tags: Arrow -#define ICON_MD_ARROW_BOTTOM_LEFT_THIN "\xf3\xb1\xa6\xb6" // U+F19B6 arrow-bottom-left-thin, tags: Arrow -#define ICON_MD_ARROW_BOTTOM_LEFT_THIN_CIRCLE_OUTLINE "\xf3\xb1\x96\x96" // U+F1596 arrow-bottom-left-thin-circle-outline, tags: Arrow -#define ICON_MD_ARROW_BOTTOM_RIGHT "\xf3\xb0\x81\x83" // U+F0043 arrow-bottom-right, aliases: arrow-down-right, tags: Arrow -#define ICON_MD_ARROW_BOTTOM_RIGHT_BOLD_BOX "\xf3\xb1\xa5\xa6" // U+F1966 arrow-bottom-right-bold-box, tags: Arrow -#define ICON_MD_ARROW_BOTTOM_RIGHT_BOLD_BOX_OUTLINE "\xf3\xb1\xa5\xa7" // U+F1967 arrow-bottom-right-bold-box-outline, tags: Arrow -#define ICON_MD_ARROW_BOTTOM_RIGHT_BOLD_OUTLINE "\xf3\xb0\xa6\xb9" // U+F09B9 arrow-bottom-right-bold-outline, aliases: arrow-down-right-bold-outline, tags: Arrow -#define ICON_MD_ARROW_BOTTOM_RIGHT_THICK "\xf3\xb0\xa6\xba" // U+F09BA arrow-bottom-right-thick, aliases: arrow-down-right-thick, arrow-bottom-right-bold, arrow-down-right-bold, tags: Arrow -#define ICON_MD_ARROW_BOTTOM_RIGHT_THIN "\xf3\xb1\xa6\xb7" // U+F19B7 arrow-bottom-right-thin, tags: Arrow -#define ICON_MD_ARROW_BOTTOM_RIGHT_THIN_CIRCLE_OUTLINE "\xf3\xb1\x96\x95" // U+F1595 arrow-bottom-right-thin-circle-outline, tags: Arrow -#define ICON_MD_ARROW_COLLAPSE "\xf3\xb0\x98\x95" // U+F0615 arrow-collapse, aliases: arrow-compress, tags: Arrow -#define ICON_MD_ARROW_COLLAPSE_ALL "\xf3\xb0\x81\x84" // U+F0044 arrow-collapse-all, aliases: arrow-compress-all, tags: Arrow -#define ICON_MD_ARROW_COLLAPSE_DOWN "\xf3\xb0\x9e\x92" // U+F0792 arrow-collapse-down, aliases: arrow-compress-down, tags: Arrow -#define ICON_MD_ARROW_COLLAPSE_HORIZONTAL "\xf3\xb0\xa1\x8c" // U+F084C arrow-collapse-horizontal, tags: Arrow -#define ICON_MD_ARROW_COLLAPSE_LEFT "\xf3\xb0\x9e\x93" // U+F0793 arrow-collapse-left, aliases: arrow-compress-left, tags: Arrow -#define ICON_MD_ARROW_COLLAPSE_RIGHT "\xf3\xb0\x9e\x94" // U+F0794 arrow-collapse-right, aliases: arrow-compress-right, tags: Arrow -#define ICON_MD_ARROW_COLLAPSE_UP "\xf3\xb0\x9e\x95" // U+F0795 arrow-collapse-up, aliases: arrow-compress-up, tags: Arrow -#define ICON_MD_ARROW_COLLAPSE_VERTICAL "\xf3\xb0\xa1\x8d" // U+F084D arrow-collapse-vertical, aliases: compress, tags: Arrow -#define ICON_MD_ARROW_DECISION "\xf3\xb0\xa6\xbb" // U+F09BB arrow-decision, aliases: proxy, tags: Arrow -#define ICON_MD_ARROW_DECISION_AUTO "\xf3\xb0\xa6\xbc" // U+F09BC arrow-decision-auto, aliases: proxy-auto -#define ICON_MD_ARROW_DECISION_AUTO_OUTLINE "\xf3\xb0\xa6\xbd" // U+F09BD arrow-decision-auto-outline, aliases: proxy-auto-outline -#define ICON_MD_ARROW_DECISION_OUTLINE "\xf3\xb0\xa6\xbe" // U+F09BE arrow-decision-outline, aliases: proxy-outline, tags: Arrow -#define ICON_MD_ARROW_DOWN "\xf3\xb0\x81\x85" // U+F0045 arrow-down, aliases: arrow-downward, arrow-bottom, tags: Arrow -#define ICON_MD_ARROW_DOWN_BOLD "\xf3\xb0\x9c\xae" // U+F072E arrow-down-bold, aliases: arrow-bottom-bold, tags: Arrow -#define ICON_MD_ARROW_DOWN_BOLD_BOX "\xf3\xb0\x9c\xaf" // U+F072F arrow-down-bold-box, aliases: arrow-bottom-bold-box, tags: Arrow -#define ICON_MD_ARROW_DOWN_BOLD_BOX_OUTLINE "\xf3\xb0\x9c\xb0" // U+F0730 arrow-down-bold-box-outline, aliases: arrow-bottom-bold-box-outline, tags: Arrow -#define ICON_MD_ARROW_DOWN_BOLD_CIRCLE "\xf3\xb0\x81\x87" // U+F0047 arrow-down-bold-circle, aliases: arrow-bottom-bold-circle, tags: Arrow -#define ICON_MD_ARROW_DOWN_BOLD_CIRCLE_OUTLINE "\xf3\xb0\x81\x88" // U+F0048 arrow-down-bold-circle-outline, aliases: arrow-bottom-bold-circle-outline, tags: Arrow -#define ICON_MD_ARROW_DOWN_BOLD_HEXAGON_OUTLINE "\xf3\xb0\x81\x89" // U+F0049 arrow-down-bold-hexagon-outline, aliases: arrow-bottom-bold-hexagon-outline, tags: Arrow -#define ICON_MD_ARROW_DOWN_BOLD_OUTLINE "\xf3\xb0\xa6\xbf" // U+F09BF arrow-down-bold-outline, aliases: arrow-bottom-bold-outline, tags: Arrow -#define ICON_MD_ARROW_DOWN_BOX "\xf3\xb0\x9b\x80" // U+F06C0 arrow-down-box, aliases: arrow-bottom-box, tags: Arrow -#define ICON_MD_ARROW_DOWN_CIRCLE "\xf3\xb0\xb3\x9b" // U+F0CDB arrow-down-circle, aliases: arrow-bottom-circle, tags: Arrow -#define ICON_MD_ARROW_DOWN_CIRCLE_OUTLINE "\xf3\xb0\xb3\x9c" // U+F0CDC arrow-down-circle-outline, aliases: arrow-bottom-circle-outline, tags: Arrow -#define ICON_MD_ARROW_DOWN_DROP_CIRCLE "\xf3\xb0\x81\x8a" // U+F004A arrow-down-drop-circle, aliases: arrow-drop-down-circle, arrow-bottom-drop-circle, tags: Arrow -#define ICON_MD_ARROW_DOWN_DROP_CIRCLE_OUTLINE "\xf3\xb0\x81\x8b" // U+F004B arrow-down-drop-circle-outline, aliases: arrow-bottom-drop-circle-outline, tags: Arrow -#define ICON_MD_ARROW_DOWN_LEFT "\xf3\xb1\x9e\xa1" // U+F17A1 arrow-down-left, tags: Arrow -#define ICON_MD_ARROW_DOWN_LEFT_BOLD "\xf3\xb1\x9e\xa2" // U+F17A2 arrow-down-left-bold, tags: Arrow -#define ICON_MD_ARROW_DOWN_RIGHT "\xf3\xb1\x9e\xa3" // U+F17A3 arrow-down-right, tags: Arrow -#define ICON_MD_ARROW_DOWN_RIGHT_BOLD "\xf3\xb1\x9e\xa4" // U+F17A4 arrow-down-right-bold -#define ICON_MD_ARROW_DOWN_THICK "\xf3\xb0\x81\x86" // U+F0046 arrow-down-thick, aliases: arrow-bottom-thick, arrow-down-bold, arrow-bottom-bold, tags: Arrow -#define ICON_MD_ARROW_DOWN_THIN "\xf3\xb1\xa6\xb3" // U+F19B3 arrow-down-thin, tags: Arrow -#define ICON_MD_ARROW_DOWN_THIN_CIRCLE_OUTLINE "\xf3\xb1\x96\x99" // U+F1599 arrow-down-thin-circle-outline, tags: Arrow -#define ICON_MD_ARROW_EXPAND "\xf3\xb0\x98\x96" // U+F0616 arrow-expand, tags: Arrow -#define ICON_MD_ARROW_EXPAND_ALL "\xf3\xb0\x81\x8c" // U+F004C arrow-expand-all, tags: Arrow, Geographic Information System -#define ICON_MD_ARROW_EXPAND_DOWN "\xf3\xb0\x9e\x96" // U+F0796 arrow-expand-down, tags: Arrow -#define ICON_MD_ARROW_EXPAND_HORIZONTAL "\xf3\xb0\xa1\x8e" // U+F084E arrow-expand-horizontal, tags: Arrow -#define ICON_MD_ARROW_EXPAND_LEFT "\xf3\xb0\x9e\x97" // U+F0797 arrow-expand-left, tags: Arrow -#define ICON_MD_ARROW_EXPAND_RIGHT "\xf3\xb0\x9e\x98" // U+F0798 arrow-expand-right, tags: Arrow -#define ICON_MD_ARROW_EXPAND_UP "\xf3\xb0\x9e\x99" // U+F0799 arrow-expand-up, tags: Arrow -#define ICON_MD_ARROW_EXPAND_VERTICAL "\xf3\xb0\xa1\x8f" // U+F084F arrow-expand-vertical, tags: Arrow -#define ICON_MD_ARROW_HORIZONTAL_LOCK "\xf3\xb1\x85\x9b" // U+F115B arrow-horizontal-lock, aliases: scroll-horizontal-lock, tags: Lock, Arrow -#define ICON_MD_ARROW_LEFT "\xf3\xb0\x81\x8d" // U+F004D arrow-left, aliases: arrow-back, tags: Arrow -#define ICON_MD_ARROW_LEFT_BOLD "\xf3\xb0\x9c\xb1" // U+F0731 arrow-left-bold, tags: Arrow, Automotive -#define ICON_MD_ARROW_LEFT_BOLD_BOX "\xf3\xb0\x9c\xb2" // U+F0732 arrow-left-bold-box, tags: Arrow -#define ICON_MD_ARROW_LEFT_BOLD_BOX_OUTLINE "\xf3\xb0\x9c\xb3" // U+F0733 arrow-left-bold-box-outline, tags: Arrow -#define ICON_MD_ARROW_LEFT_BOLD_CIRCLE "\xf3\xb0\x81\x8f" // U+F004F arrow-left-bold-circle, tags: Arrow -#define ICON_MD_ARROW_LEFT_BOLD_CIRCLE_OUTLINE "\xf3\xb0\x81\x90" // U+F0050 arrow-left-bold-circle-outline, tags: Arrow -#define ICON_MD_ARROW_LEFT_BOLD_HEXAGON_OUTLINE "\xf3\xb0\x81\x91" // U+F0051 arrow-left-bold-hexagon-outline, tags: Arrow -#define ICON_MD_ARROW_LEFT_BOLD_OUTLINE "\xf3\xb0\xa7\x80" // U+F09C0 arrow-left-bold-outline, tags: Arrow, Automotive -#define ICON_MD_ARROW_LEFT_BOTTOM "\xf3\xb1\x9e\xa5" // U+F17A5 arrow-left-bottom -#define ICON_MD_ARROW_LEFT_BOTTOM_BOLD "\xf3\xb1\x9e\xa6" // U+F17A6 arrow-left-bottom-bold -#define ICON_MD_ARROW_LEFT_BOX "\xf3\xb0\x9b\x81" // U+F06C1 arrow-left-box, tags: Arrow -#define ICON_MD_ARROW_LEFT_CIRCLE "\xf3\xb0\xb3\x9d" // U+F0CDD arrow-left-circle, aliases: arrow-back-circle, tags: Arrow -#define ICON_MD_ARROW_LEFT_CIRCLE_OUTLINE "\xf3\xb0\xb3\x9e" // U+F0CDE arrow-left-circle-outline, tags: Arrow -#define ICON_MD_ARROW_LEFT_DROP_CIRCLE "\xf3\xb0\x81\x92" // U+F0052 arrow-left-drop-circle, tags: Arrow -#define ICON_MD_ARROW_LEFT_DROP_CIRCLE_OUTLINE "\xf3\xb0\x81\x93" // U+F0053 arrow-left-drop-circle-outline, tags: Arrow -#define ICON_MD_ARROW_LEFT_RIGHT "\xf3\xb0\xb9\xb3" // U+F0E73 arrow-left-right, tags: Arrow -#define ICON_MD_ARROW_LEFT_RIGHT_BOLD "\xf3\xb0\xb9\xb4" // U+F0E74 arrow-left-right-bold, tags: Arrow -#define ICON_MD_ARROW_LEFT_RIGHT_BOLD_OUTLINE "\xf3\xb0\xa7\x81" // U+F09C1 arrow-left-right-bold-outline, tags: Arrow -#define ICON_MD_ARROW_LEFT_THICK "\xf3\xb0\x81\x8e" // U+F004E arrow-left-thick, aliases: arrow-left-bold, tags: Arrow -#define ICON_MD_ARROW_LEFT_THIN "\xf3\xb1\xa6\xb1" // U+F19B1 arrow-left-thin, tags: Arrow -#define ICON_MD_ARROW_LEFT_THIN_CIRCLE_OUTLINE "\xf3\xb1\x96\x9a" // U+F159A arrow-left-thin-circle-outline, tags: Arrow -#define ICON_MD_ARROW_LEFT_TOP "\xf3\xb1\x9e\xa7" // U+F17A7 arrow-left-top, aliases: turn-left -#define ICON_MD_ARROW_LEFT_TOP_BOLD "\xf3\xb1\x9e\xa8" // U+F17A8 arrow-left-top-bold, aliases: turn-left-bold -#define ICON_MD_ARROW_PROJECTILE "\xf3\xb1\xa1\x80" // U+F1840 arrow-projectile, tags: Gaming / RPG, Sport -#define ICON_MD_ARROW_PROJECTILE_MULTIPLE "\xf3\xb1\xa0\xbf" // U+F183F arrow-projectile-multiple, tags: Gaming / RPG, Sport -#define ICON_MD_ARROW_RIGHT "\xf3\xb0\x81\x94" // U+F0054 arrow-right, aliases: arrow-forward, tags: Arrow -#define ICON_MD_ARROW_RIGHT_BOLD "\xf3\xb0\x9c\xb4" // U+F0734 arrow-right-bold, tags: Arrow, Automotive -#define ICON_MD_ARROW_RIGHT_BOLD_BOX "\xf3\xb0\x9c\xb5" // U+F0735 arrow-right-bold-box, tags: Arrow -#define ICON_MD_ARROW_RIGHT_BOLD_BOX_OUTLINE "\xf3\xb0\x9c\xb6" // U+F0736 arrow-right-bold-box-outline, tags: Arrow -#define ICON_MD_ARROW_RIGHT_BOLD_CIRCLE "\xf3\xb0\x81\x96" // U+F0056 arrow-right-bold-circle, tags: Arrow -#define ICON_MD_ARROW_RIGHT_BOLD_CIRCLE_OUTLINE "\xf3\xb0\x81\x97" // U+F0057 arrow-right-bold-circle-outline, tags: Arrow -#define ICON_MD_ARROW_RIGHT_BOLD_HEXAGON_OUTLINE "\xf3\xb0\x81\x98" // U+F0058 arrow-right-bold-hexagon-outline, tags: Arrow -#define ICON_MD_ARROW_RIGHT_BOLD_OUTLINE "\xf3\xb0\xa7\x82" // U+F09C2 arrow-right-bold-outline, tags: Arrow, Automotive -#define ICON_MD_ARROW_RIGHT_BOTTOM "\xf3\xb1\x9e\xa9" // U+F17A9 arrow-right-bottom -#define ICON_MD_ARROW_RIGHT_BOTTOM_BOLD "\xf3\xb1\x9e\xaa" // U+F17AA arrow-right-bottom-bold -#define ICON_MD_ARROW_RIGHT_BOX "\xf3\xb0\x9b\x82" // U+F06C2 arrow-right-box, tags: Arrow -#define ICON_MD_ARROW_RIGHT_CIRCLE "\xf3\xb0\xb3\x9f" // U+F0CDF arrow-right-circle, aliases: arrow-forward-circle, tags: Arrow -#define ICON_MD_ARROW_RIGHT_CIRCLE_OUTLINE "\xf3\xb0\xb3\xa0" // U+F0CE0 arrow-right-circle-outline, tags: Arrow -#define ICON_MD_ARROW_RIGHT_DROP_CIRCLE "\xf3\xb0\x81\x99" // U+F0059 arrow-right-drop-circle, tags: Arrow -#define ICON_MD_ARROW_RIGHT_DROP_CIRCLE_OUTLINE "\xf3\xb0\x81\x9a" // U+F005A arrow-right-drop-circle-outline, tags: Arrow -#define ICON_MD_ARROW_RIGHT_THICK "\xf3\xb0\x81\x95" // U+F0055 arrow-right-thick, aliases: arrow-right-bold, tags: Arrow -#define ICON_MD_ARROW_RIGHT_THIN "\xf3\xb1\xa6\xb0" // U+F19B0 arrow-right-thin, tags: Arrow -#define ICON_MD_ARROW_RIGHT_THIN_CIRCLE_OUTLINE "\xf3\xb1\x96\x98" // U+F1598 arrow-right-thin-circle-outline, tags: Arrow -#define ICON_MD_ARROW_RIGHT_TOP "\xf3\xb1\x9e\xab" // U+F17AB arrow-right-top, aliases: turn-right -#define ICON_MD_ARROW_RIGHT_TOP_BOLD "\xf3\xb1\x9e\xac" // U+F17AC arrow-right-top-bold, aliases: turn-right-bold -#define ICON_MD_ARROW_SPLIT_HORIZONTAL "\xf3\xb0\xa4\xbb" // U+F093B arrow-split-horizontal, aliases: resize-vertical, resize, tags: Arrow -#define ICON_MD_ARROW_SPLIT_VERTICAL "\xf3\xb0\xa4\xbc" // U+F093C arrow-split-vertical, aliases: resize-horizontal, resize, tags: Arrow -#define ICON_MD_ARROW_TOP_LEFT "\xf3\xb0\x81\x9b" // U+F005B arrow-top-left, aliases: arrow-up-left, tags: Arrow -#define ICON_MD_ARROW_TOP_LEFT_BOLD_BOX "\xf3\xb1\xa5\xa8" // U+F1968 arrow-top-left-bold-box, tags: Arrow -#define ICON_MD_ARROW_TOP_LEFT_BOLD_BOX_OUTLINE "\xf3\xb1\xa5\xa9" // U+F1969 arrow-top-left-bold-box-outline, tags: Arrow -#define ICON_MD_ARROW_TOP_LEFT_BOLD_OUTLINE "\xf3\xb0\xa7\x83" // U+F09C3 arrow-top-left-bold-outline, aliases: arrow-up-left-bold-outline, tags: Arrow -#define ICON_MD_ARROW_TOP_LEFT_BOTTOM_RIGHT "\xf3\xb0\xb9\xb5" // U+F0E75 arrow-top-left-bottom-right, tags: Arrow -#define ICON_MD_ARROW_TOP_LEFT_BOTTOM_RIGHT_BOLD "\xf3\xb0\xb9\xb6" // U+F0E76 arrow-top-left-bottom-right-bold, tags: Arrow -#define ICON_MD_ARROW_TOP_LEFT_THICK "\xf3\xb0\xa7\x84" // U+F09C4 arrow-top-left-thick, aliases: arrow-up-left-thick, arrow-top-left-bold, arrow-up-left-bold, tags: Arrow -#define ICON_MD_ARROW_TOP_LEFT_THIN "\xf3\xb1\xa6\xb5" // U+F19B5 arrow-top-left-thin, tags: Arrow -#define ICON_MD_ARROW_TOP_LEFT_THIN_CIRCLE_OUTLINE "\xf3\xb1\x96\x93" // U+F1593 arrow-top-left-thin-circle-outline, tags: Arrow -#define ICON_MD_ARROW_TOP_RIGHT "\xf3\xb0\x81\x9c" // U+F005C arrow-top-right, aliases: arrow-up-right, tags: Arrow -#define ICON_MD_ARROW_TOP_RIGHT_BOLD_BOX "\xf3\xb1\xa5\xaa" // U+F196A arrow-top-right-bold-box, tags: Arrow -#define ICON_MD_ARROW_TOP_RIGHT_BOLD_BOX_OUTLINE "\xf3\xb1\xa5\xab" // U+F196B arrow-top-right-bold-box-outline, tags: Arrow -#define ICON_MD_ARROW_TOP_RIGHT_BOLD_OUTLINE "\xf3\xb0\xa7\x85" // U+F09C5 arrow-top-right-bold-outline, aliases: arrow-up-right-bold-outline, tags: Arrow -#define ICON_MD_ARROW_TOP_RIGHT_BOTTOM_LEFT "\xf3\xb0\xb9\xb7" // U+F0E77 arrow-top-right-bottom-left, tags: Arrow -#define ICON_MD_ARROW_TOP_RIGHT_BOTTOM_LEFT_BOLD "\xf3\xb0\xb9\xb8" // U+F0E78 arrow-top-right-bottom-left-bold, tags: Arrow -#define ICON_MD_ARROW_TOP_RIGHT_THICK "\xf3\xb0\xa7\x86" // U+F09C6 arrow-top-right-thick, aliases: arrow-up-right-thick, arrow-top-right-bold, arrow-up-right-bold, tags: Arrow -#define ICON_MD_ARROW_TOP_RIGHT_THIN "\xf3\xb1\xa6\xb4" // U+F19B4 arrow-top-right-thin, tags: Arrow -#define ICON_MD_ARROW_TOP_RIGHT_THIN_CIRCLE_OUTLINE "\xf3\xb1\x96\x94" // U+F1594 arrow-top-right-thin-circle-outline, tags: Arrow -#define ICON_MD_ARROW_U_DOWN_LEFT "\xf3\xb1\x9e\xad" // U+F17AD arrow-u-down-left, aliases: u-turn-left -#define ICON_MD_ARROW_U_DOWN_LEFT_BOLD "\xf3\xb1\x9e\xae" // U+F17AE arrow-u-down-left-bold, aliases: u-turn-left-bold -#define ICON_MD_ARROW_U_DOWN_RIGHT "\xf3\xb1\x9e\xaf" // U+F17AF arrow-u-down-right, aliases: u-turn-right -#define ICON_MD_ARROW_U_DOWN_RIGHT_BOLD "\xf3\xb1\x9e\xb0" // U+F17B0 arrow-u-down-right-bold, aliases: u-turn-right-bold -#define ICON_MD_ARROW_U_LEFT_BOTTOM "\xf3\xb1\x9e\xb1" // U+F17B1 arrow-u-left-bottom, aliases: undo -#define ICON_MD_ARROW_U_LEFT_BOTTOM_BOLD "\xf3\xb1\x9e\xb2" // U+F17B2 arrow-u-left-bottom-bold, aliases: undo -#define ICON_MD_ARROW_U_LEFT_TOP "\xf3\xb1\x9e\xb3" // U+F17B3 arrow-u-left-top, aliases: undo -#define ICON_MD_ARROW_U_LEFT_TOP_BOLD "\xf3\xb1\x9e\xb4" // U+F17B4 arrow-u-left-top-bold, aliases: undo -#define ICON_MD_ARROW_U_RIGHT_BOTTOM "\xf3\xb1\x9e\xb5" // U+F17B5 arrow-u-right-bottom, aliases: redo -#define ICON_MD_ARROW_U_RIGHT_BOTTOM_BOLD "\xf3\xb1\x9e\xb6" // U+F17B6 arrow-u-right-bottom-bold, aliases: redo -#define ICON_MD_ARROW_U_RIGHT_TOP "\xf3\xb1\x9e\xb7" // U+F17B7 arrow-u-right-top, aliases: redo -#define ICON_MD_ARROW_U_RIGHT_TOP_BOLD "\xf3\xb1\x9e\xb8" // U+F17B8 arrow-u-right-top-bold, aliases: redo -#define ICON_MD_ARROW_U_UP_LEFT "\xf3\xb1\x9e\xb9" // U+F17B9 arrow-u-up-left -#define ICON_MD_ARROW_U_UP_LEFT_BOLD "\xf3\xb1\x9e\xba" // U+F17BA arrow-u-up-left-bold -#define ICON_MD_ARROW_U_UP_RIGHT "\xf3\xb1\x9e\xbb" // U+F17BB arrow-u-up-right -#define ICON_MD_ARROW_U_UP_RIGHT_BOLD "\xf3\xb1\x9e\xbc" // U+F17BC arrow-u-up-right-bold -#define ICON_MD_ARROW_UP "\xf3\xb0\x81\x9d" // U+F005D arrow-up, aliases: arrow-upward, arrow-top, tags: Arrow -#define ICON_MD_ARROW_UP_BOLD "\xf3\xb0\x9c\xb7" // U+F0737 arrow-up-bold, aliases: arrow-top-bold, tags: Arrow -#define ICON_MD_ARROW_UP_BOLD_BOX "\xf3\xb0\x9c\xb8" // U+F0738 arrow-up-bold-box, aliases: arrow-top-bold-box, tags: Arrow -#define ICON_MD_ARROW_UP_BOLD_BOX_OUTLINE "\xf3\xb0\x9c\xb9" // U+F0739 arrow-up-bold-box-outline, aliases: arrow-top-bold-box-outline, tags: Arrow -#define ICON_MD_ARROW_UP_BOLD_CIRCLE "\xf3\xb0\x81\x9f" // U+F005F arrow-up-bold-circle, aliases: arrow-top-bold-circle, tags: Arrow -#define ICON_MD_ARROW_UP_BOLD_CIRCLE_OUTLINE "\xf3\xb0\x81\xa0" // U+F0060 arrow-up-bold-circle-outline, aliases: arrow-top-bold-circle-outline, tags: Arrow -#define ICON_MD_ARROW_UP_BOLD_HEXAGON_OUTLINE "\xf3\xb0\x81\xa1" // U+F0061 arrow-up-bold-hexagon-outline, aliases: arrow-top-bold-hexagon-outline, tags: Arrow -#define ICON_MD_ARROW_UP_BOLD_OUTLINE "\xf3\xb0\xa7\x87" // U+F09C7 arrow-up-bold-outline, aliases: arrow-top-bold-outline, tags: Arrow -#define ICON_MD_ARROW_UP_BOX "\xf3\xb0\x9b\x83" // U+F06C3 arrow-up-box, tags: Arrow -#define ICON_MD_ARROW_UP_CIRCLE "\xf3\xb0\xb3\xa1" // U+F0CE1 arrow-up-circle, aliases: arrow-top-circle, tags: Arrow -#define ICON_MD_ARROW_UP_CIRCLE_OUTLINE "\xf3\xb0\xb3\xa2" // U+F0CE2 arrow-up-circle-outline, aliases: arrow-top-circle-outline, tags: Arrow -#define ICON_MD_ARROW_UP_DOWN "\xf3\xb0\xb9\xb9" // U+F0E79 arrow-up-down, tags: Arrow -#define ICON_MD_ARROW_UP_DOWN_BOLD "\xf3\xb0\xb9\xba" // U+F0E7A arrow-up-down-bold, tags: Arrow -#define ICON_MD_ARROW_UP_DOWN_BOLD_OUTLINE "\xf3\xb0\xa7\x88" // U+F09C8 arrow-up-down-bold-outline, tags: Arrow -#define ICON_MD_ARROW_UP_DROP_CIRCLE "\xf3\xb0\x81\xa2" // U+F0062 arrow-up-drop-circle, aliases: arrow-top-drop-circle, tags: Arrow -#define ICON_MD_ARROW_UP_DROP_CIRCLE_OUTLINE "\xf3\xb0\x81\xa3" // U+F0063 arrow-up-drop-circle-outline, aliases: arrow-top-drop-circle-outline, tags: Arrow -#define ICON_MD_ARROW_UP_LEFT "\xf3\xb1\x9e\xbd" // U+F17BD arrow-up-left -#define ICON_MD_ARROW_UP_LEFT_BOLD "\xf3\xb1\x9e\xbe" // U+F17BE arrow-up-left-bold -#define ICON_MD_ARROW_UP_RIGHT "\xf3\xb1\x9e\xbf" // U+F17BF arrow-up-right -#define ICON_MD_ARROW_UP_RIGHT_BOLD "\xf3\xb1\x9f\x80" // U+F17C0 arrow-up-right-bold -#define ICON_MD_ARROW_UP_THICK "\xf3\xb0\x81\x9e" // U+F005E arrow-up-thick, aliases: arrow-top-thick, arrow-up-bold, arrow-top-bold, tags: Arrow -#define ICON_MD_ARROW_UP_THIN "\xf3\xb1\xa6\xb2" // U+F19B2 arrow-up-thin, tags: Arrow -#define ICON_MD_ARROW_UP_THIN_CIRCLE_OUTLINE "\xf3\xb1\x96\x97" // U+F1597 arrow-up-thin-circle-outline, tags: Arrow -#define ICON_MD_ARROW_VERTICAL_LOCK "\xf3\xb1\x85\x9c" // U+F115C arrow-vertical-lock, aliases: scroll-vertical-lock, tags: Lock, Arrow -#define ICON_MD_ARTBOARD "\xf3\xb1\xae\x9a" // U+F1B9A artboard, tags: Drawing / Art -#define ICON_MD_ARTSTATION "\xf3\xb0\xad\x9b" // U+F0B5B artstation, tags: Brand / Logo -#define ICON_MD_ASPECT_RATIO "\xf3\xb0\xa8\xa4" // U+F0A24 aspect-ratio -#define ICON_MD_ASSISTANT "\xf3\xb0\x81\xa4" // U+F0064 assistant -#define ICON_MD_ASTERISK "\xf3\xb0\x9b\x84" // U+F06C4 asterisk, aliases: required -#define ICON_MD_ASTERISK_CIRCLE_OUTLINE "\xf3\xb1\xa8\xa7" // U+F1A27 asterisk-circle-outline, aliases: required-circle -#define ICON_MD_AT "\xf3\xb0\x81\xa5" // U+F0065 at, aliases: alternate-email -#define ICON_MD_ATLASSIAN "\xf3\xb0\xa0\x84" // U+F0804 atlassian, tags: Brand / Logo -#define ICON_MD_ATM "\xf3\xb0\xb5\x87" // U+F0D47 atm -#define ICON_MD_ATOM "\xf3\xb0\x9d\xa8" // U+F0768 atom, tags: Science -#define ICON_MD_ATOM_VARIANT "\xf3\xb0\xb9\xbb" // U+F0E7B atom-variant, aliases: orbit, tags: Science -#define ICON_MD_ATTACHMENT "\xf3\xb0\x81\xa6" // U+F0066 attachment, aliases: paperclip-horizontal -#define ICON_MD_ATTACHMENT_CHECK "\xf3\xb1\xab\x81" // U+F1AC1 attachment-check, aliases: attachment-tick, paperclip-check, paperclip-tick -#define ICON_MD_ATTACHMENT_LOCK "\xf3\xb1\xa7\x84" // U+F19C4 attachment-lock, aliases: paperclip-lock, tags: Lock -#define ICON_MD_ATTACHMENT_MINUS "\xf3\xb1\xab\x82" // U+F1AC2 attachment-minus, aliases: paperclip-minus, paperclip-subtract, attachment-subtract -#define ICON_MD_ATTACHMENT_OFF "\xf3\xb1\xab\x83" // U+F1AC3 attachment-off, aliases: paperclip-off -#define ICON_MD_ATTACHMENT_PLUS "\xf3\xb1\xab\x84" // U+F1AC4 attachment-plus, aliases: paperclip-plus, paperclip-add, attachment-add -#define ICON_MD_ATTACHMENT_REMOVE "\xf3\xb1\xab\x85" // U+F1AC5 attachment-remove, aliases: paperclip-remove -#define ICON_MD_ATV "\xf3\xb1\xad\xb0" // U+F1B70 atv, aliases: quad, trike, two-wheeler, all-terrain-vehicle, tags: Transportation + Other, Sport -#define ICON_MD_AUDIO_INPUT_RCA "\xf3\xb1\xa1\xab" // U+F186B audio-input-rca, tags: Audio -#define ICON_MD_AUDIO_INPUT_STEREO_MINIJACK "\xf3\xb1\xa1\xac" // U+F186C audio-input-stereo-minijack, tags: Audio -#define ICON_MD_AUDIO_INPUT_XLR "\xf3\xb1\xa1\xad" // U+F186D audio-input-xlr, tags: Audio -#define ICON_MD_AUDIO_VIDEO "\xf3\xb0\xa4\xbd" // U+F093D audio-video, aliases: av-receiver, tags: Home Automation, Audio -#define ICON_MD_AUDIO_VIDEO_OFF "\xf3\xb1\x86\xb6" // U+F11B6 audio-video-off, aliases: av-receiver-off, tags: Home Automation, Audio -#define ICON_MD_AUGMENTED_REALITY "\xf3\xb0\xa1\x90" // U+F0850 augmented-reality -#define ICON_MD_AUTO_DOWNLOAD "\xf3\xb1\x8d\xbe" // U+F137E auto-download -#define ICON_MD_AUTO_FIX "\xf3\xb0\x81\xa8" // U+F0068 auto-fix, aliases: magic, wand, auto-fix-high, tags: Photography -#define ICON_MD_AUTO_UPLOAD "\xf3\xb0\x81\xa9" // U+F0069 auto-upload -#define ICON_MD_AUTORENEW "\xf3\xb0\x81\xaa" // U+F006A autorenew, aliases: clockwise-arrows, circular-arrows, circle-arrows, sync, tags: Arrow -#define ICON_MD_AUTORENEW_OFF "\xf3\xb1\xa7\xa7" // U+F19E7 autorenew-off, aliases: clockwise-arrows-off, circular-arrows-off, circle-arrows-off, sync-off, tags: Arrow -#define ICON_MD_AV_TIMER "\xf3\xb0\x81\xab" // U+F006B av-timer, tags: Date / Time -#define ICON_MD_AWNING "\xf3\xb1\xae\x87" // U+F1B87 awning, aliases: marquise, sun-shade, tags: Home Automation -#define ICON_MD_AWNING_OUTLINE "\xf3\xb1\xae\x88" // U+F1B88 awning-outline, aliases: marquise-outline, sun-shade-outline, tags: Home Automation -#define ICON_MD_AWS "\xf3\xb0\xb8\x8f" // U+F0E0F aws, tags: Brand / Logo -#define ICON_MD_AXE "\xf3\xb0\xa3\x88" // U+F08C8 axe, tags: Hardware / Tools -#define ICON_MD_AXE_BATTLE "\xf3\xb1\xa1\x82" // U+F1842 axe-battle, tags: Gaming / RPG -#define ICON_MD_AXIS "\xf3\xb0\xb5\x88" // U+F0D48 axis -#define ICON_MD_AXIS_ARROW "\xf3\xb0\xb5\x89" // U+F0D49 axis-arrow, aliases: accelerometer, gyro, tags: Arrow -#define ICON_MD_AXIS_ARROW_INFO "\xf3\xb1\x90\x8e" // U+F140E axis-arrow-info, tags: Arrow -#define ICON_MD_AXIS_ARROW_LOCK "\xf3\xb0\xb5\x8a" // U+F0D4A axis-arrow-lock, tags: Lock, Arrow -#define ICON_MD_AXIS_LOCK "\xf3\xb0\xb5\x8b" // U+F0D4B axis-lock, tags: Lock -#define ICON_MD_AXIS_X_ARROW "\xf3\xb0\xb5\x8c" // U+F0D4C axis-x-arrow, tags: Arrow -#define ICON_MD_AXIS_X_ARROW_LOCK "\xf3\xb0\xb5\x8d" // U+F0D4D axis-x-arrow-lock, tags: Lock, Arrow -#define ICON_MD_AXIS_X_ROTATE_CLOCKWISE "\xf3\xb0\xb5\x8e" // U+F0D4E axis-x-rotate-clockwise -#define ICON_MD_AXIS_X_ROTATE_COUNTERCLOCKWISE "\xf3\xb0\xb5\x8f" // U+F0D4F axis-x-rotate-counterclockwise -#define ICON_MD_AXIS_X_Y_ARROW_LOCK "\xf3\xb0\xb5\x90" // U+F0D50 axis-x-y-arrow-lock, tags: Lock, Arrow -#define ICON_MD_AXIS_Y_ARROW "\xf3\xb0\xb5\x91" // U+F0D51 axis-y-arrow, tags: Arrow -#define ICON_MD_AXIS_Y_ARROW_LOCK "\xf3\xb0\xb5\x92" // U+F0D52 axis-y-arrow-lock, tags: Lock, Arrow -#define ICON_MD_AXIS_Y_ROTATE_CLOCKWISE "\xf3\xb0\xb5\x93" // U+F0D53 axis-y-rotate-clockwise -#define ICON_MD_AXIS_Y_ROTATE_COUNTERCLOCKWISE "\xf3\xb0\xb5\x94" // U+F0D54 axis-y-rotate-counterclockwise -#define ICON_MD_AXIS_Z_ARROW "\xf3\xb0\xb5\x95" // U+F0D55 axis-z-arrow, tags: Arrow -#define ICON_MD_AXIS_Z_ARROW_LOCK "\xf3\xb0\xb5\x96" // U+F0D56 axis-z-arrow-lock, tags: Lock, Arrow -#define ICON_MD_AXIS_Z_ROTATE_CLOCKWISE "\xf3\xb0\xb5\x97" // U+F0D57 axis-z-rotate-clockwise, aliases: vertical-rotate-clockwise -#define ICON_MD_AXIS_Z_ROTATE_COUNTERCLOCKWISE "\xf3\xb0\xb5\x98" // U+F0D58 axis-z-rotate-counterclockwise, aliases: vertical-rotate-counterclockwise -#define ICON_MD_BABEL "\xf3\xb0\xa8\xa5" // U+F0A25 babel, tags: Brand / Logo -#define ICON_MD_BABY "\xf3\xb0\x81\xac" // U+F006C baby, tags: People / Family -#define ICON_MD_BABY_BOTTLE "\xf3\xb0\xbc\xb9" // U+F0F39 baby-bottle, tags: People / Family -#define ICON_MD_BABY_BOTTLE_OUTLINE "\xf3\xb0\xbc\xba" // U+F0F3A baby-bottle-outline, tags: People / Family -#define ICON_MD_BABY_BUGGY "\xf3\xb1\x8f\xa0" // U+F13E0 baby-buggy, aliases: stroller, pram, carriage, tags: People / Family -#define ICON_MD_BABY_BUGGY_OFF "\xf3\xb1\xab\xb3" // U+F1AF3 baby-buggy-off, tags: People / Family -#define ICON_MD_BABY_CARRIAGE "\xf3\xb0\x9a\x8f" // U+F068F baby-carriage, aliases: child-friendly, stroller, pram, buggy, tags: People / Family -#define ICON_MD_BABY_CARRIAGE_OFF "\xf3\xb0\xbe\xa0" // U+F0FA0 baby-carriage-off, aliases: child-friendly-off, stroller-off, pram-off, buggy-off, tags: People / Family -#define ICON_MD_BABY_FACE "\xf3\xb0\xb9\xbc" // U+F0E7C baby-face, aliases: emoji-baby, emoticon-baby, tags: People / Family -#define ICON_MD_BABY_FACE_OUTLINE "\xf3\xb0\xb9\xbd" // U+F0E7D baby-face-outline, aliases: emoji-baby-outline, emoticon-baby-outline, tags: People / Family -#define ICON_MD_BACKBURGER "\xf3\xb0\x81\xad" // U+F006D backburger, aliases: hamburger-menu-back -#define ICON_MD_BACKSPACE "\xf3\xb0\x81\xae" // U+F006E backspace, aliases: erase, clear -#define ICON_MD_BACKSPACE_OUTLINE "\xf3\xb0\xad\x9c" // U+F0B5C backspace-outline, aliases: erase-outline, clear-outline -#define ICON_MD_BACKSPACE_REVERSE "\xf3\xb0\xb9\xbe" // U+F0E7E backspace-reverse, aliases: clear-reverse, erase-reverse -#define ICON_MD_BACKSPACE_REVERSE_OUTLINE "\xf3\xb0\xb9\xbf" // U+F0E7F backspace-reverse-outline, aliases: clear-reverse-outline, erase-reverse-outline -#define ICON_MD_BACKUP_RESTORE "\xf3\xb0\x81\xaf" // U+F006F backup-restore, aliases: settings-backup-restore -#define ICON_MD_BACTERIA "\xf3\xb0\xbb\x95" // U+F0ED5 bacteria, tags: Science, Medical / Hospital -#define ICON_MD_BACTERIA_OUTLINE "\xf3\xb0\xbb\x96" // U+F0ED6 bacteria-outline, tags: Science, Medical / Hospital -#define ICON_MD_BADGE_ACCOUNT "\xf3\xb0\xb6\xa7" // U+F0DA7 badge-account, aliases: user-badge, person-badge, tags: Account / User -#define ICON_MD_BADGE_ACCOUNT_ALERT "\xf3\xb0\xb6\xa8" // U+F0DA8 badge-account-alert, aliases: user-badge-alert, person-badge-alert, account-badge-warning, user-badge-warning, person-badge-warning, tags: Account / User, Alert / Error -#define ICON_MD_BADGE_ACCOUNT_ALERT_OUTLINE "\xf3\xb0\xb6\xa9" // U+F0DA9 badge-account-alert-outline, aliases: user-badge-alert-outline, person-badge-alert-outline, account-badge-warning-outline, user-badge-warning-outline, person-badge-warning-outline, tags: Account / User, Alert / Error -#define ICON_MD_BADGE_ACCOUNT_HORIZONTAL "\xf3\xb0\xb8\x8d" // U+F0E0D badge-account-horizontal, tags: Account / User -#define ICON_MD_BADGE_ACCOUNT_HORIZONTAL_OUTLINE "\xf3\xb0\xb8\x8e" // U+F0E0E badge-account-horizontal-outline, tags: Account / User -#define ICON_MD_BADGE_ACCOUNT_OUTLINE "\xf3\xb0\xb6\xaa" // U+F0DAA badge-account-outline, aliases: user-badge-outline, person-badge-outline, tags: Account / User -#define ICON_MD_BADMINTON "\xf3\xb0\xa1\x91" // U+F0851 badminton, aliases: shuttlecock, tags: Sport -#define ICON_MD_BAG_CARRY_ON "\xf3\xb0\xbc\xbb" // U+F0F3B bag-carry-on, aliases: carry-on-luggage, tags: Transportation + Flying -#define ICON_MD_BAG_CARRY_ON_CHECK "\xf3\xb0\xb5\xa5" // U+F0D65 bag-carry-on-check, aliases: carry-on-bag-tick, carry-on-bag-check, tags: Transportation + Flying -#define ICON_MD_BAG_CARRY_ON_OFF "\xf3\xb0\xbc\xbc" // U+F0F3C bag-carry-on-off, aliases: carry-on-luggage-off, tags: Transportation + Flying -#define ICON_MD_BAG_CHECKED "\xf3\xb0\xbc\xbd" // U+F0F3D bag-checked, aliases: luggage, tags: Transportation + Flying -#define ICON_MD_BAG_PERSONAL "\xf3\xb0\xb8\x90" // U+F0E10 bag-personal, aliases: backpack, tags: Transportation + Flying -#define ICON_MD_BAG_PERSONAL_OFF "\xf3\xb0\xb8\x91" // U+F0E11 bag-personal-off, aliases: backpack-off, tags: Transportation + Flying -#define ICON_MD_BAG_PERSONAL_OFF_OUTLINE "\xf3\xb0\xb8\x92" // U+F0E12 bag-personal-off-outline, aliases: backpack-off-outline, tags: Transportation + Flying -#define ICON_MD_BAG_PERSONAL_OUTLINE "\xf3\xb0\xb8\x93" // U+F0E13 bag-personal-outline, aliases: backpack-outline, tags: Transportation + Flying -#define ICON_MD_BAG_PERSONAL_TAG "\xf3\xb1\xac\x8c" // U+F1B0C bag-personal-tag, aliases: property-tag -#define ICON_MD_BAG_PERSONAL_TAG_OUTLINE "\xf3\xb1\xac\x8d" // U+F1B0D bag-personal-tag-outline, aliases: property-tag-outline -#define ICON_MD_BAG_SUITCASE "\xf3\xb1\x96\x8b" // U+F158B bag-suitcase, tags: Transportation + Flying -#define ICON_MD_BAG_SUITCASE_OFF "\xf3\xb1\x96\x8d" // U+F158D bag-suitcase-off, tags: Transportation + Flying -#define ICON_MD_BAG_SUITCASE_OFF_OUTLINE "\xf3\xb1\x96\x8e" // U+F158E bag-suitcase-off-outline, tags: Transportation + Flying -#define ICON_MD_BAG_SUITCASE_OUTLINE "\xf3\xb1\x96\x8c" // U+F158C bag-suitcase-outline, tags: Transportation + Flying -#define ICON_MD_BAGUETTE "\xf3\xb0\xbc\xbe" // U+F0F3E baguette, aliases: bread, bakery, french-baguette, loaf, tags: Food / Drink -#define ICON_MD_BALCONY "\xf3\xb1\xa0\x97" // U+F1817 balcony, aliases: terrace, patio, veranda, tags: Home Automation -#define ICON_MD_BALLOON "\xf3\xb0\xa8\xa6" // U+F0A26 balloon, aliases: party-balloon, tags: Holiday -#define ICON_MD_BALLOT "\xf3\xb0\xa7\x89" // U+F09C9 ballot, aliases: vote -#define ICON_MD_BALLOT_OUTLINE "\xf3\xb0\xa7\x8a" // U+F09CA ballot-outline, aliases: vote-outline -#define ICON_MD_BALLOT_RECOUNT "\xf3\xb0\xb0\xb9" // U+F0C39 ballot-recount, aliases: vote-recount -#define ICON_MD_BALLOT_RECOUNT_OUTLINE "\xf3\xb0\xb0\xba" // U+F0C3A ballot-recount-outline, aliases: vote-recount-outline -#define ICON_MD_BANDAGE "\xf3\xb0\xb6\xaf" // U+F0DAF bandage, aliases: band-aid, plaster -#define ICON_MD_BANK "\xf3\xb0\x81\xb0" // U+F0070 bank, aliases: account-balance, museum, tags: Banking, Places -#define ICON_MD_BANK_CHECK "\xf3\xb1\x99\x95" // U+F1655 bank-check, tags: Banking -#define ICON_MD_BANK_MINUS "\xf3\xb0\xb6\xb0" // U+F0DB0 bank-minus, tags: Banking -#define ICON_MD_BANK_OFF "\xf3\xb1\x99\x96" // U+F1656 bank-off, tags: Banking -#define ICON_MD_BANK_OFF_OUTLINE "\xf3\xb1\x99\x97" // U+F1657 bank-off-outline, tags: Banking -#define ICON_MD_BANK_OUTLINE "\xf3\xb0\xba\x80" // U+F0E80 bank-outline, aliases: museum-outline, tags: Banking -#define ICON_MD_BANK_PLUS "\xf3\xb0\xb6\xb1" // U+F0DB1 bank-plus, aliases: bank-add, tags: Banking -#define ICON_MD_BANK_REMOVE "\xf3\xb0\xb6\xb2" // U+F0DB2 bank-remove, tags: Banking -#define ICON_MD_BANK_TRANSFER "\xf3\xb0\xa8\xa7" // U+F0A27 bank-transfer, tags: Banking -#define ICON_MD_BANK_TRANSFER_IN "\xf3\xb0\xa8\xa8" // U+F0A28 bank-transfer-in, tags: Banking -#define ICON_MD_BANK_TRANSFER_OUT "\xf3\xb0\xa8\xa9" // U+F0A29 bank-transfer-out, tags: Banking -#define ICON_MD_BARCODE "\xf3\xb0\x81\xb1" // U+F0071 barcode -#define ICON_MD_BARCODE_OFF "\xf3\xb1\x88\xb6" // U+F1236 barcode-off -#define ICON_MD_BARCODE_SCAN "\xf3\xb0\x81\xb2" // U+F0072 barcode-scan, aliases: barcode-scanner -#define ICON_MD_BARLEY "\xf3\xb0\x81\xb3" // U+F0073 barley, aliases: grain, wheat, gluten, tags: Agriculture, Food / Drink -#define ICON_MD_BARLEY_OFF "\xf3\xb0\xad\x9d" // U+F0B5D barley-off, aliases: gluten-free, grain-off, wheat-off, tags: Agriculture -#define ICON_MD_BARN "\xf3\xb0\xad\x9e" // U+F0B5E barn, aliases: farm, tags: Agriculture -#define ICON_MD_BARREL "\xf3\xb0\x81\xb4" // U+F0074 barrel, aliases: oil-barrel, energy, fossil-fuel -#define ICON_MD_BARREL_OUTLINE "\xf3\xb1\xa8\xa8" // U+F1A28 barrel-outline, aliases: oil-barrel-outline, fossil-fuel-outline, energy-outline -#define ICON_MD_BASEBALL "\xf3\xb0\xa1\x92" // U+F0852 baseball, tags: Sport -#define ICON_MD_BASEBALL_BAT "\xf3\xb0\xa1\x93" // U+F0853 baseball-bat, tags: Sport -#define ICON_MD_BASEBALL_DIAMOND "\xf3\xb1\x97\xac" // U+F15EC baseball-diamond, tags: Sport -#define ICON_MD_BASEBALL_DIAMOND_OUTLINE "\xf3\xb1\x97\xad" // U+F15ED baseball-diamond-outline, tags: Sport -#define ICON_MD_BASH "\xf3\xb1\x86\x83" // U+F1183 bash, tags: Developer / Languages -#define ICON_MD_BASKET "\xf3\xb0\x81\xb6" // U+F0076 basket, aliases: shopping-basket, skip, tags: Shopping -#define ICON_MD_BASKET_CHECK "\xf3\xb1\xa3\xa5" // U+F18E5 basket-check, tags: Shopping -#define ICON_MD_BASKET_CHECK_OUTLINE "\xf3\xb1\xa3\xa6" // U+F18E6 basket-check-outline, tags: Shopping -#define ICON_MD_BASKET_FILL "\xf3\xb0\x81\xb7" // U+F0077 basket-fill, aliases: skip-fill, tags: Shopping -#define ICON_MD_BASKET_MINUS "\xf3\xb1\x94\xa3" // U+F1523 basket-minus, aliases: shopping-basket-minus, skip-minus, tags: Shopping -#define ICON_MD_BASKET_MINUS_OUTLINE "\xf3\xb1\x94\xa4" // U+F1524 basket-minus-outline, aliases: shopping-basket-minus-outline, skip-minus-outline, tags: Shopping -#define ICON_MD_BASKET_OFF "\xf3\xb1\x94\xa5" // U+F1525 basket-off, aliases: shopping-basket-off, skip-off, tags: Shopping -#define ICON_MD_BASKET_OFF_OUTLINE "\xf3\xb1\x94\xa6" // U+F1526 basket-off-outline, aliases: shopping-basket-off-outline, skip-off-outline, tags: Shopping -#define ICON_MD_BASKET_OUTLINE "\xf3\xb1\x86\x81" // U+F1181 basket-outline, aliases: shopping-basket-outline, skip-outline, tags: Shopping -#define ICON_MD_BASKET_PLUS "\xf3\xb1\x94\xa7" // U+F1527 basket-plus, aliases: shopping-basket-plus, skip-plus, tags: Shopping -#define ICON_MD_BASKET_PLUS_OUTLINE "\xf3\xb1\x94\xa8" // U+F1528 basket-plus-outline, aliases: shopping-basket-plus-outline, skip-plus-outline, tags: Shopping -#define ICON_MD_BASKET_REMOVE "\xf3\xb1\x94\xa9" // U+F1529 basket-remove, aliases: shopping-basket-remove, skip-remove, tags: Shopping -#define ICON_MD_BASKET_REMOVE_OUTLINE "\xf3\xb1\x94\xaa" // U+F152A basket-remove-outline, aliases: shopping-basket-remove-outline, skip-remove-outline, tags: Shopping -#define ICON_MD_BASKET_UNFILL "\xf3\xb0\x81\xb8" // U+F0078 basket-unfill, tags: Shopping -#define ICON_MD_BASKETBALL "\xf3\xb0\xa0\x86" // U+F0806 basketball, aliases: youtube-sports, tags: Sport -#define ICON_MD_BASKETBALL_HOOP "\xf3\xb0\xb0\xbb" // U+F0C3B basketball-hoop, tags: Sport -#define ICON_MD_BASKETBALL_HOOP_OUTLINE "\xf3\xb0\xb0\xbc" // U+F0C3C basketball-hoop-outline, tags: Sport -#define ICON_MD_BAT "\xf3\xb0\xad\x9f" // U+F0B5F bat, tags: Holiday, Animal -#define ICON_MD_BATHTUB "\xf3\xb1\xa0\x98" // U+F1818 bathtub, tags: Home Automation -#define ICON_MD_BATHTUB_OUTLINE "\xf3\xb1\xa0\x99" // U+F1819 bathtub-outline, tags: Home Automation -#define ICON_MD_BATTERY "\xf3\xb0\x81\xb9" // U+F0079 battery, aliases: battery-full, battery-std, battery-100, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_10 "\xf3\xb0\x81\xba" // U+F007A battery-10, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_10_BLUETOOTH "\xf3\xb0\xa4\xbe" // U+F093E battery-10-bluetooth, tags: Battery -#define ICON_MD_BATTERY_20 "\xf3\xb0\x81\xbb" // U+F007B battery-20, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_20_BLUETOOTH "\xf3\xb0\xa4\xbf" // U+F093F battery-20-bluetooth, tags: Battery -#define ICON_MD_BATTERY_30 "\xf3\xb0\x81\xbc" // U+F007C battery-30, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_30_BLUETOOTH "\xf3\xb0\xa5\x80" // U+F0940 battery-30-bluetooth, tags: Battery -#define ICON_MD_BATTERY_40 "\xf3\xb0\x81\xbd" // U+F007D battery-40, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_40_BLUETOOTH "\xf3\xb0\xa5\x81" // U+F0941 battery-40-bluetooth, tags: Battery -#define ICON_MD_BATTERY_50 "\xf3\xb0\x81\xbe" // U+F007E battery-50, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_50_BLUETOOTH "\xf3\xb0\xa5\x82" // U+F0942 battery-50-bluetooth, tags: Battery -#define ICON_MD_BATTERY_60 "\xf3\xb0\x81\xbf" // U+F007F battery-60, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_60_BLUETOOTH "\xf3\xb0\xa5\x83" // U+F0943 battery-60-bluetooth, tags: Battery -#define ICON_MD_BATTERY_70 "\xf3\xb0\x82\x80" // U+F0080 battery-70, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_70_BLUETOOTH "\xf3\xb0\xa5\x84" // U+F0944 battery-70-bluetooth, tags: Battery -#define ICON_MD_BATTERY_80 "\xf3\xb0\x82\x81" // U+F0081 battery-80, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_80_BLUETOOTH "\xf3\xb0\xa5\x85" // U+F0945 battery-80-bluetooth, tags: Battery -#define ICON_MD_BATTERY_90 "\xf3\xb0\x82\x82" // U+F0082 battery-90, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_90_BLUETOOTH "\xf3\xb0\xa5\x86" // U+F0946 battery-90-bluetooth, tags: Battery -#define ICON_MD_BATTERY_ALERT "\xf3\xb0\x82\x83" // U+F0083 battery-alert, aliases: battery-warning, tags: Battery, Home Automation, Alert / Error -#define ICON_MD_BATTERY_ALERT_BLUETOOTH "\xf3\xb0\xa5\x87" // U+F0947 battery-alert-bluetooth, aliases: battery-warning-bluetooth, tags: Alert / Error, Battery -#define ICON_MD_BATTERY_ALERT_VARIANT "\xf3\xb1\x83\x8c" // U+F10CC battery-alert-variant, tags: Battery, Alert / Error -#define ICON_MD_BATTERY_ALERT_VARIANT_OUTLINE "\xf3\xb1\x83\x8d" // U+F10CD battery-alert-variant-outline, tags: Battery, Alert / Error -#define ICON_MD_BATTERY_ARROW_DOWN "\xf3\xb1\x9f\x9e" // U+F17DE battery-arrow-down, tags: Battery -#define ICON_MD_BATTERY_ARROW_DOWN_OUTLINE "\xf3\xb1\x9f\x9f" // U+F17DF battery-arrow-down-outline, tags: Battery -#define ICON_MD_BATTERY_ARROW_UP "\xf3\xb1\x9f\xa0" // U+F17E0 battery-arrow-up, tags: Battery -#define ICON_MD_BATTERY_ARROW_UP_OUTLINE "\xf3\xb1\x9f\xa1" // U+F17E1 battery-arrow-up-outline, tags: Battery -#define ICON_MD_BATTERY_BLUETOOTH "\xf3\xb0\xa5\x88" // U+F0948 battery-bluetooth, aliases: battery-bluetooth-100, battery-bluetooth-full, tags: Battery -#define ICON_MD_BATTERY_BLUETOOTH_VARIANT "\xf3\xb0\xa5\x89" // U+F0949 battery-bluetooth-variant, tags: Battery -#define ICON_MD_BATTERY_CHARGING "\xf3\xb0\x82\x84" // U+F0084 battery-charging, aliases: battery-charging-full, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_CHARGING_10 "\xf3\xb0\xa2\x9c" // U+F089C battery-charging-10, tags: Automotive, Battery -#define ICON_MD_BATTERY_CHARGING_100 "\xf3\xb0\x82\x85" // U+F0085 battery-charging-100, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_CHARGING_20 "\xf3\xb0\x82\x86" // U+F0086 battery-charging-20, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_CHARGING_30 "\xf3\xb0\x82\x87" // U+F0087 battery-charging-30, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_CHARGING_40 "\xf3\xb0\x82\x88" // U+F0088 battery-charging-40, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_CHARGING_50 "\xf3\xb0\xa2\x9d" // U+F089D battery-charging-50, tags: Automotive, Battery -#define ICON_MD_BATTERY_CHARGING_60 "\xf3\xb0\x82\x89" // U+F0089 battery-charging-60, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_CHARGING_70 "\xf3\xb0\xa2\x9e" // U+F089E battery-charging-70, tags: Automotive, Battery -#define ICON_MD_BATTERY_CHARGING_80 "\xf3\xb0\x82\x8a" // U+F008A battery-charging-80, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_CHARGING_90 "\xf3\xb0\x82\x8b" // U+F008B battery-charging-90, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_CHARGING_HIGH "\xf3\xb1\x8a\xa6" // U+F12A6 battery-charging-high, tags: Battery -#define ICON_MD_BATTERY_CHARGING_LOW "\xf3\xb1\x8a\xa4" // U+F12A4 battery-charging-low, tags: Battery -#define ICON_MD_BATTERY_CHARGING_MEDIUM "\xf3\xb1\x8a\xa5" // U+F12A5 battery-charging-medium, tags: Battery -#define ICON_MD_BATTERY_CHARGING_OUTLINE "\xf3\xb0\xa2\x9f" // U+F089F battery-charging-outline, tags: Automotive, Battery -#define ICON_MD_BATTERY_CHARGING_WIRELESS "\xf3\xb0\xa0\x87" // U+F0807 battery-charging-wireless, aliases: battery-charging-wireless-full, battery-charging-wireless-100, tags: Battery, Home Automation -#define ICON_MD_BATTERY_CHARGING_WIRELESS_10 "\xf3\xb0\xa0\x88" // U+F0808 battery-charging-wireless-10, tags: Battery, Home Automation -#define ICON_MD_BATTERY_CHARGING_WIRELESS_20 "\xf3\xb0\xa0\x89" // U+F0809 battery-charging-wireless-20, tags: Battery, Home Automation -#define ICON_MD_BATTERY_CHARGING_WIRELESS_30 "\xf3\xb0\xa0\x8a" // U+F080A battery-charging-wireless-30, tags: Battery, Home Automation -#define ICON_MD_BATTERY_CHARGING_WIRELESS_40 "\xf3\xb0\xa0\x8b" // U+F080B battery-charging-wireless-40, tags: Battery, Home Automation -#define ICON_MD_BATTERY_CHARGING_WIRELESS_50 "\xf3\xb0\xa0\x8c" // U+F080C battery-charging-wireless-50, tags: Battery, Home Automation -#define ICON_MD_BATTERY_CHARGING_WIRELESS_60 "\xf3\xb0\xa0\x8d" // U+F080D battery-charging-wireless-60, tags: Battery, Home Automation -#define ICON_MD_BATTERY_CHARGING_WIRELESS_70 "\xf3\xb0\xa0\x8e" // U+F080E battery-charging-wireless-70, tags: Battery, Home Automation -#define ICON_MD_BATTERY_CHARGING_WIRELESS_80 "\xf3\xb0\xa0\x8f" // U+F080F battery-charging-wireless-80, tags: Battery, Home Automation -#define ICON_MD_BATTERY_CHARGING_WIRELESS_90 "\xf3\xb0\xa0\x90" // U+F0810 battery-charging-wireless-90, tags: Battery, Home Automation -#define ICON_MD_BATTERY_CHARGING_WIRELESS_ALERT "\xf3\xb0\xa0\x91" // U+F0811 battery-charging-wireless-alert, aliases: battery-charging-wireless-warning, tags: Battery, Home Automation, Alert / Error -#define ICON_MD_BATTERY_CHARGING_WIRELESS_OUTLINE "\xf3\xb0\xa0\x92" // U+F0812 battery-charging-wireless-outline, aliases: battery-charging-wireless-empty, battery-charging-wireless-0, tags: Battery, Home Automation -#define ICON_MD_BATTERY_CHECK "\xf3\xb1\x9f\xa2" // U+F17E2 battery-check, tags: Battery -#define ICON_MD_BATTERY_CHECK_OUTLINE "\xf3\xb1\x9f\xa3" // U+F17E3 battery-check-outline, tags: Battery -#define ICON_MD_BATTERY_CLOCK "\xf3\xb1\xa7\xa5" // U+F19E5 battery-clock, aliases: battery-full-clock, battery-100-clock, tags: Battery, Home Automation, Date / Time -#define ICON_MD_BATTERY_CLOCK_OUTLINE "\xf3\xb1\xa7\xa6" // U+F19E6 battery-clock-outline, aliases: batter-0-clock, battery-empty-clock, tags: Battery, Home Automation, Date / Time -#define ICON_MD_BATTERY_HEART "\xf3\xb1\x88\x8f" // U+F120F battery-heart, tags: Battery -#define ICON_MD_BATTERY_HEART_OUTLINE "\xf3\xb1\x88\x90" // U+F1210 battery-heart-outline, tags: Battery -#define ICON_MD_BATTERY_HEART_VARIANT "\xf3\xb1\x88\x91" // U+F1211 battery-heart-variant, tags: Battery -#define ICON_MD_BATTERY_HIGH "\xf3\xb1\x8a\xa3" // U+F12A3 battery-high, tags: Battery -#define ICON_MD_BATTERY_LOCK "\xf3\xb1\x9e\x9c" // U+F179C battery-lock, tags: Battery, Lock -#define ICON_MD_BATTERY_LOCK_OPEN "\xf3\xb1\x9e\x9d" // U+F179D battery-lock-open, tags: Battery, Lock -#define ICON_MD_BATTERY_LOW "\xf3\xb1\x8a\xa1" // U+F12A1 battery-low, tags: Battery -#define ICON_MD_BATTERY_MEDIUM "\xf3\xb1\x8a\xa2" // U+F12A2 battery-medium, tags: Battery -#define ICON_MD_BATTERY_MINUS "\xf3\xb1\x9f\xa4" // U+F17E4 battery-minus, tags: Battery -#define ICON_MD_BATTERY_MINUS_OUTLINE "\xf3\xb1\x9f\xa5" // U+F17E5 battery-minus-outline, tags: Battery -#define ICON_MD_BATTERY_MINUS_VARIANT "\xf3\xb0\x82\x8c" // U+F008C battery-minus-variant, tags: Battery, Home Automation -#define ICON_MD_BATTERY_NEGATIVE "\xf3\xb0\x82\x8d" // U+F008D battery-negative, tags: Battery, Home Automation -#define ICON_MD_BATTERY_OFF "\xf3\xb1\x89\x9d" // U+F125D battery-off, tags: Battery -#define ICON_MD_BATTERY_OFF_OUTLINE "\xf3\xb1\x89\x9e" // U+F125E battery-off-outline, tags: Battery -#define ICON_MD_BATTERY_OUTLINE "\xf3\xb0\x82\x8e" // U+F008E battery-outline, aliases: battery-0, battery-empty, tags: Battery, Home Automation, Automotive -#define ICON_MD_BATTERY_PLUS "\xf3\xb1\x9f\xa6" // U+F17E6 battery-plus, tags: Battery -#define ICON_MD_BATTERY_PLUS_OUTLINE "\xf3\xb1\x9f\xa7" // U+F17E7 battery-plus-outline, tags: Battery -#define ICON_MD_BATTERY_PLUS_VARIANT "\xf3\xb0\x82\x8f" // U+F008F battery-plus-variant, aliases: battery-saver, battery-add, tags: Battery, Home Automation -#define ICON_MD_BATTERY_POSITIVE "\xf3\xb0\x82\x90" // U+F0090 battery-positive, tags: Battery, Home Automation -#define ICON_MD_BATTERY_REMOVE "\xf3\xb1\x9f\xa8" // U+F17E8 battery-remove, tags: Battery -#define ICON_MD_BATTERY_REMOVE_OUTLINE "\xf3\xb1\x9f\xa9" // U+F17E9 battery-remove-outline, tags: Battery -#define ICON_MD_BATTERY_SYNC "\xf3\xb1\xa0\xb4" // U+F1834 battery-sync, aliases: battery-saver, battery-recycle, battery-eco, tags: Battery -#define ICON_MD_BATTERY_SYNC_OUTLINE "\xf3\xb1\xa0\xb5" // U+F1835 battery-sync-outline, aliases: battery-saver-outline, battery-eco-outline, battery-recycle-outline, tags: Battery -#define ICON_MD_BATTERY_UNKNOWN "\xf3\xb0\x82\x91" // U+F0091 battery-unknown, tags: Battery, Home Automation -#define ICON_MD_BATTERY_UNKNOWN_BLUETOOTH "\xf3\xb0\xa5\x8a" // U+F094A battery-unknown-bluetooth, tags: Battery -#define ICON_MD_BEACH "\xf3\xb0\x82\x92" // U+F0092 beach, aliases: parasol, tags: Places -#define ICON_MD_BEAKER "\xf3\xb0\xb3\xaa" // U+F0CEA beaker, tags: Science -#define ICON_MD_BEAKER_ALERT "\xf3\xb1\x88\xa9" // U+F1229 beaker-alert, tags: Alert / Error, Science -#define ICON_MD_BEAKER_ALERT_OUTLINE "\xf3\xb1\x88\xaa" // U+F122A beaker-alert-outline, tags: Alert / Error, Science -#define ICON_MD_BEAKER_CHECK "\xf3\xb1\x88\xab" // U+F122B beaker-check, tags: Science -#define ICON_MD_BEAKER_CHECK_OUTLINE "\xf3\xb1\x88\xac" // U+F122C beaker-check-outline, tags: Science -#define ICON_MD_BEAKER_MINUS "\xf3\xb1\x88\xad" // U+F122D beaker-minus, tags: Science -#define ICON_MD_BEAKER_MINUS_OUTLINE "\xf3\xb1\x88\xae" // U+F122E beaker-minus-outline, tags: Science -#define ICON_MD_BEAKER_OUTLINE "\xf3\xb0\x9a\x90" // U+F0690 beaker-outline, tags: Science -#define ICON_MD_BEAKER_PLUS "\xf3\xb1\x88\xaf" // U+F122F beaker-plus, tags: Science -#define ICON_MD_BEAKER_PLUS_OUTLINE "\xf3\xb1\x88\xb0" // U+F1230 beaker-plus-outline, tags: Science -#define ICON_MD_BEAKER_QUESTION "\xf3\xb1\x88\xb1" // U+F1231 beaker-question, tags: Science -#define ICON_MD_BEAKER_QUESTION_OUTLINE "\xf3\xb1\x88\xb2" // U+F1232 beaker-question-outline, tags: Science -#define ICON_MD_BEAKER_REMOVE "\xf3\xb1\x88\xb3" // U+F1233 beaker-remove, tags: Science -#define ICON_MD_BEAKER_REMOVE_OUTLINE "\xf3\xb1\x88\xb4" // U+F1234 beaker-remove-outline, tags: Science -#define ICON_MD_BED "\xf3\xb0\x8b\xa3" // U+F02E3 bed, aliases: hotel, guest-room, tags: Home Automation, Holiday -#define ICON_MD_BED_CLOCK "\xf3\xb1\xae\x94" // U+F1B94 bed-clock, aliases: bed-schedule, bed-time, sleep-schedule, sleep-time, tags: Date / Time -#define ICON_MD_BED_DOUBLE "\xf3\xb0\xbf\x94" // U+F0FD4 bed-double, aliases: bedroom, tags: Home Automation, Holiday -#define ICON_MD_BED_DOUBLE_OUTLINE "\xf3\xb0\xbf\x93" // U+F0FD3 bed-double-outline, aliases: bedroom-outline, tags: Home Automation, Holiday -#define ICON_MD_BED_EMPTY "\xf3\xb0\xa2\xa0" // U+F08A0 bed-empty, tags: Home Automation, Holiday -#define ICON_MD_BED_KING "\xf3\xb0\xbf\x92" // U+F0FD2 bed-king, aliases: bedroom, tags: Home Automation, Holiday -#define ICON_MD_BED_KING_OUTLINE "\xf3\xb0\xbf\x91" // U+F0FD1 bed-king-outline, aliases: bedroom-outline, tags: Home Automation, Holiday -#define ICON_MD_BED_OUTLINE "\xf3\xb0\x82\x99" // U+F0099 bed-outline, aliases: hotel-outline, guest-room-outline, tags: Home Automation, Holiday -#define ICON_MD_BED_QUEEN "\xf3\xb0\xbf\x90" // U+F0FD0 bed-queen, aliases: bedroom, tags: Home Automation, Holiday -#define ICON_MD_BED_QUEEN_OUTLINE "\xf3\xb0\xbf\x9b" // U+F0FDB bed-queen-outline, aliases: bedroom-outline, tags: Home Automation, Holiday -#define ICON_MD_BED_SINGLE "\xf3\xb1\x81\xad" // U+F106D bed-single, aliases: bedroom, tags: Home Automation, Holiday -#define ICON_MD_BED_SINGLE_OUTLINE "\xf3\xb1\x81\xae" // U+F106E bed-single-outline, aliases: bedroom-outline, tags: Home Automation, Holiday -#define ICON_MD_BEE "\xf3\xb0\xbe\xa1" // U+F0FA1 bee, aliases: fly, insect, tags: Nature, Agriculture, Animal -#define ICON_MD_BEE_FLOWER "\xf3\xb0\xbe\xa2" // U+F0FA2 bee-flower, aliases: fly-flower, nature, tags: Nature, Agriculture -#define ICON_MD_BEEHIVE_OFF_OUTLINE "\xf3\xb1\x8f\xad" // U+F13ED beehive-off-outline, tags: Nature, Agriculture -#define ICON_MD_BEEHIVE_OUTLINE "\xf3\xb1\x83\x8e" // U+F10CE beehive-outline, aliases: honey-outline, tags: Nature, Agriculture -#define ICON_MD_BEEKEEPER "\xf3\xb1\x93\xa2" // U+F14E2 beekeeper, aliases: apiarists, apiculturists, honey-farmer, tags: Nature, Agriculture -#define ICON_MD_BEER "\xf3\xb0\x82\x98" // U+F0098 beer, aliases: pint, pub, bar, drink, cup-full, tags: Food / Drink -#define ICON_MD_BEER_OUTLINE "\xf3\xb1\x8c\x8c" // U+F130C beer-outline, aliases: drink-outline, cup-full-outline, pint-outline, pub-outline, bar-outline, tags: Food / Drink -#define ICON_MD_BELL "\xf3\xb0\x82\x9a" // U+F009A bell, aliases: notifications, tags: Notification, Home Automation, Music -#define ICON_MD_BELL_ALERT "\xf3\xb0\xb5\x99" // U+F0D59 bell-alert, aliases: bell-warning, tags: Alert / Error, Notification -#define ICON_MD_BELL_ALERT_OUTLINE "\xf3\xb0\xba\x81" // U+F0E81 bell-alert-outline, tags: Alert / Error, Notification -#define ICON_MD_BELL_BADGE "\xf3\xb1\x85\xab" // U+F116B bell-badge, aliases: bell-notification, tags: Notification -#define ICON_MD_BELL_BADGE_OUTLINE "\xf3\xb0\x85\xb8" // U+F0178 bell-badge-outline, aliases: bell-notification-outline, tags: Notification -#define ICON_MD_BELL_CANCEL "\xf3\xb1\x8f\xa7" // U+F13E7 bell-cancel, tags: Notification -#define ICON_MD_BELL_CANCEL_OUTLINE "\xf3\xb1\x8f\xa8" // U+F13E8 bell-cancel-outline, tags: Notification -#define ICON_MD_BELL_CHECK "\xf3\xb1\x87\xa5" // U+F11E5 bell-check, tags: Notification -#define ICON_MD_BELL_CHECK_OUTLINE "\xf3\xb1\x87\xa6" // U+F11E6 bell-check-outline, tags: Notification -#define ICON_MD_BELL_CIRCLE "\xf3\xb0\xb5\x9a" // U+F0D5A bell-circle, tags: Notification -#define ICON_MD_BELL_CIRCLE_OUTLINE "\xf3\xb0\xb5\x9b" // U+F0D5B bell-circle-outline, tags: Notification -#define ICON_MD_BELL_COG "\xf3\xb1\xa8\xa9" // U+F1A29 bell-cog, aliases: bell-settings, notification-settings, tags: Notification, Settings -#define ICON_MD_BELL_COG_OUTLINE "\xf3\xb1\xa8\xaa" // U+F1A2A bell-cog-outline, aliases: bell-settings-outline, notification-settings-outline, tags: Notification, Settings -#define ICON_MD_BELL_MINUS "\xf3\xb1\x8f\xa9" // U+F13E9 bell-minus, tags: Notification -#define ICON_MD_BELL_MINUS_OUTLINE "\xf3\xb1\x8f\xaa" // U+F13EA bell-minus-outline, tags: Notification -#define ICON_MD_BELL_OFF "\xf3\xb0\x82\x9b" // U+F009B bell-off, aliases: notifications-off, tags: Notification -#define ICON_MD_BELL_OFF_OUTLINE "\xf3\xb0\xaa\x91" // U+F0A91 bell-off-outline, tags: Notification -#define ICON_MD_BELL_OUTLINE "\xf3\xb0\x82\x9c" // U+F009C bell-outline, aliases: notifications-none, tags: Notification, Music, Home Automation -#define ICON_MD_BELL_PLUS "\xf3\xb0\x82\x9d" // U+F009D bell-plus, aliases: add-alert, bell-add, tags: Notification -#define ICON_MD_BELL_PLUS_OUTLINE "\xf3\xb0\xaa\x92" // U+F0A92 bell-plus-outline, aliases: bell-add-outline, add-alert-outline, tags: Notification -#define ICON_MD_BELL_REMOVE "\xf3\xb1\x8f\xab" // U+F13EB bell-remove, tags: Notification -#define ICON_MD_BELL_REMOVE_OUTLINE "\xf3\xb1\x8f\xac" // U+F13EC bell-remove-outline, tags: Notification -#define ICON_MD_BELL_RING "\xf3\xb0\x82\x9e" // U+F009E bell-ring, aliases: notifications-active, tags: Notification -#define ICON_MD_BELL_RING_OUTLINE "\xf3\xb0\x82\x9f" // U+F009F bell-ring-outline, tags: Notification -#define ICON_MD_BELL_SLEEP "\xf3\xb0\x82\xa0" // U+F00A0 bell-sleep, aliases: notifications-paused, tags: Notification -#define ICON_MD_BELL_SLEEP_OUTLINE "\xf3\xb0\xaa\x93" // U+F0A93 bell-sleep-outline, tags: Notification -#define ICON_MD_BETA "\xf3\xb0\x82\xa1" // U+F00A1 beta, tags: Alpha / Numeric -#define ICON_MD_BETAMAX "\xf3\xb0\xa7\x8b" // U+F09CB betamax -#define ICON_MD_BIATHLON "\xf3\xb0\xb8\x94" // U+F0E14 biathlon, aliases: human-biathlon, tags: Sport, People / Family -#define ICON_MD_BICYCLE "\xf3\xb1\x82\x9c" // U+F109C bicycle, aliases: bike, cycling, tags: Transportation + Other -#define ICON_MD_BICYCLE_BASKET "\xf3\xb1\x88\xb5" // U+F1235 bicycle-basket, aliases: bike-basket, tags: Transportation + Other -#define ICON_MD_BICYCLE_CARGO "\xf3\xb1\xa2\x9c" // U+F189C bicycle-cargo, aliases: bike-cargo, tags: Transportation + Other -#define ICON_MD_BICYCLE_ELECTRIC "\xf3\xb1\x96\xb4" // U+F15B4 bicycle-electric, aliases: bike-electric, tags: Transportation + Other -#define ICON_MD_BICYCLE_PENNY_FARTHING "\xf3\xb1\x97\xa9" // U+F15E9 bicycle-penny-farthing, aliases: bicycle-high-wheel, bicycle-antique, tags: Transportation + Other -#define ICON_MD_BIKE "\xf3\xb0\x82\xa3" // U+F00A3 bike, aliases: bicycle, cycling, directions-bike, tags: Transportation + Other, Sport -#define ICON_MD_BIKE_FAST "\xf3\xb1\x84\x9f" // U+F111F bike-fast, aliases: velocity, tags: Transportation + Other -#define ICON_MD_BILLBOARD "\xf3\xb1\x80\x90" // U+F1010 billboard -#define ICON_MD_BILLIARDS "\xf3\xb0\xad\xa1" // U+F0B61 billiards, aliases: pool, eight-ball, tags: Sport -#define ICON_MD_BILLIARDS_RACK "\xf3\xb0\xad\xa2" // U+F0B62 billiards-rack, aliases: pool-table, pool-rack, snooker-rack, pool-triangle, billiards-triangle, snooker-triangle, tags: Sport -#define ICON_MD_BINOCULARS "\xf3\xb0\x82\xa5" // U+F00A5 binoculars -#define ICON_MD_BIO "\xf3\xb0\x82\xa6" // U+F00A6 bio -#define ICON_MD_BIOHAZARD "\xf3\xb0\x82\xa7" // U+F00A7 biohazard, tags: Science -#define ICON_MD_BIRD "\xf3\xb1\x97\x86" // U+F15C6 bird, tags: Animal -#define ICON_MD_BITBUCKET "\xf3\xb0\x82\xa8" // U+F00A8 bitbucket, tags: Brand / Logo -#define ICON_MD_BITCOIN "\xf3\xb0\xa0\x93" // U+F0813 bitcoin, tags: Brand / Logo, Banking, Currency -#define ICON_MD_BLACK_MESA "\xf3\xb0\x82\xa9" // U+F00A9 black-mesa, tags: Brand / Logo, Gaming / RPG -#define ICON_MD_BLENDER "\xf3\xb0\xb3\xab" // U+F0CEB blender, aliases: food-processor, tags: Food / Drink, Home Automation -#define ICON_MD_BLENDER_OUTLINE "\xf3\xb1\xa0\x9a" // U+F181A blender-outline, aliases: food-processor-outline, tags: Home Automation, Food / Drink -#define ICON_MD_BLENDER_SOFTWARE "\xf3\xb0\x82\xab" // U+F00AB blender-software, tags: Brand / Logo -#define ICON_MD_BLINDS "\xf3\xb0\x82\xac" // U+F00AC blinds, aliases: roller-shade-closed, window-closed, tags: Home Automation -#define ICON_MD_BLINDS_HORIZONTAL "\xf3\xb1\xa8\xab" // U+F1A2B blinds-horizontal, aliases: blinds-open, mini-blinds, window-open, tags: Home Automation -#define ICON_MD_BLINDS_HORIZONTAL_CLOSED "\xf3\xb1\xa8\xac" // U+F1A2C blinds-horizontal-closed, aliases: mini-blinds, window-closed, tags: Home Automation -#define ICON_MD_BLINDS_OPEN "\xf3\xb1\x80\x91" // U+F1011 blinds-open, aliases: roller-shade-open, window-open, tags: Home Automation -#define ICON_MD_BLINDS_VERTICAL "\xf3\xb1\xa8\xad" // U+F1A2D blinds-vertical, aliases: window, tags: Home Automation -#define ICON_MD_BLINDS_VERTICAL_CLOSED "\xf3\xb1\xa8\xae" // U+F1A2E blinds-vertical-closed, aliases: window-closed, tags: Home Automation -#define ICON_MD_BLOCK_HELPER "\xf3\xb0\x82\xad" // U+F00AD block-helper -#define ICON_MD_BLOOD_BAG "\xf3\xb0\xb3\xac" // U+F0CEC blood-bag, tags: Medical / Hospital -#define ICON_MD_BLUETOOTH "\xf3\xb0\x82\xaf" // U+F00AF bluetooth -#define ICON_MD_BLUETOOTH_AUDIO "\xf3\xb0\x82\xb0" // U+F00B0 bluetooth-audio, aliases: bluetooth-searching, tags: Audio -#define ICON_MD_BLUETOOTH_CONNECT "\xf3\xb0\x82\xb1" // U+F00B1 bluetooth-connect, aliases: bluetooth-connected -#define ICON_MD_BLUETOOTH_OFF "\xf3\xb0\x82\xb2" // U+F00B2 bluetooth-off, aliases: bluetooth-disabled -#define ICON_MD_BLUETOOTH_SETTINGS "\xf3\xb0\x82\xb3" // U+F00B3 bluetooth-settings, aliases: settings-bluetooth, tags: Settings -#define ICON_MD_BLUETOOTH_TRANSFER "\xf3\xb0\x82\xb4" // U+F00B4 bluetooth-transfer -#define ICON_MD_BLUR "\xf3\xb0\x82\xb5" // U+F00B5 blur, aliases: blur-on -#define ICON_MD_BLUR_LINEAR "\xf3\xb0\x82\xb6" // U+F00B6 blur-linear -#define ICON_MD_BLUR_OFF "\xf3\xb0\x82\xb7" // U+F00B7 blur-off -#define ICON_MD_BLUR_RADIAL "\xf3\xb0\x82\xb8" // U+F00B8 blur-radial, aliases: blur-circular -#define ICON_MD_BOLT "\xf3\xb0\xb6\xb3" // U+F0DB3 bolt, tags: Hardware / Tools -#define ICON_MD_BOMB "\xf3\xb0\x9a\x91" // U+F0691 bomb, tags: Gaming / RPG -#define ICON_MD_BOMB_OFF "\xf3\xb0\x9b\x85" // U+F06C5 bomb-off, tags: Gaming / RPG -#define ICON_MD_BONE "\xf3\xb0\x82\xb9" // U+F00B9 bone, tags: Animal, Holiday -#define ICON_MD_BONE_OFF "\xf3\xb1\xa7\xa0" // U+F19E0 bone-off, tags: Animal, Holiday -#define ICON_MD_BOOK "\xf3\xb0\x82\xba" // U+F00BA book, aliases: git-repository -#define ICON_MD_BOOK_ACCOUNT "\xf3\xb1\x8e\xad" // U+F13AD book-account, tags: Account / User -#define ICON_MD_BOOK_ACCOUNT_OUTLINE "\xf3\xb1\x8e\xae" // U+F13AE book-account-outline, tags: Account / User -#define ICON_MD_BOOK_ALERT "\xf3\xb1\x99\xbc" // U+F167C book-alert, tags: Alert / Error -#define ICON_MD_BOOK_ALERT_OUTLINE "\xf3\xb1\x99\xbd" // U+F167D book-alert-outline, tags: Alert / Error -#define ICON_MD_BOOK_ALPHABET "\xf3\xb0\x98\x9d" // U+F061D book-alphabet, aliases: dictionary -#define ICON_MD_BOOK_ARROW_DOWN "\xf3\xb1\x99\xbe" // U+F167E book-arrow-down -#define ICON_MD_BOOK_ARROW_DOWN_OUTLINE "\xf3\xb1\x99\xbf" // U+F167F book-arrow-down-outline -#define ICON_MD_BOOK_ARROW_LEFT "\xf3\xb1\x9a\x80" // U+F1680 book-arrow-left -#define ICON_MD_BOOK_ARROW_LEFT_OUTLINE "\xf3\xb1\x9a\x81" // U+F1681 book-arrow-left-outline -#define ICON_MD_BOOK_ARROW_RIGHT "\xf3\xb1\x9a\x82" // U+F1682 book-arrow-right -#define ICON_MD_BOOK_ARROW_RIGHT_OUTLINE "\xf3\xb1\x9a\x83" // U+F1683 book-arrow-right-outline -#define ICON_MD_BOOK_ARROW_UP "\xf3\xb1\x9a\x84" // U+F1684 book-arrow-up -#define ICON_MD_BOOK_ARROW_UP_OUTLINE "\xf3\xb1\x9a\x85" // U+F1685 book-arrow-up-outline -#define ICON_MD_BOOK_CANCEL "\xf3\xb1\x9a\x86" // U+F1686 book-cancel -#define ICON_MD_BOOK_CANCEL_OUTLINE "\xf3\xb1\x9a\x87" // U+F1687 book-cancel-outline -#define ICON_MD_BOOK_CHECK "\xf3\xb1\x93\xb3" // U+F14F3 book-check -#define ICON_MD_BOOK_CHECK_OUTLINE "\xf3\xb1\x93\xb4" // U+F14F4 book-check-outline -#define ICON_MD_BOOK_CLOCK "\xf3\xb1\x9a\x88" // U+F1688 book-clock, aliases: book-schedule, book-time, tags: Date / Time -#define ICON_MD_BOOK_CLOCK_OUTLINE "\xf3\xb1\x9a\x89" // U+F1689 book-clock-outline, aliases: book-schedule, book-time, tags: Date / Time -#define ICON_MD_BOOK_COG "\xf3\xb1\x9a\x8a" // U+F168A book-cog, aliases: book-settings, tags: Settings -#define ICON_MD_BOOK_COG_OUTLINE "\xf3\xb1\x9a\x8b" // U+F168B book-cog-outline, aliases: book-settings-outline, tags: Settings -#define ICON_MD_BOOK_CROSS "\xf3\xb0\x82\xa2" // U+F00A2 book-cross, aliases: bible, tags: Religion -#define ICON_MD_BOOK_EDIT "\xf3\xb1\x9a\x8c" // U+F168C book-edit, tags: Edit / Modify -#define ICON_MD_BOOK_EDIT_OUTLINE "\xf3\xb1\x9a\x8d" // U+F168D book-edit-outline, tags: Edit / Modify -#define ICON_MD_BOOK_EDUCATION "\xf3\xb1\x9b\x89" // U+F16C9 book-education -#define ICON_MD_BOOK_EDUCATION_OUTLINE "\xf3\xb1\x9b\x8a" // U+F16CA book-education-outline -#define ICON_MD_BOOK_HEART "\xf3\xb1\xa8\x9d" // U+F1A1D book-heart, aliases: book-favorite, book-love -#define ICON_MD_BOOK_HEART_OUTLINE "\xf3\xb1\xa8\x9e" // U+F1A1E book-heart-outline, aliases: book-favorite-outline, book-love-outline -#define ICON_MD_BOOK_INFORMATION_VARIANT "\xf3\xb1\x81\xaf" // U+F106F book-information-variant, aliases: encyclopedia -#define ICON_MD_BOOK_LOCK "\xf3\xb0\x9e\x9a" // U+F079A book-lock, aliases: book-secure, tags: Lock -#define ICON_MD_BOOK_LOCK_OPEN "\xf3\xb0\x9e\x9b" // U+F079B book-lock-open, aliases: book-unsecure, tags: Lock -#define ICON_MD_BOOK_LOCK_OPEN_OUTLINE "\xf3\xb1\x9a\x8e" // U+F168E book-lock-open-outline, tags: Lock -#define ICON_MD_BOOK_LOCK_OUTLINE "\xf3\xb1\x9a\x8f" // U+F168F book-lock-outline, aliases: book-secure-outline, tags: Lock -#define ICON_MD_BOOK_MARKER "\xf3\xb1\x9a\x90" // U+F1690 book-marker, aliases: book-location, tags: Navigation -#define ICON_MD_BOOK_MARKER_OUTLINE "\xf3\xb1\x9a\x91" // U+F1691 book-marker-outline, aliases: book-location-outline, tags: Navigation -#define ICON_MD_BOOK_MINUS "\xf3\xb0\x97\x99" // U+F05D9 book-minus -#define ICON_MD_BOOK_MINUS_MULTIPLE "\xf3\xb0\xaa\x94" // U+F0A94 book-minus-multiple, aliases: books-minus -#define ICON_MD_BOOK_MINUS_MULTIPLE_OUTLINE "\xf3\xb0\xa4\x8b" // U+F090B book-minus-multiple-outline -#define ICON_MD_BOOK_MINUS_OUTLINE "\xf3\xb1\x9a\x92" // U+F1692 book-minus-outline -#define ICON_MD_BOOK_MULTIPLE "\xf3\xb0\x82\xbb" // U+F00BB book-multiple, aliases: books -#define ICON_MD_BOOK_MULTIPLE_OUTLINE "\xf3\xb0\x90\xb6" // U+F0436 book-multiple-outline -#define ICON_MD_BOOK_MUSIC "\xf3\xb0\x81\xa7" // U+F0067 book-music, aliases: audio-book, tags: Audio, Music -#define ICON_MD_BOOK_MUSIC_OUTLINE "\xf3\xb1\x9a\x93" // U+F1693 book-music-outline, tags: Music -#define ICON_MD_BOOK_OFF "\xf3\xb1\x9a\x94" // U+F1694 book-off -#define ICON_MD_BOOK_OFF_OUTLINE "\xf3\xb1\x9a\x95" // U+F1695 book-off-outline -#define ICON_MD_BOOK_OPEN "\xf3\xb0\x82\xbd" // U+F00BD book-open, aliases: chrome-reader-mode -#define ICON_MD_BOOK_OPEN_BLANK_VARIANT "\xf3\xb0\x82\xbe" // U+F00BE book-open-blank-variant, aliases: import-contacts -#define ICON_MD_BOOK_OPEN_OUTLINE "\xf3\xb0\xad\xa3" // U+F0B63 book-open-outline -#define ICON_MD_BOOK_OPEN_PAGE_VARIANT "\xf3\xb0\x97\x9a" // U+F05DA book-open-page-variant, aliases: auto-stories -#define ICON_MD_BOOK_OPEN_PAGE_VARIANT_OUTLINE "\xf3\xb1\x97\x96" // U+F15D6 book-open-page-variant-outline -#define ICON_MD_BOOK_OPEN_VARIANT "\xf3\xb1\x93\xb7" // U+F14F7 book-open-variant -#define ICON_MD_BOOK_OUTLINE "\xf3\xb0\xad\xa4" // U+F0B64 book-outline -#define ICON_MD_BOOK_PLAY "\xf3\xb0\xba\x82" // U+F0E82 book-play -#define ICON_MD_BOOK_PLAY_OUTLINE "\xf3\xb0\xba\x83" // U+F0E83 book-play-outline -#define ICON_MD_BOOK_PLUS "\xf3\xb0\x97\x9b" // U+F05DB book-plus, aliases: book-add -#define ICON_MD_BOOK_PLUS_MULTIPLE "\xf3\xb0\xaa\x95" // U+F0A95 book-plus-multiple, aliases: books-plus, book-multiple-add, books-add -#define ICON_MD_BOOK_PLUS_MULTIPLE_OUTLINE "\xf3\xb0\xab\x9e" // U+F0ADE book-plus-multiple-outline -#define ICON_MD_BOOK_PLUS_OUTLINE "\xf3\xb1\x9a\x96" // U+F1696 book-plus-outline -#define ICON_MD_BOOK_REFRESH "\xf3\xb1\x9a\x97" // U+F1697 book-refresh -#define ICON_MD_BOOK_REFRESH_OUTLINE "\xf3\xb1\x9a\x98" // U+F1698 book-refresh-outline -#define ICON_MD_BOOK_REMOVE "\xf3\xb0\xaa\x97" // U+F0A97 book-remove -#define ICON_MD_BOOK_REMOVE_MULTIPLE "\xf3\xb0\xaa\x96" // U+F0A96 book-remove-multiple, aliases: books-remove -#define ICON_MD_BOOK_REMOVE_MULTIPLE_OUTLINE "\xf3\xb0\x93\x8a" // U+F04CA book-remove-multiple-outline -#define ICON_MD_BOOK_REMOVE_OUTLINE "\xf3\xb1\x9a\x99" // U+F1699 book-remove-outline -#define ICON_MD_BOOK_SEARCH "\xf3\xb0\xba\x84" // U+F0E84 book-search -#define ICON_MD_BOOK_SEARCH_OUTLINE "\xf3\xb0\xba\x85" // U+F0E85 book-search-outline -#define ICON_MD_BOOK_SETTINGS "\xf3\xb1\x9a\x9a" // U+F169A book-settings, tags: Settings -#define ICON_MD_BOOK_SETTINGS_OUTLINE "\xf3\xb1\x9a\x9b" // U+F169B book-settings-outline, tags: Settings -#define ICON_MD_BOOK_SYNC "\xf3\xb1\x9a\x9c" // U+F169C book-sync -#define ICON_MD_BOOK_SYNC_OUTLINE "\xf3\xb1\x9b\x88" // U+F16C8 book-sync-outline -#define ICON_MD_BOOK_VARIANT "\xf3\xb0\x82\xbf" // U+F00BF book-variant, aliases: class -#define ICON_MD_BOOKMARK "\xf3\xb0\x83\x80" // U+F00C0 bookmark, aliases: turned-in -#define ICON_MD_BOOKMARK_BOX "\xf3\xb1\xad\xb5" // U+F1B75 bookmark-box -#define ICON_MD_BOOKMARK_BOX_MULTIPLE "\xf3\xb1\xa5\xac" // U+F196C bookmark-box-multiple, aliases: collections-bookmark, library-bookmark -#define ICON_MD_BOOKMARK_BOX_MULTIPLE_OUTLINE "\xf3\xb1\xa5\xad" // U+F196D bookmark-box-multiple-outline, aliases: collections-bookmark-outline, library-bookmark-outline -#define ICON_MD_BOOKMARK_BOX_OUTLINE "\xf3\xb1\xad\xb6" // U+F1B76 bookmark-box-outline -#define ICON_MD_BOOKMARK_CHECK "\xf3\xb0\x83\x81" // U+F00C1 bookmark-check, aliases: bookmark-tick -#define ICON_MD_BOOKMARK_CHECK_OUTLINE "\xf3\xb1\x8d\xbb" // U+F137B bookmark-check-outline -#define ICON_MD_BOOKMARK_MINUS "\xf3\xb0\xa7\x8c" // U+F09CC bookmark-minus -#define ICON_MD_BOOKMARK_MINUS_OUTLINE "\xf3\xb0\xa7\x8d" // U+F09CD bookmark-minus-outline -#define ICON_MD_BOOKMARK_MULTIPLE "\xf3\xb0\xb8\x95" // U+F0E15 bookmark-multiple -#define ICON_MD_BOOKMARK_MULTIPLE_OUTLINE "\xf3\xb0\xb8\x96" // U+F0E16 bookmark-multiple-outline -#define ICON_MD_BOOKMARK_MUSIC "\xf3\xb0\x83\x82" // U+F00C2 bookmark-music, tags: Music -#define ICON_MD_BOOKMARK_MUSIC_OUTLINE "\xf3\xb1\x8d\xb9" // U+F1379 bookmark-music-outline, tags: Music -#define ICON_MD_BOOKMARK_OFF "\xf3\xb0\xa7\x8e" // U+F09CE bookmark-off -#define ICON_MD_BOOKMARK_OFF_OUTLINE "\xf3\xb0\xa7\x8f" // U+F09CF bookmark-off-outline -#define ICON_MD_BOOKMARK_OUTLINE "\xf3\xb0\x83\x83" // U+F00C3 bookmark-outline, aliases: bookmark-border, turned-in-not -#define ICON_MD_BOOKMARK_PLUS "\xf3\xb0\x83\x85" // U+F00C5 bookmark-plus, aliases: bookmark-add -#define ICON_MD_BOOKMARK_PLUS_OUTLINE "\xf3\xb0\x83\x84" // U+F00C4 bookmark-plus-outline, aliases: bookmark-add-outline -#define ICON_MD_BOOKMARK_REMOVE "\xf3\xb0\x83\x86" // U+F00C6 bookmark-remove -#define ICON_MD_BOOKMARK_REMOVE_OUTLINE "\xf3\xb1\x8d\xba" // U+F137A bookmark-remove-outline -#define ICON_MD_BOOKSHELF "\xf3\xb1\x89\x9f" // U+F125F bookshelf -#define ICON_MD_BOOM_GATE "\xf3\xb0\xba\x86" // U+F0E86 boom-gate, aliases: boom-arm, boom-barrier, arm-barrier, barrier, automatic-gate, tags: Transportation + Road, Home Automation -#define ICON_MD_BOOM_GATE_ALERT "\xf3\xb0\xba\x87" // U+F0E87 boom-gate-alert, aliases: boom-arm-alert, boom-barrier-alert, arm-barrier-alert, barrier-alert, automatic-gate-alert, tags: Alert / Error, Transportation + Road -#define ICON_MD_BOOM_GATE_ALERT_OUTLINE "\xf3\xb0\xba\x88" // U+F0E88 boom-gate-alert-outline, aliases: boom-arm-alert-outline, boom-barrier-alert-outline, arm-barrier-alert-outline, barrier-alert-outline, automatic-gate-alert-outline, tags: Alert / Error, Transportation + Road -#define ICON_MD_BOOM_GATE_ARROW_DOWN "\xf3\xb0\xba\x89" // U+F0E89 boom-gate-arrow-down, aliases: boom-arm-down, boom-barrier-down, arm-barrier-down, barrier-down, automatic-gate-down, tags: Transportation + Road -#define ICON_MD_BOOM_GATE_ARROW_DOWN_OUTLINE "\xf3\xb0\xba\x8a" // U+F0E8A boom-gate-arrow-down-outline, aliases: boom-arm-down-outline, boom-barrier-down-outline, arm-barrier-down-outline, barrier-down-outline, automatic-gate-down-outline, tags: Transportation + Road -#define ICON_MD_BOOM_GATE_ARROW_UP "\xf3\xb0\xba\x8c" // U+F0E8C boom-gate-arrow-up, aliases: boom-arm-up, boom-barrier-up, arm-barrier-up, barrier-up, automatic-gate-up, tags: Transportation + Road -#define ICON_MD_BOOM_GATE_ARROW_UP_OUTLINE "\xf3\xb0\xba\x8d" // U+F0E8D boom-gate-arrow-up-outline, aliases: boom-arm-up-outline, boom-barrier-up-outline, arm-barrier-up-outline, barrier-up-outline, automatic-gate-up-outline, tags: Transportation + Road -#define ICON_MD_BOOM_GATE_OUTLINE "\xf3\xb0\xba\x8b" // U+F0E8B boom-gate-outline, aliases: boom-arm-outline, boom-barrier-outline, arm-barrier-outline, barrier-outline, automatic-gate-outline, tags: Transportation + Road, Home Automation -#define ICON_MD_BOOM_GATE_UP "\xf3\xb1\x9f\xb9" // U+F17F9 boom-gate-up, aliases: boom-arm-up, boom-barrier-up, arm-barrier-up, barrier-up, automatic-gate-up, tags: Transportation + Road, Home Automation -#define ICON_MD_BOOM_GATE_UP_OUTLINE "\xf3\xb1\x9f\xba" // U+F17FA boom-gate-up-outline, aliases: boom-arm-up-outline, boom-barrier-up-outline, arm-barrier-up-outline, barrier-up-outline, automatic-gate-up-outline, tags: Transportation + Road, Home Automation -#define ICON_MD_BOOMBOX "\xf3\xb0\x97\x9c" // U+F05DC boombox, tags: Home Automation -#define ICON_MD_BOOMERANG "\xf3\xb1\x83\x8f" // U+F10CF boomerang, tags: Gaming / RPG -#define ICON_MD_BOOTSTRAP "\xf3\xb0\x9b\x86" // U+F06C6 bootstrap, tags: Brand / Logo, Developer / Languages -#define ICON_MD_BORDER_ALL "\xf3\xb0\x83\x87" // U+F00C7 border-all, tags: Text / Content / Format -#define ICON_MD_BORDER_ALL_VARIANT "\xf3\xb0\xa2\xa1" // U+F08A1 border-all-variant, tags: Text / Content / Format -#define ICON_MD_BORDER_BOTTOM "\xf3\xb0\x83\x88" // U+F00C8 border-bottom, tags: Text / Content / Format -#define ICON_MD_BORDER_BOTTOM_VARIANT "\xf3\xb0\xa2\xa2" // U+F08A2 border-bottom-variant, tags: Text / Content / Format -#define ICON_MD_BORDER_COLOR "\xf3\xb0\x83\x89" // U+F00C9 border-color, aliases: border-colour, tags: Color, Text / Content / Format -#define ICON_MD_BORDER_HORIZONTAL "\xf3\xb0\x83\x8a" // U+F00CA border-horizontal, tags: Text / Content / Format -#define ICON_MD_BORDER_INSIDE "\xf3\xb0\x83\x8b" // U+F00CB border-inside, tags: Text / Content / Format -#define ICON_MD_BORDER_LEFT "\xf3\xb0\x83\x8c" // U+F00CC border-left, tags: Text / Content / Format -#define ICON_MD_BORDER_LEFT_VARIANT "\xf3\xb0\xa2\xa3" // U+F08A3 border-left-variant, tags: Text / Content / Format -#define ICON_MD_BORDER_NONE "\xf3\xb0\x83\x8d" // U+F00CD border-none, aliases: border-clear, tags: Text / Content / Format -#define ICON_MD_BORDER_NONE_VARIANT "\xf3\xb0\xa2\xa4" // U+F08A4 border-none-variant, tags: Text / Content / Format -#define ICON_MD_BORDER_OUTSIDE "\xf3\xb0\x83\x8e" // U+F00CE border-outside, aliases: border-outer, tags: Text / Content / Format -#define ICON_MD_BORDER_RADIUS "\xf3\xb1\xab\xb4" // U+F1AF4 border-radius, aliases: border-round-corners, tags: Text / Content / Format -#define ICON_MD_BORDER_RIGHT "\xf3\xb0\x83\x8f" // U+F00CF border-right, tags: Text / Content / Format -#define ICON_MD_BORDER_RIGHT_VARIANT "\xf3\xb0\xa2\xa5" // U+F08A5 border-right-variant, tags: Text / Content / Format -#define ICON_MD_BORDER_STYLE "\xf3\xb0\x83\x90" // U+F00D0 border-style, tags: Text / Content / Format -#define ICON_MD_BORDER_TOP "\xf3\xb0\x83\x91" // U+F00D1 border-top, tags: Text / Content / Format -#define ICON_MD_BORDER_TOP_VARIANT "\xf3\xb0\xa2\xa6" // U+F08A6 border-top-variant, tags: Text / Content / Format -#define ICON_MD_BORDER_VERTICAL "\xf3\xb0\x83\x92" // U+F00D2 border-vertical, tags: Text / Content / Format -#define ICON_MD_BOTTLE_SODA "\xf3\xb1\x81\xb0" // U+F1070 bottle-soda, aliases: bottle-coke, bottle-pop, tags: Food / Drink -#define ICON_MD_BOTTLE_SODA_CLASSIC "\xf3\xb1\x81\xb1" // U+F1071 bottle-soda-classic, aliases: bottle-coke-classic, bottle-pop-classic, tags: Food / Drink -#define ICON_MD_BOTTLE_SODA_CLASSIC_OUTLINE "\xf3\xb1\x8d\xa3" // U+F1363 bottle-soda-classic-outline -#define ICON_MD_BOTTLE_SODA_OUTLINE "\xf3\xb1\x81\xb2" // U+F1072 bottle-soda-outline, aliases: bottle-coke-outline, bottle-pop-outline, tags: Food / Drink -#define ICON_MD_BOTTLE_TONIC "\xf3\xb1\x84\xae" // U+F112E bottle-tonic, aliases: flask, tags: Science -#define ICON_MD_BOTTLE_TONIC_OUTLINE "\xf3\xb1\x84\xaf" // U+F112F bottle-tonic-outline, aliases: flask-outline, tags: Science -#define ICON_MD_BOTTLE_TONIC_PLUS "\xf3\xb1\x84\xb0" // U+F1130 bottle-tonic-plus, aliases: health-potion, tags: Gaming / RPG -#define ICON_MD_BOTTLE_TONIC_PLUS_OUTLINE "\xf3\xb1\x84\xb1" // U+F1131 bottle-tonic-plus-outline, aliases: health-potion-outline, tags: Gaming / RPG -#define ICON_MD_BOTTLE_TONIC_SKULL "\xf3\xb1\x84\xb2" // U+F1132 bottle-tonic-skull, aliases: poison, moonshine, tags: Gaming / RPG, Holiday -#define ICON_MD_BOTTLE_TONIC_SKULL_OUTLINE "\xf3\xb1\x84\xb3" // U+F1133 bottle-tonic-skull-outline, aliases: poison-outline, moonshine-outline, tags: Gaming / RPG, Holiday -#define ICON_MD_BOTTLE_WINE "\xf3\xb0\xa1\x94" // U+F0854 bottle-wine, tags: Food / Drink -#define ICON_MD_BOTTLE_WINE_OUTLINE "\xf3\xb1\x8c\x90" // U+F1310 bottle-wine-outline, tags: Food / Drink -#define ICON_MD_BOW_ARROW "\xf3\xb1\xa1\x81" // U+F1841 bow-arrow, tags: Gaming / RPG, Sport -#define ICON_MD_BOW_TIE "\xf3\xb0\x99\xb8" // U+F0678 bow-tie, tags: Clothing -#define ICON_MD_BOWL "\xf3\xb0\x8a\x8e" // U+F028E bowl, tags: Food / Drink -#define ICON_MD_BOWL_MIX "\xf3\xb0\x98\x97" // U+F0617 bowl-mix, aliases: mixing-bowl, tags: Food / Drink -#define ICON_MD_BOWL_MIX_OUTLINE "\xf3\xb0\x8b\xa4" // U+F02E4 bowl-mix-outline, aliases: mixing-bowl-outline, tags: Food / Drink -#define ICON_MD_BOWL_OUTLINE "\xf3\xb0\x8a\xa9" // U+F02A9 bowl-outline, tags: Food / Drink -#define ICON_MD_BOWLING "\xf3\xb0\x83\x93" // U+F00D3 bowling, tags: Sport -#define ICON_MD_BOX "\xf3\xb0\x83\x94" // U+F00D4 box, tags: Brand / Logo -#define ICON_MD_BOX_CUTTER "\xf3\xb0\x83\x95" // U+F00D5 box-cutter, aliases: stanley-knife, tags: Hardware / Tools -#define ICON_MD_BOX_CUTTER_OFF "\xf3\xb0\xad\x8a" // U+F0B4A box-cutter-off -#define ICON_MD_BOX_SHADOW "\xf3\xb0\x98\xb7" // U+F0637 box-shadow -#define ICON_MD_BOXING_GLOVE "\xf3\xb0\xad\xa5" // U+F0B65 boxing-glove, tags: Sport -#define ICON_MD_BRAILLE "\xf3\xb0\xa7\x90" // U+F09D0 braille, aliases: touch-reading, hand-reading -#define ICON_MD_BRAIN "\xf3\xb0\xa7\x91" // U+F09D1 brain, tags: Medical / Hospital -#define ICON_MD_BREAD_SLICE "\xf3\xb0\xb3\xae" // U+F0CEE bread-slice, tags: Food / Drink -#define ICON_MD_BREAD_SLICE_OUTLINE "\xf3\xb0\xb3\xaf" // U+F0CEF bread-slice-outline, tags: Food / Drink -#define ICON_MD_BRIDGE "\xf3\xb0\x98\x98" // U+F0618 bridge, tags: Places -#define ICON_MD_BRIEFCASE "\xf3\xb0\x83\x96" // U+F00D6 briefcase, aliases: work -#define ICON_MD_BRIEFCASE_ACCOUNT "\xf3\xb0\xb3\xb0" // U+F0CF0 briefcase-account, aliases: briefcase-person, briefcase-user, tags: Account / User -#define ICON_MD_BRIEFCASE_ACCOUNT_OUTLINE "\xf3\xb0\xb3\xb1" // U+F0CF1 briefcase-account-outline, aliases: briefcase-person-outline, briefcase-user-outline, tags: Account / User -#define ICON_MD_BRIEFCASE_ARROW_LEFT_RIGHT "\xf3\xb1\xaa\x8d" // U+F1A8D briefcase-arrow-left-right, aliases: briefcase-transfer, briefcase-exchange, briefcase-swap -#define ICON_MD_BRIEFCASE_ARROW_LEFT_RIGHT_OUTLINE "\xf3\xb1\xaa\x8e" // U+F1A8E briefcase-arrow-left-right-outline, aliases: briefcase-exchange-outline, briefcase-transfer-outline, briefcase-swap-outline -#define ICON_MD_BRIEFCASE_ARROW_UP_DOWN "\xf3\xb1\xaa\x8f" // U+F1A8F briefcase-arrow-up-down, aliases: briefcase-exchange, briefcase-transfer, briefcase-swap -#define ICON_MD_BRIEFCASE_ARROW_UP_DOWN_OUTLINE "\xf3\xb1\xaa\x90" // U+F1A90 briefcase-arrow-up-down-outline, aliases: briefcase-exchange-outline, briefcase-transfer-outline, briefcase-swap-outline -#define ICON_MD_BRIEFCASE_CHECK "\xf3\xb0\x83\x97" // U+F00D7 briefcase-check, aliases: briefcase-tick -#define ICON_MD_BRIEFCASE_CHECK_OUTLINE "\xf3\xb1\x8c\x9e" // U+F131E briefcase-check-outline -#define ICON_MD_BRIEFCASE_CLOCK "\xf3\xb1\x83\x90" // U+F10D0 briefcase-clock, tags: Date / Time -#define ICON_MD_BRIEFCASE_CLOCK_OUTLINE "\xf3\xb1\x83\x91" // U+F10D1 briefcase-clock-outline, tags: Date / Time -#define ICON_MD_BRIEFCASE_DOWNLOAD "\xf3\xb0\x83\x98" // U+F00D8 briefcase-download -#define ICON_MD_BRIEFCASE_DOWNLOAD_OUTLINE "\xf3\xb0\xb0\xbd" // U+F0C3D briefcase-download-outline -#define ICON_MD_BRIEFCASE_EDIT "\xf3\xb0\xaa\x98" // U+F0A98 briefcase-edit, tags: Edit / Modify -#define ICON_MD_BRIEFCASE_EDIT_OUTLINE "\xf3\xb0\xb0\xbe" // U+F0C3E briefcase-edit-outline, tags: Edit / Modify -#define ICON_MD_BRIEFCASE_EYE "\xf3\xb1\x9f\x99" // U+F17D9 briefcase-eye, aliases: briefcase-view -#define ICON_MD_BRIEFCASE_EYE_OUTLINE "\xf3\xb1\x9f\x9a" // U+F17DA briefcase-eye-outline, aliases: briefcase-view-outline -#define ICON_MD_BRIEFCASE_MINUS "\xf3\xb0\xa8\xaa" // U+F0A2A briefcase-minus -#define ICON_MD_BRIEFCASE_MINUS_OUTLINE "\xf3\xb0\xb0\xbf" // U+F0C3F briefcase-minus-outline -#define ICON_MD_BRIEFCASE_OFF "\xf3\xb1\x99\x98" // U+F1658 briefcase-off -#define ICON_MD_BRIEFCASE_OFF_OUTLINE "\xf3\xb1\x99\x99" // U+F1659 briefcase-off-outline -#define ICON_MD_BRIEFCASE_OUTLINE "\xf3\xb0\xa0\x94" // U+F0814 briefcase-outline, aliases: work-outline -#define ICON_MD_BRIEFCASE_PLUS "\xf3\xb0\xa8\xab" // U+F0A2B briefcase-plus, aliases: briefcase-add -#define ICON_MD_BRIEFCASE_PLUS_OUTLINE "\xf3\xb0\xb1\x80" // U+F0C40 briefcase-plus-outline, aliases: briefcase-add-outline -#define ICON_MD_BRIEFCASE_REMOVE "\xf3\xb0\xa8\xac" // U+F0A2C briefcase-remove -#define ICON_MD_BRIEFCASE_REMOVE_OUTLINE "\xf3\xb0\xb1\x81" // U+F0C41 briefcase-remove-outline -#define ICON_MD_BRIEFCASE_SEARCH "\xf3\xb0\xa8\xad" // U+F0A2D briefcase-search -#define ICON_MD_BRIEFCASE_SEARCH_OUTLINE "\xf3\xb0\xb1\x82" // U+F0C42 briefcase-search-outline -#define ICON_MD_BRIEFCASE_UPLOAD "\xf3\xb0\x83\x99" // U+F00D9 briefcase-upload -#define ICON_MD_BRIEFCASE_UPLOAD_OUTLINE "\xf3\xb0\xb1\x83" // U+F0C43 briefcase-upload-outline -#define ICON_MD_BRIEFCASE_VARIANT "\xf3\xb1\x92\x94" // U+F1494 briefcase-variant -#define ICON_MD_BRIEFCASE_VARIANT_OFF "\xf3\xb1\x99\x9a" // U+F165A briefcase-variant-off -#define ICON_MD_BRIEFCASE_VARIANT_OFF_OUTLINE "\xf3\xb1\x99\x9b" // U+F165B briefcase-variant-off-outline -#define ICON_MD_BRIEFCASE_VARIANT_OUTLINE "\xf3\xb1\x92\x95" // U+F1495 briefcase-variant-outline -#define ICON_MD_BRIGHTNESS_1 "\xf3\xb0\x83\x9a" // U+F00DA brightness-1 -#define ICON_MD_BRIGHTNESS_2 "\xf3\xb0\x83\x9b" // U+F00DB brightness-2 -#define ICON_MD_BRIGHTNESS_3 "\xf3\xb0\x83\x9c" // U+F00DC brightness-3 -#define ICON_MD_BRIGHTNESS_4 "\xf3\xb0\x83\x9d" // U+F00DD brightness-4, aliases: theme-light-dark -#define ICON_MD_BRIGHTNESS_5 "\xf3\xb0\x83\x9e" // U+F00DE brightness-5, aliases: brightness-low -#define ICON_MD_BRIGHTNESS_6 "\xf3\xb0\x83\x9f" // U+F00DF brightness-6, aliases: brightness-medium, theme-light-dark -#define ICON_MD_BRIGHTNESS_7 "\xf3\xb0\x83\xa0" // U+F00E0 brightness-7, aliases: brightness-high, tags: Home Automation -#define ICON_MD_BRIGHTNESS_AUTO "\xf3\xb0\x83\xa1" // U+F00E1 brightness-auto -#define ICON_MD_BRIGHTNESS_PERCENT "\xf3\xb0\xb3\xb2" // U+F0CF2 brightness-percent, aliases: discount, sale, tags: Shopping -#define ICON_MD_BROADCAST "\xf3\xb1\x9c\xa0" // U+F1720 broadcast, aliases: signal, tags: Weather -#define ICON_MD_BROADCAST_OFF "\xf3\xb1\x9c\xa1" // U+F1721 broadcast-off, aliases: signal-off, tags: Weather -#define ICON_MD_BROOM "\xf3\xb0\x83\xa2" // U+F00E2 broom -#define ICON_MD_BRUSH "\xf3\xb0\x83\xa3" // U+F00E3 brush, aliases: paintbrush, tags: Drawing / Art -#define ICON_MD_BRUSH_OFF "\xf3\xb1\x9d\xb1" // U+F1771 brush-off -#define ICON_MD_BRUSH_OUTLINE "\xf3\xb1\xa8\x8d" // U+F1A0D brush-outline, aliases: paintbrush-outline, tags: Drawing / Art -#define ICON_MD_BRUSH_VARIANT "\xf3\xb1\xa0\x93" // U+F1813 brush-variant, aliases: paintbrush, tags: Drawing / Art -#define ICON_MD_BUCKET "\xf3\xb1\x90\x95" // U+F1415 bucket -#define ICON_MD_BUCKET_OUTLINE "\xf3\xb1\x90\x96" // U+F1416 bucket-outline -#define ICON_MD_BUFFET "\xf3\xb0\x95\xb8" // U+F0578 buffet, aliases: sideboard, tags: Home Automation -#define ICON_MD_BUG "\xf3\xb0\x83\xa4" // U+F00E4 bug, aliases: bug-report, tags: Nature, Animal -#define ICON_MD_BUG_CHECK "\xf3\xb0\xa8\xae" // U+F0A2E bug-check, aliases: bug-tick, tags: Animal -#define ICON_MD_BUG_CHECK_OUTLINE "\xf3\xb0\xa8\xaf" // U+F0A2F bug-check-outline, aliases: bug-tick-outline, tags: Animal -#define ICON_MD_BUG_OUTLINE "\xf3\xb0\xa8\xb0" // U+F0A30 bug-outline, tags: Nature, Animal -#define ICON_MD_BUG_PAUSE "\xf3\xb1\xab\xb5" // U+F1AF5 bug-pause -#define ICON_MD_BUG_PAUSE_OUTLINE "\xf3\xb1\xab\xb6" // U+F1AF6 bug-pause-outline -#define ICON_MD_BUG_PLAY "\xf3\xb1\xab\xb7" // U+F1AF7 bug-play, aliases: bug-start -#define ICON_MD_BUG_PLAY_OUTLINE "\xf3\xb1\xab\xb8" // U+F1AF8 bug-play-outline -#define ICON_MD_BUG_STOP "\xf3\xb1\xab\xb9" // U+F1AF9 bug-stop -#define ICON_MD_BUG_STOP_OUTLINE "\xf3\xb1\xab\xba" // U+F1AFA bug-stop-outline -#define ICON_MD_BUGLE "\xf3\xb0\xb6\xb4" // U+F0DB4 bugle, aliases: car-horn, tags: Automotive, Music -#define ICON_MD_BULKHEAD_LIGHT "\xf3\xb1\xa8\xaf" // U+F1A2F bulkhead-light, tags: Home Automation -#define ICON_MD_BULLDOZER "\xf3\xb0\xac\xa2" // U+F0B22 bulldozer, tags: Hardware / Tools -#define ICON_MD_BULLET "\xf3\xb0\xb3\xb3" // U+F0CF3 bullet -#define ICON_MD_BULLETIN_BOARD "\xf3\xb0\x83\xa5" // U+F00E5 bulletin-board, aliases: notice-board -#define ICON_MD_BULLHORN "\xf3\xb0\x83\xa6" // U+F00E6 bullhorn, aliases: announcement, megaphone, loudspeaker -#define ICON_MD_BULLHORN_OUTLINE "\xf3\xb0\xac\xa3" // U+F0B23 bullhorn-outline, aliases: announcement-outline, megaphone-outline, loudspeaker-outline -#define ICON_MD_BULLHORN_VARIANT "\xf3\xb1\xa5\xae" // U+F196E bullhorn-variant, aliases: announcement, megaphone, loudspeaker -#define ICON_MD_BULLHORN_VARIANT_OUTLINE "\xf3\xb1\xa5\xaf" // U+F196F bullhorn-variant-outline, aliases: announcement-outline, megaphone-outline, loudspeaker-outline -#define ICON_MD_BULLSEYE "\xf3\xb0\x97\x9d" // U+F05DD bullseye, aliases: target, tags: Sport -#define ICON_MD_BULLSEYE_ARROW "\xf3\xb0\xa3\x89" // U+F08C9 bullseye-arrow, aliases: target-arrow, tags: Sport -#define ICON_MD_BULMA "\xf3\xb1\x8b\xa7" // U+F12E7 bulma, tags: Developer / Languages, Brand / Logo -#define ICON_MD_BUNK_BED "\xf3\xb1\x8c\x82" // U+F1302 bunk-bed, tags: Home Automation -#define ICON_MD_BUNK_BED_OUTLINE "\xf3\xb0\x82\x97" // U+F0097 bunk-bed-outline, tags: Home Automation -#define ICON_MD_BUS "\xf3\xb0\x83\xa7" // U+F00E7 bus, aliases: directions-bus, tags: Navigation, Transportation + Road -#define ICON_MD_BUS_ALERT "\xf3\xb0\xaa\x99" // U+F0A99 bus-alert, aliases: bus-warning, tags: Alert / Error, Transportation + Road -#define ICON_MD_BUS_ARTICULATED_END "\xf3\xb0\x9e\x9c" // U+F079C bus-articulated-end, tags: Transportation + Road -#define ICON_MD_BUS_ARTICULATED_FRONT "\xf3\xb0\x9e\x9d" // U+F079D bus-articulated-front, tags: Transportation + Road -#define ICON_MD_BUS_CLOCK "\xf3\xb0\xa3\x8a" // U+F08CA bus-clock, aliases: departure-board, tags: Date / Time, Transportation + Road -#define ICON_MD_BUS_DOUBLE_DECKER "\xf3\xb0\x9e\x9e" // U+F079E bus-double-decker, tags: Transportation + Road -#define ICON_MD_BUS_ELECTRIC "\xf3\xb1\xa4\x9d" // U+F191D bus-electric, tags: Transportation + Road -#define ICON_MD_BUS_MARKER "\xf3\xb1\x88\x92" // U+F1212 bus-marker, aliases: bus-location, bus-stop, tags: Navigation -#define ICON_MD_BUS_MULTIPLE "\xf3\xb0\xbc\xbf" // U+F0F3F bus-multiple, aliases: fleet, tags: Transportation + Road -#define ICON_MD_BUS_SCHOOL "\xf3\xb0\x9e\x9f" // U+F079F bus-school, aliases: education, tags: Transportation + Road -#define ICON_MD_BUS_SIDE "\xf3\xb0\x9e\xa0" // U+F07A0 bus-side, tags: Transportation + Road -#define ICON_MD_BUS_STOP "\xf3\xb1\x80\x92" // U+F1012 bus-stop, tags: Transportation + Road, Navigation -#define ICON_MD_BUS_STOP_COVERED "\xf3\xb1\x80\x93" // U+F1013 bus-stop-covered, tags: Transportation + Road, Navigation -#define ICON_MD_BUS_STOP_UNCOVERED "\xf3\xb1\x80\x94" // U+F1014 bus-stop-uncovered, tags: Transportation + Road, Navigation -#define ICON_MD_BUTTERFLY "\xf3\xb1\x96\x89" // U+F1589 butterfly, tags: Nature, Animal -#define ICON_MD_BUTTERFLY_OUTLINE "\xf3\xb1\x96\x8a" // U+F158A butterfly-outline, tags: Nature, Animal -#define ICON_MD_BUTTON_CURSOR "\xf3\xb1\xad\x8f" // U+F1B4F button-cursor, tags: Form -#define ICON_MD_BUTTON_POINTER "\xf3\xb1\xad\x90" // U+F1B50 button-pointer, tags: Form -#define ICON_MD_CABIN_A_FRAME "\xf3\xb1\xa2\x8c" // U+F188C cabin-a-frame, tags: Home Automation -#define ICON_MD_CABLE_DATA "\xf3\xb1\x8e\x94" // U+F1394 cable-data -#define ICON_MD_CACHED "\xf3\xb0\x83\xa8" // U+F00E8 cached, aliases: counterclockwise-arrows, circular-arrows, circle-arrows, sync, tags: Arrow -#define ICON_MD_CACTUS "\xf3\xb0\xb6\xb5" // U+F0DB5 cactus, tags: Nature -#define ICON_MD_CAKE "\xf3\xb0\x83\xa9" // U+F00E9 cake, aliases: birthday-cake, tags: Holiday, Food / Drink -#define ICON_MD_CAKE_LAYERED "\xf3\xb0\x83\xaa" // U+F00EA cake-layered, aliases: birthday-cake, tags: Holiday, Food / Drink -#define ICON_MD_CAKE_VARIANT "\xf3\xb0\x83\xab" // U+F00EB cake-variant, aliases: birthday-cake, tags: Holiday, Food / Drink -#define ICON_MD_CAKE_VARIANT_OUTLINE "\xf3\xb1\x9f\xb0" // U+F17F0 cake-variant-outline, aliases: birthday-cake-outline, tags: Holiday, Food / Drink -#define ICON_MD_CALCULATOR "\xf3\xb0\x83\xac" // U+F00EC calculator, tags: Math -#define ICON_MD_CALCULATOR_VARIANT "\xf3\xb0\xaa\x9a" // U+F0A9A calculator-variant, tags: Math -#define ICON_MD_CALCULATOR_VARIANT_OUTLINE "\xf3\xb1\x96\xa6" // U+F15A6 calculator-variant-outline, tags: Math -#define ICON_MD_CALENDAR "\xf3\xb0\x83\xad" // U+F00ED calendar, aliases: event, insert-invitation, tags: Date / Time -#define ICON_MD_CALENDAR_ACCOUNT "\xf3\xb0\xbb\x97" // U+F0ED7 calendar-account, aliases: calendar-user, tags: Date / Time, Account / User -#define ICON_MD_CALENDAR_ACCOUNT_OUTLINE "\xf3\xb0\xbb\x98" // U+F0ED8 calendar-account-outline, aliases: calendar-user-outline, tags: Date / Time, Account / User -#define ICON_MD_CALENDAR_ALERT "\xf3\xb0\xa8\xb1" // U+F0A31 calendar-alert, aliases: event-alert, calendar-warning, tags: Date / Time, Alert / Error -#define ICON_MD_CALENDAR_ALERT_OUTLINE "\xf3\xb1\xad\xa2" // U+F1B62 calendar-alert-outline, tags: Date / Time, Alert / Error -#define ICON_MD_CALENDAR_ARROW_LEFT "\xf3\xb1\x84\xb4" // U+F1134 calendar-arrow-left, aliases: reschedule, tags: Date / Time -#define ICON_MD_CALENDAR_ARROW_RIGHT "\xf3\xb1\x84\xb5" // U+F1135 calendar-arrow-right, aliases: reschedule, tags: Date / Time -#define ICON_MD_CALENDAR_BADGE "\xf3\xb1\xae\x9d" // U+F1B9D calendar-badge, tags: Date / Time -#define ICON_MD_CALENDAR_BADGE_OUTLINE "\xf3\xb1\xae\x9e" // U+F1B9E calendar-badge-outline, tags: Date / Time -#define ICON_MD_CALENDAR_BLANK "\xf3\xb0\x83\xae" // U+F00EE calendar-blank, aliases: calendar-today, tags: Date / Time -#define ICON_MD_CALENDAR_BLANK_MULTIPLE "\xf3\xb1\x81\xb3" // U+F1073 calendar-blank-multiple, tags: Date / Time -#define ICON_MD_CALENDAR_BLANK_OUTLINE "\xf3\xb0\xad\xa6" // U+F0B66 calendar-blank-outline, aliases: event-blank-outline, tags: Date / Time -#define ICON_MD_CALENDAR_CHECK "\xf3\xb0\x83\xaf" // U+F00EF calendar-check, aliases: event-available, calendar-task, calendar-tick, event-tick, event-check, tags: Date / Time -#define ICON_MD_CALENDAR_CHECK_OUTLINE "\xf3\xb0\xb1\x84" // U+F0C44 calendar-check-outline, aliases: event-available-outline, event-check-outline, event-tick-outline, calendar-task-outline, calendar-tick-outline, tags: Date / Time -#define ICON_MD_CALENDAR_CLOCK "\xf3\xb0\x83\xb0" // U+F00F0 calendar-clock, aliases: event-clock, event-time, calendar-time, tags: Date / Time -#define ICON_MD_CALENDAR_CLOCK_OUTLINE "\xf3\xb1\x9b\xa1" // U+F16E1 calendar-clock-outline, tags: Date / Time -#define ICON_MD_CALENDAR_COLLAPSE_HORIZONTAL "\xf3\xb1\xa2\x9d" // U+F189D calendar-collapse-horizontal, tags: Date / Time -#define ICON_MD_CALENDAR_COLLAPSE_HORIZONTAL_OUTLINE "\xf3\xb1\xad\xa3" // U+F1B63 calendar-collapse-horizontal-outline, tags: Date / Time -#define ICON_MD_CALENDAR_CURSOR "\xf3\xb1\x95\xbb" // U+F157B calendar-cursor, tags: Date / Time -#define ICON_MD_CALENDAR_CURSOR_OUTLINE "\xf3\xb1\xad\xa4" // U+F1B64 calendar-cursor-outline, tags: Date / Time -#define ICON_MD_CALENDAR_EDIT "\xf3\xb0\xa2\xa7" // U+F08A7 calendar-edit, aliases: event-edit, tags: Date / Time, Edit / Modify -#define ICON_MD_CALENDAR_EDIT_OUTLINE "\xf3\xb1\xad\xa5" // U+F1B65 calendar-edit-outline, tags: Date / Time -#define ICON_MD_CALENDAR_END "\xf3\xb1\x99\xac" // U+F166C calendar-end, tags: Date / Time -#define ICON_MD_CALENDAR_END_OUTLINE "\xf3\xb1\xad\xa6" // U+F1B66 calendar-end-outline, tags: Date / Time -#define ICON_MD_CALENDAR_EXPAND_HORIZONTAL "\xf3\xb1\xa2\x9e" // U+F189E calendar-expand-horizontal, tags: Date / Time -#define ICON_MD_CALENDAR_EXPAND_HORIZONTAL_OUTLINE "\xf3\xb1\xad\xa7" // U+F1B67 calendar-expand-horizontal-outline, tags: Date / Time -#define ICON_MD_CALENDAR_EXPORT "\xf3\xb0\xac\xa4" // U+F0B24 calendar-export, tags: Date / Time -#define ICON_MD_CALENDAR_EXPORT_OUTLINE "\xf3\xb1\xad\xa8" // U+F1B68 calendar-export-outline, tags: Date / Time -#define ICON_MD_CALENDAR_FILTER "\xf3\xb1\xa8\xb2" // U+F1A32 calendar-filter, tags: Date / Time -#define ICON_MD_CALENDAR_FILTER_OUTLINE "\xf3\xb1\xa8\xb3" // U+F1A33 calendar-filter-outline, aliases: event-week-end-outline, tags: Date / Time -#define ICON_MD_CALENDAR_HEART "\xf3\xb0\xa7\x92" // U+F09D2 calendar-heart, aliases: event-heart, tags: Date / Time -#define ICON_MD_CALENDAR_HEART_OUTLINE "\xf3\xb1\xad\xa9" // U+F1B69 calendar-heart-outline, tags: Date / Time -#define ICON_MD_CALENDAR_IMPORT "\xf3\xb0\xac\xa5" // U+F0B25 calendar-import, tags: Date / Time -#define ICON_MD_CALENDAR_IMPORT_OUTLINE "\xf3\xb1\xad\xaa" // U+F1B6A calendar-import-outline, tags: Date / Time -#define ICON_MD_CALENDAR_LOCK "\xf3\xb1\x99\x81" // U+F1641 calendar-lock, tags: Date / Time, Lock -#define ICON_MD_CALENDAR_LOCK_OPEN "\xf3\xb1\xad\x9b" // U+F1B5B calendar-lock-open, tags: Lock, Date / Time -#define ICON_MD_CALENDAR_LOCK_OPEN_OUTLINE "\xf3\xb1\xad\x9c" // U+F1B5C calendar-lock-open-outline, tags: Lock, Date / Time -#define ICON_MD_CALENDAR_LOCK_OUTLINE "\xf3\xb1\x99\x82" // U+F1642 calendar-lock-outline, tags: Date / Time, Lock -#define ICON_MD_CALENDAR_MINUS "\xf3\xb0\xb5\x9c" // U+F0D5C calendar-minus, aliases: event-minus, tags: Date / Time -#define ICON_MD_CALENDAR_MINUS_OUTLINE "\xf3\xb1\xad\xab" // U+F1B6B calendar-minus-outline, tags: Date / Time -#define ICON_MD_CALENDAR_MONTH "\xf3\xb0\xb8\x97" // U+F0E17 calendar-month, tags: Date / Time -#define ICON_MD_CALENDAR_MONTH_OUTLINE "\xf3\xb0\xb8\x98" // U+F0E18 calendar-month-outline, tags: Date / Time -#define ICON_MD_CALENDAR_MULTIPLE "\xf3\xb0\x83\xb1" // U+F00F1 calendar-multiple, aliases: event-multiple, calendars, events, tags: Date / Time -#define ICON_MD_CALENDAR_MULTIPLE_CHECK "\xf3\xb0\x83\xb2" // U+F00F2 calendar-multiple-check, aliases: event-multiple-check, calendar-multiple-tick, calendars-check, calendars-tick, event-multiple-tick, events-check, events-tick, tags: Date / Time -#define ICON_MD_CALENDAR_MULTISELECT "\xf3\xb0\xa8\xb2" // U+F0A32 calendar-multiselect, tags: Date / Time -#define ICON_MD_CALENDAR_MULTISELECT_OUTLINE "\xf3\xb1\xad\x95" // U+F1B55 calendar-multiselect-outline, tags: Date / Time -#define ICON_MD_CALENDAR_OUTLINE "\xf3\xb0\xad\xa7" // U+F0B67 calendar-outline, aliases: event-outline, tags: Date / Time -#define ICON_MD_CALENDAR_PLUS "\xf3\xb0\x83\xb3" // U+F00F3 calendar-plus, aliases: event-plus, calendar-add, event-add, tags: Date / Time -#define ICON_MD_CALENDAR_PLUS_OUTLINE "\xf3\xb1\xad\xac" // U+F1B6C calendar-plus-outline, tags: Date / Time -#define ICON_MD_CALENDAR_QUESTION "\xf3\xb0\x9a\x92" // U+F0692 calendar-question, aliases: calendar-rsvp, event-question, tags: Date / Time -#define ICON_MD_CALENDAR_QUESTION_OUTLINE "\xf3\xb1\xad\xad" // U+F1B6D calendar-question-outline, tags: Date / Time -#define ICON_MD_CALENDAR_RANGE "\xf3\xb0\x99\xb9" // U+F0679 calendar-range, aliases: date-range, calendar-week, event-range, tags: Date / Time -#define ICON_MD_CALENDAR_RANGE_OUTLINE "\xf3\xb0\xad\xa8" // U+F0B68 calendar-range-outline, aliases: event-range-outline, tags: Date / Time -#define ICON_MD_CALENDAR_REFRESH "\xf3\xb0\x87\xa1" // U+F01E1 calendar-refresh, aliases: calendar-repeat, tags: Date / Time -#define ICON_MD_CALENDAR_REFRESH_OUTLINE "\xf3\xb0\x88\x83" // U+F0203 calendar-refresh-outline, aliases: calendar-repeat-outline, tags: Date / Time -#define ICON_MD_CALENDAR_REMOVE "\xf3\xb0\x83\xb4" // U+F00F4 calendar-remove, aliases: event-busy, event-remove, tags: Date / Time -#define ICON_MD_CALENDAR_REMOVE_OUTLINE "\xf3\xb0\xb1\x85" // U+F0C45 calendar-remove-outline, aliases: event-busy-outline, event-remove-outline, tags: Date / Time -#define ICON_MD_CALENDAR_SEARCH "\xf3\xb0\xa5\x8c" // U+F094C calendar-search, aliases: event-search, tags: Date / Time -#define ICON_MD_CALENDAR_SEARCH_OUTLINE "\xf3\xb1\xad\xae" // U+F1B6E calendar-search-outline, tags: Date / Time -#define ICON_MD_CALENDAR_STAR "\xf3\xb0\xa7\x93" // U+F09D3 calendar-star, aliases: event-star, calendar-favorite, tags: Date / Time -#define ICON_MD_CALENDAR_STAR_OUTLINE "\xf3\xb1\xad\x93" // U+F1B53 calendar-star-outline, tags: Date / Time -#define ICON_MD_CALENDAR_START "\xf3\xb1\x99\xad" // U+F166D calendar-start, tags: Date / Time -#define ICON_MD_CALENDAR_START_OUTLINE "\xf3\xb1\xad\xaf" // U+F1B6F calendar-start-outline, tags: Date / Time -#define ICON_MD_CALENDAR_SYNC "\xf3\xb0\xba\x8e" // U+F0E8E calendar-sync, aliases: calendar-repeat, tags: Date / Time -#define ICON_MD_CALENDAR_SYNC_OUTLINE "\xf3\xb0\xba\x8f" // U+F0E8F calendar-sync-outline, aliases: calendar-repeat-outline, tags: Date / Time -#define ICON_MD_CALENDAR_TEXT "\xf3\xb0\x83\xb5" // U+F00F5 calendar-text, aliases: event-note, event-text, tags: Date / Time -#define ICON_MD_CALENDAR_TEXT_OUTLINE "\xf3\xb0\xb1\x86" // U+F0C46 calendar-text-outline, aliases: event-text-outline, event-note-outline, tags: Date / Time -#define ICON_MD_CALENDAR_TODAY "\xf3\xb0\x83\xb6" // U+F00F6 calendar-today, aliases: calendar-day, tags: Date / Time -#define ICON_MD_CALENDAR_TODAY_OUTLINE "\xf3\xb1\xa8\xb0" // U+F1A30 calendar-today-outline, aliases: calendar-day-outline, tags: Date / Time -#define ICON_MD_CALENDAR_WEEK "\xf3\xb0\xa8\xb3" // U+F0A33 calendar-week, aliases: event-week, tags: Date / Time -#define ICON_MD_CALENDAR_WEEK_BEGIN "\xf3\xb0\xa8\xb4" // U+F0A34 calendar-week-begin, aliases: event-week-begin, tags: Date / Time -#define ICON_MD_CALENDAR_WEEK_BEGIN_OUTLINE "\xf3\xb1\xa8\xb1" // U+F1A31 calendar-week-begin-outline, aliases: event-week-begin-outline, tags: Date / Time -#define ICON_MD_CALENDAR_WEEK_OUTLINE "\xf3\xb1\xa8\xb4" // U+F1A34 calendar-week-outline, aliases: event-week-outline, tags: Date / Time -#define ICON_MD_CALENDAR_WEEKEND "\xf3\xb0\xbb\x99" // U+F0ED9 calendar-weekend, tags: Date / Time -#define ICON_MD_CALENDAR_WEEKEND_OUTLINE "\xf3\xb0\xbb\x9a" // U+F0EDA calendar-weekend-outline, tags: Date / Time -#define ICON_MD_CALL_MADE "\xf3\xb0\x83\xb7" // U+F00F7 call-made, tags: Cellphone / Phone, Arrow -#define ICON_MD_CALL_MERGE "\xf3\xb0\x83\xb8" // U+F00F8 call-merge, aliases: merge-type, tags: Cellphone / Phone, Arrow -#define ICON_MD_CALL_MISSED "\xf3\xb0\x83\xb9" // U+F00F9 call-missed, tags: Cellphone / Phone, Arrow -#define ICON_MD_CALL_RECEIVED "\xf3\xb0\x83\xba" // U+F00FA call-received, tags: Cellphone / Phone, Arrow -#define ICON_MD_CALL_SPLIT "\xf3\xb0\x83\xbb" // U+F00FB call-split, tags: Cellphone / Phone, Arrow -#define ICON_MD_CAMCORDER "\xf3\xb0\x83\xbc" // U+F00FC camcorder, tags: Video / Movie -#define ICON_MD_CAMCORDER_OFF "\xf3\xb0\x83\xbf" // U+F00FF camcorder-off, tags: Video / Movie -#define ICON_MD_CAMERA "\xf3\xb0\x84\x80" // U+F0100 camera, aliases: photography, camera-alt, local-see, photo-camera, tags: Photography, Home Automation -#define ICON_MD_CAMERA_ACCOUNT "\xf3\xb0\xa3\x8b" // U+F08CB camera-account, aliases: camera-user, tags: Account / User, Photography -#define ICON_MD_CAMERA_BURST "\xf3\xb0\x9a\x93" // U+F0693 camera-burst, aliases: burst-mode, tags: Photography -#define ICON_MD_CAMERA_CONTROL "\xf3\xb0\xad\xa9" // U+F0B69 camera-control, tags: Photography -#define ICON_MD_CAMERA_DOCUMENT "\xf3\xb1\xa1\xb1" // U+F1871 camera-document, aliases: overhead-projector, tags: Photography -#define ICON_MD_CAMERA_DOCUMENT_OFF "\xf3\xb1\xa1\xb2" // U+F1872 camera-document-off, aliases: overhead-projector-off, tags: Photography -#define ICON_MD_CAMERA_ENHANCE "\xf3\xb0\x84\x81" // U+F0101 camera-enhance, tags: Photography -#define ICON_MD_CAMERA_ENHANCE_OUTLINE "\xf3\xb0\xad\xaa" // U+F0B6A camera-enhance-outline, tags: Photography -#define ICON_MD_CAMERA_FLIP "\xf3\xb1\x97\x99" // U+F15D9 camera-flip, aliases: camera-sync, camera-refresh, tags: Photography -#define ICON_MD_CAMERA_FLIP_OUTLINE "\xf3\xb1\x97\x9a" // U+F15DA camera-flip-outline, aliases: camera-sync-outline, camera-refresh-outline, tags: Photography -#define ICON_MD_CAMERA_FRONT "\xf3\xb0\x84\x82" // U+F0102 camera-front, tags: Photography -#define ICON_MD_CAMERA_FRONT_VARIANT "\xf3\xb0\x84\x83" // U+F0103 camera-front-variant, tags: Photography -#define ICON_MD_CAMERA_GOPRO "\xf3\xb0\x9e\xa1" // U+F07A1 camera-gopro, tags: Photography, Device / Tech -#define ICON_MD_CAMERA_IMAGE "\xf3\xb0\xa3\x8c" // U+F08CC camera-image, tags: Photography -#define ICON_MD_CAMERA_IRIS "\xf3\xb0\x84\x84" // U+F0104 camera-iris, tags: Photography -#define ICON_MD_CAMERA_LOCK "\xf3\xb1\xa8\x94" // U+F1A14 camera-lock, tags: Photography, Lock -#define ICON_MD_CAMERA_LOCK_OUTLINE "\xf3\xb1\xa8\x95" // U+F1A15 camera-lock-outline, tags: Photography, Lock -#define ICON_MD_CAMERA_MARKER "\xf3\xb1\xa6\xa7" // U+F19A7 camera-marker, aliases: camera-location, tags: Photography, Navigation -#define ICON_MD_CAMERA_MARKER_OUTLINE "\xf3\xb1\xa6\xa8" // U+F19A8 camera-marker-outline, aliases: camera-location-outline, tags: Photography, Navigation -#define ICON_MD_CAMERA_METERING_CENTER "\xf3\xb0\x9e\xa2" // U+F07A2 camera-metering-center, aliases: camera-metering-centre, tags: Photography -#define ICON_MD_CAMERA_METERING_MATRIX "\xf3\xb0\x9e\xa3" // U+F07A3 camera-metering-matrix, tags: Photography -#define ICON_MD_CAMERA_METERING_PARTIAL "\xf3\xb0\x9e\xa4" // U+F07A4 camera-metering-partial, tags: Photography -#define ICON_MD_CAMERA_METERING_SPOT "\xf3\xb0\x9e\xa5" // U+F07A5 camera-metering-spot, tags: Photography -#define ICON_MD_CAMERA_OFF "\xf3\xb0\x97\x9f" // U+F05DF camera-off, tags: Photography -#define ICON_MD_CAMERA_OFF_OUTLINE "\xf3\xb1\xa6\xbf" // U+F19BF camera-off-outline, tags: Photography -#define ICON_MD_CAMERA_OUTLINE "\xf3\xb0\xb5\x9d" // U+F0D5D camera-outline, tags: Photography -#define ICON_MD_CAMERA_PARTY_MODE "\xf3\xb0\x84\x85" // U+F0105 camera-party-mode, tags: Photography -#define ICON_MD_CAMERA_PLUS "\xf3\xb0\xbb\x9b" // U+F0EDB camera-plus, tags: Photography -#define ICON_MD_CAMERA_PLUS_OUTLINE "\xf3\xb0\xbb\x9c" // U+F0EDC camera-plus-outline, tags: Photography -#define ICON_MD_CAMERA_REAR "\xf3\xb0\x84\x86" // U+F0106 camera-rear, tags: Photography -#define ICON_MD_CAMERA_REAR_VARIANT "\xf3\xb0\x84\x87" // U+F0107 camera-rear-variant, tags: Photography -#define ICON_MD_CAMERA_RETAKE "\xf3\xb0\xb8\x99" // U+F0E19 camera-retake, tags: Photography -#define ICON_MD_CAMERA_RETAKE_OUTLINE "\xf3\xb0\xb8\x9a" // U+F0E1A camera-retake-outline, tags: Photography -#define ICON_MD_CAMERA_SWITCH "\xf3\xb0\x84\x88" // U+F0108 camera-switch, aliases: switch-camera, tags: Photography -#define ICON_MD_CAMERA_SWITCH_OUTLINE "\xf3\xb0\xa1\x8a" // U+F084A camera-switch-outline, tags: Photography -#define ICON_MD_CAMERA_TIMER "\xf3\xb0\x84\x89" // U+F0109 camera-timer, tags: Date / Time, Photography -#define ICON_MD_CAMERA_WIRELESS "\xf3\xb0\xb6\xb6" // U+F0DB6 camera-wireless, tags: Photography -#define ICON_MD_CAMERA_WIRELESS_OUTLINE "\xf3\xb0\xb6\xb7" // U+F0DB7 camera-wireless-outline, tags: Photography -#define ICON_MD_CAMPFIRE "\xf3\xb0\xbb\x9d" // U+F0EDD campfire -#define ICON_MD_CANCEL "\xf3\xb0\x9c\xba" // U+F073A cancel, aliases: prohibited, ban, do-not-disturb-alt, denied, block, forbid, no, clear -#define ICON_MD_CANDELABRA "\xf3\xb1\x9f\x92" // U+F17D2 candelabra, aliases: candle, candelabrum, tags: Home Automation, Holiday -#define ICON_MD_CANDELABRA_FIRE "\xf3\xb1\x9f\x93" // U+F17D3 candelabra-fire, aliases: candelabrum-fire, candelabrum-flame, candelabra-flame, candle-fire, candle-flame, tags: Home Automation, Holiday -#define ICON_MD_CANDLE "\xf3\xb0\x97\xa2" // U+F05E2 candle, aliases: candle-flame, candle-fire, tags: Holiday, Home Automation -#define ICON_MD_CANDY "\xf3\xb1\xa5\xb0" // U+F1970 candy, aliases: treat, chocolate, tags: Food / Drink -#define ICON_MD_CANDY_OFF "\xf3\xb1\xa5\xb1" // U+F1971 candy-off, aliases: chocolate-off, treat-off, tags: Food / Drink -#define ICON_MD_CANDY_OFF_OUTLINE "\xf3\xb1\xa5\xb2" // U+F1972 candy-off-outline, aliases: chocolate-off-outline, treat-off-outline, navi-off, tags: Food / Drink, Gaming / RPG -#define ICON_MD_CANDY_OUTLINE "\xf3\xb1\xa5\xb3" // U+F1973 candy-outline, aliases: chocolate-outline, treat-outline, navi, hey-listen, fairy, tags: Food / Drink, Gaming / RPG -#define ICON_MD_CANDYCANE "\xf3\xb0\x84\x8a" // U+F010A candycane, tags: Holiday, Food / Drink -#define ICON_MD_CANNABIS "\xf3\xb0\x9e\xa6" // U+F07A6 cannabis, aliases: weed, pot, marijuana, tags: Nature, Medical / Hospital -#define ICON_MD_CANNABIS_OFF "\xf3\xb1\x99\xae" // U+F166E cannabis-off -#define ICON_MD_CAPS_LOCK "\xf3\xb0\xaa\x9b" // U+F0A9B caps-lock, tags: Text / Content / Format -#define ICON_MD_CAR "\xf3\xb0\x84\x8b" // U+F010B car, aliases: directions-car, drive-eta, time-to-leave, tags: Transportation + Road, Navigation, Automotive -#define ICON_MD_CAR_2_PLUS "\xf3\xb1\x80\x95" // U+F1015 car-2-plus, aliases: hov-lane, high-occupancy-vehicle-lane, carpool-lane, tags: Transportation + Road, Automotive -#define ICON_MD_CAR_3_PLUS "\xf3\xb1\x80\x96" // U+F1016 car-3-plus, aliases: hov-lane, high-occupancy-vehicle-lane, carpool-lane, tags: Transportation + Road, Automotive -#define ICON_MD_CAR_ARROW_LEFT "\xf3\xb1\x8e\xb2" // U+F13B2 car-arrow-left, tags: Automotive, Transportation + Road -#define ICON_MD_CAR_ARROW_RIGHT "\xf3\xb1\x8e\xb3" // U+F13B3 car-arrow-right, tags: Automotive, Transportation + Road -#define ICON_MD_CAR_BACK "\xf3\xb0\xb8\x9b" // U+F0E1B car-back, tags: Automotive, Transportation + Road -#define ICON_MD_CAR_BATTERY "\xf3\xb0\x84\x8c" // U+F010C car-battery, tags: Battery, Automotive -#define ICON_MD_CAR_BRAKE_ABS "\xf3\xb0\xb1\x87" // U+F0C47 car-brake-abs, aliases: anti-lock-brake-system, anti-lock-braking-system, tags: Automotive -#define ICON_MD_CAR_BRAKE_ALERT "\xf3\xb0\xb1\x88" // U+F0C48 car-brake-alert, aliases: car-parking-brake, car-handbrake, car-hand-brake, car-emergency-brake, car-brake-warning, tags: Automotive, Alert / Error -#define ICON_MD_CAR_BRAKE_FLUID_LEVEL "\xf3\xb1\xa4\x89" // U+F1909 car-brake-fluid-level, tags: Automotive -#define ICON_MD_CAR_BRAKE_HOLD "\xf3\xb0\xb5\x9e" // U+F0D5E car-brake-hold, tags: Automotive -#define ICON_MD_CAR_BRAKE_LOW_PRESSURE "\xf3\xb1\xa4\x8a" // U+F190A car-brake-low-pressure, tags: Automotive -#define ICON_MD_CAR_BRAKE_PARKING "\xf3\xb0\xb5\x9f" // U+F0D5F car-brake-parking, tags: Automotive -#define ICON_MD_CAR_BRAKE_RETARDER "\xf3\xb1\x80\x97" // U+F1017 car-brake-retarder, tags: Automotive -#define ICON_MD_CAR_BRAKE_TEMPERATURE "\xf3\xb1\xa4\x8b" // U+F190B car-brake-temperature, tags: Automotive -#define ICON_MD_CAR_BRAKE_WORN_LININGS "\xf3\xb1\xa4\x8c" // U+F190C car-brake-worn-linings, tags: Automotive -#define ICON_MD_CAR_CHILD_SEAT "\xf3\xb0\xbe\xa3" // U+F0FA3 car-child-seat, tags: Automotive, People / Family -#define ICON_MD_CAR_CLOCK "\xf3\xb1\xa5\xb4" // U+F1974 car-clock, tags: Date / Time, Automotive -#define ICON_MD_CAR_CLUTCH "\xf3\xb1\x80\x98" // U+F1018 car-clutch, tags: Automotive -#define ICON_MD_CAR_COG "\xf3\xb1\x8f\x8c" // U+F13CC car-cog, aliases: car-settings, tags: Automotive, Settings, Transportation + Road -#define ICON_MD_CAR_CONNECTED "\xf3\xb0\x84\x8d" // U+F010D car-connected, tags: Transportation + Road, Automotive -#define ICON_MD_CAR_CONVERTIBLE "\xf3\xb0\x9e\xa7" // U+F07A7 car-convertible, tags: Transportation + Road, Automotive -#define ICON_MD_CAR_COOLANT_LEVEL "\xf3\xb1\x80\x99" // U+F1019 car-coolant-level, tags: Automotive -#define ICON_MD_CAR_CRUISE_CONTROL "\xf3\xb0\xb5\xa0" // U+F0D60 car-cruise-control, tags: Automotive -#define ICON_MD_CAR_DEFROST_FRONT "\xf3\xb0\xb5\xa1" // U+F0D61 car-defrost-front, tags: Automotive -#define ICON_MD_CAR_DEFROST_REAR "\xf3\xb0\xb5\xa2" // U+F0D62 car-defrost-rear, tags: Automotive -#define ICON_MD_CAR_DOOR "\xf3\xb0\xad\xab" // U+F0B6B car-door, tags: Automotive -#define ICON_MD_CAR_DOOR_LOCK "\xf3\xb1\x82\x9d" // U+F109D car-door-lock, tags: Automotive, Lock -#define ICON_MD_CAR_ELECTRIC "\xf3\xb0\xad\xac" // U+F0B6C car-electric, tags: Transportation + Road, Automotive -#define ICON_MD_CAR_ELECTRIC_OUTLINE "\xf3\xb1\x96\xb5" // U+F15B5 car-electric-outline, tags: Transportation + Road, Automotive -#define ICON_MD_CAR_EMERGENCY "\xf3\xb1\x98\x8f" // U+F160F car-emergency, aliases: car-police, tags: Transportation + Road, Automotive -#define ICON_MD_CAR_ESP "\xf3\xb0\xb1\x89" // U+F0C49 car-esp, aliases: electronic-stability-program, tags: Automotive -#define ICON_MD_CAR_ESTATE "\xf3\xb0\x9e\xa8" // U+F07A8 car-estate, aliases: car-suv, car-sports-utility-vehicle, tags: Transportation + Road, Automotive -#define ICON_MD_CAR_HATCHBACK "\xf3\xb0\x9e\xa9" // U+F07A9 car-hatchback, tags: Transportation + Road, Automotive -#define ICON_MD_CAR_INFO "\xf3\xb1\x86\xbe" // U+F11BE car-info, tags: Automotive -#define ICON_MD_CAR_KEY "\xf3\xb0\xad\xad" // U+F0B6D car-key, aliases: car-rental, rent-a-car, tags: Transportation + Road, Automotive -#define ICON_MD_CAR_LIFTED_PICKUP "\xf3\xb1\x94\xad" // U+F152D car-lifted-pickup, tags: Automotive -#define ICON_MD_CAR_LIGHT_ALERT "\xf3\xb1\xa4\x8d" // U+F190D car-light-alert, tags: Alert / Error, Automotive -#define ICON_MD_CAR_LIGHT_DIMMED "\xf3\xb0\xb1\x8a" // U+F0C4A car-light-dimmed, aliases: head-light-dimmed, low-beam, tags: Automotive -#define ICON_MD_CAR_LIGHT_FOG "\xf3\xb0\xb1\x8b" // U+F0C4B car-light-fog, aliases: head-light-fog, tags: Automotive -#define ICON_MD_CAR_LIGHT_HIGH "\xf3\xb0\xb1\x8c" // U+F0C4C car-light-high, aliases: head-light-high, high-beam, tags: Automotive -#define ICON_MD_CAR_LIMOUSINE "\xf3\xb0\xa3\x8d" // U+F08CD car-limousine, tags: Transportation + Road, Automotive -#define ICON_MD_CAR_MULTIPLE "\xf3\xb0\xad\xae" // U+F0B6E car-multiple, tags: Transportation + Road, Automotive -#define ICON_MD_CAR_OFF "\xf3\xb0\xb8\x9c" // U+F0E1C car-off, tags: Automotive -#define ICON_MD_CAR_OUTLINE "\xf3\xb1\x93\xad" // U+F14ED car-outline, tags: Automotive -#define ICON_MD_CAR_PARKING_LIGHTS "\xf3\xb0\xb5\xa3" // U+F0D63 car-parking-lights, tags: Automotive -#define ICON_MD_CAR_PICKUP "\xf3\xb0\x9e\xaa" // U+F07AA car-pickup, tags: Transportation + Road, Automotive -#define ICON_MD_CAR_SEARCH "\xf3\xb1\xae\x8d" // U+F1B8D car-search, aliases: car-find, tags: Automotive -#define ICON_MD_CAR_SEARCH_OUTLINE "\xf3\xb1\xae\x8e" // U+F1B8E car-search-outline, aliases: car-find-outline, tags: Automotive -#define ICON_MD_CAR_SEAT "\xf3\xb0\xbe\xa4" // U+F0FA4 car-seat, tags: Automotive -#define ICON_MD_CAR_SEAT_COOLER "\xf3\xb0\xbe\xa5" // U+F0FA5 car-seat-cooler, tags: Automotive -#define ICON_MD_CAR_SEAT_HEATER "\xf3\xb0\xbe\xa6" // U+F0FA6 car-seat-heater, tags: Automotive -#define ICON_MD_CAR_SELECT "\xf3\xb1\xa1\xb9" // U+F1879 car-select, aliases: car-location, tags: Automotive -#define ICON_MD_CAR_SETTINGS "\xf3\xb1\x8f\x8d" // U+F13CD car-settings, tags: Automotive, Settings -#define ICON_MD_CAR_SHIFT_PATTERN "\xf3\xb0\xbd\x80" // U+F0F40 car-shift-pattern, aliases: car-transmission, car-manual-transmission, tags: Automotive -#define ICON_MD_CAR_SIDE "\xf3\xb0\x9e\xab" // U+F07AB car-side, aliases: car-saloon, tags: Transportation + Road, Automotive -#define ICON_MD_CAR_SPEED_LIMITER "\xf3\xb1\xa4\x8e" // U+F190E car-speed-limiter, tags: Automotive -#define ICON_MD_CAR_SPORTS "\xf3\xb0\x9e\xac" // U+F07AC car-sports, tags: Transportation + Road, Sport, Automotive -#define ICON_MD_CAR_TIRE_ALERT "\xf3\xb0\xb1\x8d" // U+F0C4D car-tire-alert, aliases: car-tyre-alert, car-tyre-warning, car-tire-warning, tags: Automotive, Alert / Error -#define ICON_MD_CAR_TRACTION_CONTROL "\xf3\xb0\xb5\xa4" // U+F0D64 car-traction-control, tags: Automotive -#define ICON_MD_CAR_TURBOCHARGER "\xf3\xb1\x80\x9a" // U+F101A car-turbocharger, tags: Automotive -#define ICON_MD_CAR_WASH "\xf3\xb0\x84\x8e" // U+F010E car-wash, aliases: local-car-wash, tags: Transportation + Road, Places, Automotive -#define ICON_MD_CAR_WINDSHIELD "\xf3\xb1\x80\x9b" // U+F101B car-windshield, aliases: car-front-glass, tags: Automotive -#define ICON_MD_CAR_WINDSHIELD_OUTLINE "\xf3\xb1\x80\x9c" // U+F101C car-windshield-outline, aliases: car-front-glass-outline, tags: Automotive -#define ICON_MD_CAR_WIRELESS "\xf3\xb1\xa1\xb8" // U+F1878 car-wireless, aliases: car-autonomous, car-self-driving, car-smart, tags: Automotive -#define ICON_MD_CAR_WRENCH "\xf3\xb1\xa0\x94" // U+F1814 car-wrench, aliases: car-repair, mechanic, tags: Automotive, Hardware / Tools -#define ICON_MD_CARABINER "\xf3\xb1\x93\x80" // U+F14C0 carabiner, aliases: karabiner, rock-climbing, tags: Sport -#define ICON_MD_CARAVAN "\xf3\xb0\x9e\xad" // U+F07AD caravan, tags: Transportation + Road, Home Automation, Automotive -#define ICON_MD_CARD "\xf3\xb0\xad\xaf" // U+F0B6F card, aliases: button, tags: Form -#define ICON_MD_CARD_ACCOUNT_DETAILS "\xf3\xb0\x97\x92" // U+F05D2 card-account-details, aliases: identification-card, user-card-details, id-card, person-card-details, drivers-license, business-card, tags: Account / User -#define ICON_MD_CARD_ACCOUNT_DETAILS_OUTLINE "\xf3\xb0\xb6\xab" // U+F0DAB card-account-details-outline, aliases: identification-card-outline, user-card-details-outline, id-card-outline, person-card-details-outline, drivers-license-outline, business-card-outline, tags: Account / User -#define ICON_MD_CARD_ACCOUNT_DETAILS_STAR "\xf3\xb0\x8a\xa3" // U+F02A3 card-account-details-star, aliases: card-account-details-favorite, tags: Account / User -#define ICON_MD_CARD_ACCOUNT_DETAILS_STAR_OUTLINE "\xf3\xb0\x9b\x9b" // U+F06DB card-account-details-star-outline, aliases: card-account-details-favorite-outline, tags: Account / User -#define ICON_MD_CARD_ACCOUNT_MAIL "\xf3\xb0\x86\x8e" // U+F018E card-account-mail, aliases: contact-mail, tags: Account / User -#define ICON_MD_CARD_ACCOUNT_MAIL_OUTLINE "\xf3\xb0\xba\x98" // U+F0E98 card-account-mail-outline, aliases: contact-mail-outline, tags: Account / User -#define ICON_MD_CARD_ACCOUNT_PHONE "\xf3\xb0\xba\x99" // U+F0E99 card-account-phone, aliases: contact-phone, tags: Account / User -#define ICON_MD_CARD_ACCOUNT_PHONE_OUTLINE "\xf3\xb0\xba\x9a" // U+F0E9A card-account-phone-outline, aliases: contact-phone-outline, tags: Account / User -#define ICON_MD_CARD_BULLETED "\xf3\xb0\xad\xb0" // U+F0B70 card-bulleted -#define ICON_MD_CARD_BULLETED_OFF "\xf3\xb0\xad\xb1" // U+F0B71 card-bulleted-off -#define ICON_MD_CARD_BULLETED_OFF_OUTLINE "\xf3\xb0\xad\xb2" // U+F0B72 card-bulleted-off-outline -#define ICON_MD_CARD_BULLETED_OUTLINE "\xf3\xb0\xad\xb3" // U+F0B73 card-bulleted-outline -#define ICON_MD_CARD_BULLETED_SETTINGS "\xf3\xb0\xad\xb4" // U+F0B74 card-bulleted-settings, tags: Settings -#define ICON_MD_CARD_BULLETED_SETTINGS_OUTLINE "\xf3\xb0\xad\xb5" // U+F0B75 card-bulleted-settings-outline, tags: Settings -#define ICON_MD_CARD_MINUS "\xf3\xb1\x98\x80" // U+F1600 card-minus -#define ICON_MD_CARD_MINUS_OUTLINE "\xf3\xb1\x98\x81" // U+F1601 card-minus-outline -#define ICON_MD_CARD_MULTIPLE "\xf3\xb1\x9f\xb1" // U+F17F1 card-multiple -#define ICON_MD_CARD_MULTIPLE_OUTLINE "\xf3\xb1\x9f\xb2" // U+F17F2 card-multiple-outline -#define ICON_MD_CARD_OFF "\xf3\xb1\x98\x82" // U+F1602 card-off -#define ICON_MD_CARD_OFF_OUTLINE "\xf3\xb1\x98\x83" // U+F1603 card-off-outline -#define ICON_MD_CARD_OUTLINE "\xf3\xb0\xad\xb6" // U+F0B76 card-outline, aliases: button-outline, tags: Form -#define ICON_MD_CARD_PLUS "\xf3\xb1\x87\xbf" // U+F11FF card-plus -#define ICON_MD_CARD_PLUS_OUTLINE "\xf3\xb1\x88\x80" // U+F1200 card-plus-outline -#define ICON_MD_CARD_REMOVE "\xf3\xb1\x98\x84" // U+F1604 card-remove -#define ICON_MD_CARD_REMOVE_OUTLINE "\xf3\xb1\x98\x85" // U+F1605 card-remove-outline -#define ICON_MD_CARD_SEARCH "\xf3\xb1\x81\xb4" // U+F1074 card-search, aliases: pageview -#define ICON_MD_CARD_SEARCH_OUTLINE "\xf3\xb1\x81\xb5" // U+F1075 card-search-outline, aliases: pageview-outline -#define ICON_MD_CARD_TEXT "\xf3\xb0\xad\xb7" // U+F0B77 card-text -#define ICON_MD_CARD_TEXT_OUTLINE "\xf3\xb0\xad\xb8" // U+F0B78 card-text-outline -#define ICON_MD_CARDS "\xf3\xb0\x98\xb8" // U+F0638 cards, tags: Gaming / RPG -#define ICON_MD_CARDS_CLUB "\xf3\xb0\xa3\x8e" // U+F08CE cards-club, aliases: suit-clubs, poker-club, tags: Gaming / RPG -#define ICON_MD_CARDS_CLUB_OUTLINE "\xf3\xb1\xa2\x9f" // U+F189F cards-club-outline -#define ICON_MD_CARDS_DIAMOND "\xf3\xb0\xa3\x8f" // U+F08CF cards-diamond, aliases: suit-diamonds, hov-lane, high-occupancy-vehicle-lane, carpool-lane, poker-diamond, tags: Gaming / RPG, Transportation + Road -#define ICON_MD_CARDS_DIAMOND_OUTLINE "\xf3\xb1\x80\x9d" // U+F101D cards-diamond-outline, aliases: hov-lane-outline, high-occupancy-vehicle-lane-outline, carpool-lane-outline, poker-diamond-outline, tags: Transportation + Road -#define ICON_MD_CARDS_HEART "\xf3\xb0\xa3\x90" // U+F08D0 cards-heart, aliases: suit-hearts, poker-heart, tags: Gaming / RPG -#define ICON_MD_CARDS_HEART_OUTLINE "\xf3\xb1\xa2\xa0" // U+F18A0 cards-heart-outline -#define ICON_MD_CARDS_OUTLINE "\xf3\xb0\x98\xb9" // U+F0639 cards-outline, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING "\xf3\xb1\xa2\xa1" // U+F18A1 cards-playing, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING_CLUB "\xf3\xb1\xa2\xa2" // U+F18A2 cards-playing-club, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING_CLUB_MULTIPLE "\xf3\xb1\xa2\xa3" // U+F18A3 cards-playing-club-multiple, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING_CLUB_MULTIPLE_OUTLINE "\xf3\xb1\xa2\xa4" // U+F18A4 cards-playing-club-multiple-outline, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING_CLUB_OUTLINE "\xf3\xb1\xa2\xa5" // U+F18A5 cards-playing-club-outline, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING_DIAMOND "\xf3\xb1\xa2\xa6" // U+F18A6 cards-playing-diamond, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING_DIAMOND_MULTIPLE "\xf3\xb1\xa2\xa7" // U+F18A7 cards-playing-diamond-multiple, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING_DIAMOND_MULTIPLE_OUTLINE "\xf3\xb1\xa2\xa8" // U+F18A8 cards-playing-diamond-multiple-outline, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING_DIAMOND_OUTLINE "\xf3\xb1\xa2\xa9" // U+F18A9 cards-playing-diamond-outline, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING_HEART "\xf3\xb1\xa2\xaa" // U+F18AA cards-playing-heart, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING_HEART_MULTIPLE "\xf3\xb1\xa2\xab" // U+F18AB cards-playing-heart-multiple, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING_HEART_MULTIPLE_OUTLINE "\xf3\xb1\xa2\xac" // U+F18AC cards-playing-heart-multiple-outline, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING_HEART_OUTLINE "\xf3\xb1\xa2\xad" // U+F18AD cards-playing-heart-outline, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING_OUTLINE "\xf3\xb0\x98\xba" // U+F063A cards-playing-outline, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING_SPADE "\xf3\xb1\xa2\xae" // U+F18AE cards-playing-spade, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING_SPADE_MULTIPLE "\xf3\xb1\xa2\xaf" // U+F18AF cards-playing-spade-multiple, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING_SPADE_MULTIPLE_OUTLINE "\xf3\xb1\xa2\xb0" // U+F18B0 cards-playing-spade-multiple-outline, tags: Gaming / RPG -#define ICON_MD_CARDS_PLAYING_SPADE_OUTLINE "\xf3\xb1\xa2\xb1" // U+F18B1 cards-playing-spade-outline, tags: Gaming / RPG -#define ICON_MD_CARDS_SPADE "\xf3\xb0\xa3\x91" // U+F08D1 cards-spade, aliases: suit-spades, poker-spade, tags: Gaming / RPG -#define ICON_MD_CARDS_SPADE_OUTLINE "\xf3\xb1\xa2\xb2" // U+F18B2 cards-spade-outline, tags: Gaming / RPG -#define ICON_MD_CARDS_VARIANT "\xf3\xb0\x9b\x87" // U+F06C7 cards-variant, tags: Gaming / RPG -#define ICON_MD_CARROT "\xf3\xb0\x84\x8f" // U+F010F carrot, tags: Agriculture, Food / Drink -#define ICON_MD_CART "\xf3\xb0\x84\x90" // U+F0110 cart, aliases: trolley, local-grocery-store, shopping-cart, tags: Shopping -#define ICON_MD_CART_ARROW_DOWN "\xf3\xb0\xb5\xa6" // U+F0D66 cart-arrow-down, aliases: shopping-cart-arrow-down, trolley-arrow-down, tags: Shopping -#define ICON_MD_CART_ARROW_RIGHT "\xf3\xb0\xb1\x8e" // U+F0C4E cart-arrow-right, aliases: trolley-arrow-right, shopping-cart-arrow-right, tags: Shopping -#define ICON_MD_CART_ARROW_UP "\xf3\xb0\xb5\xa7" // U+F0D67 cart-arrow-up, aliases: shopping-cart-arrow-up, trolley-arrow-up, tags: Shopping -#define ICON_MD_CART_CHECK "\xf3\xb1\x97\xaa" // U+F15EA cart-check, tags: Shopping -#define ICON_MD_CART_HEART "\xf3\xb1\xa3\xa0" // U+F18E0 cart-heart, aliases: cart-favorite, shopping-favorite, tags: Shopping -#define ICON_MD_CART_MINUS "\xf3\xb0\xb5\xa8" // U+F0D68 cart-minus, aliases: shopping-cart-minus, trolley-minus, tags: Shopping -#define ICON_MD_CART_OFF "\xf3\xb0\x99\xab" // U+F066B cart-off, aliases: trolley-off, remove-shopping-cart, shopping-cart-off, tags: Shopping -#define ICON_MD_CART_OUTLINE "\xf3\xb0\x84\x91" // U+F0111 cart-outline, aliases: trolley-outline, shopping-cart-outline, tags: Shopping -#define ICON_MD_CART_PERCENT "\xf3\xb1\xae\xae" // U+F1BAE cart-percent, aliases: cart-discount, cart-sale, trolley-percent, tags: Shopping -#define ICON_MD_CART_PLUS "\xf3\xb0\x84\x92" // U+F0112 cart-plus, aliases: trolley-plus, add-shopping-cart, shopping-cart-plus, cart-add, trolley-add, shopping-cart-add, tags: Shopping -#define ICON_MD_CART_REMOVE "\xf3\xb0\xb5\xa9" // U+F0D69 cart-remove, aliases: trolley-remove, shopping-cart-remove, tags: Shopping -#define ICON_MD_CART_VARIANT "\xf3\xb1\x97\xab" // U+F15EB cart-variant, tags: Shopping -#define ICON_MD_CASE_SENSITIVE_ALT "\xf3\xb0\x84\x93" // U+F0113 case-sensitive-alt -#define ICON_MD_CASH "\xf3\xb0\x84\x94" // U+F0114 cash, aliases: money, tags: Currency, Banking, Shopping -#define ICON_MD_CASH_100 "\xf3\xb0\x84\x95" // U+F0115 cash-100, aliases: money-100, tags: Currency, Banking -#define ICON_MD_CASH_CHECK "\xf3\xb1\x93\xae" // U+F14EE cash-check, tags: Currency, Banking -#define ICON_MD_CASH_CLOCK "\xf3\xb1\xaa\x91" // U+F1A91 cash-clock, aliases: cash-schedule, payment-schedule, payment-clock, auto-pay, tags: Banking, Currency, Date / Time -#define ICON_MD_CASH_FAST "\xf3\xb1\xa1\x9c" // U+F185C cash-fast, aliases: instant-deposit, instant-transfer, instant-cash, tags: Currency, Banking -#define ICON_MD_CASH_LOCK "\xf3\xb1\x93\xaa" // U+F14EA cash-lock, tags: Lock, Currency, Banking -#define ICON_MD_CASH_LOCK_OPEN "\xf3\xb1\x93\xab" // U+F14EB cash-lock-open, tags: Lock, Currency, Banking -#define ICON_MD_CASH_MARKER "\xf3\xb0\xb6\xb8" // U+F0DB8 cash-marker, aliases: cod, cash-on-delivery, cash-location, tags: Banking, Currency, Navigation -#define ICON_MD_CASH_MINUS "\xf3\xb1\x89\xa0" // U+F1260 cash-minus, tags: Currency, Banking -#define ICON_MD_CASH_MULTIPLE "\xf3\xb0\x84\x96" // U+F0116 cash-multiple, aliases: money, tags: Currency, Banking -#define ICON_MD_CASH_PLUS "\xf3\xb1\x89\xa1" // U+F1261 cash-plus, tags: Currency, Banking -#define ICON_MD_CASH_REFUND "\xf3\xb0\xaa\x9c" // U+F0A9C cash-refund, aliases: cash-return, cash-chargeback, tags: Banking, Currency -#define ICON_MD_CASH_REGISTER "\xf3\xb0\xb3\xb4" // U+F0CF4 cash-register, aliases: till, tags: Shopping, Banking -#define ICON_MD_CASH_REMOVE "\xf3\xb1\x89\xa2" // U+F1262 cash-remove, tags: Currency, Banking -#define ICON_MD_CASH_SYNC "\xf3\xb1\xaa\x92" // U+F1A92 cash-sync, aliases: auto-pay, recurring-payment, scheduled-payment, cash-cycle, tags: Banking, Currency -#define ICON_MD_CASSETTE "\xf3\xb0\xa7\x94" // U+F09D4 cassette, aliases: tape, tags: Music -#define ICON_MD_CAST "\xf3\xb0\x84\x98" // U+F0118 cast, tags: Home Automation -#define ICON_MD_CAST_AUDIO "\xf3\xb1\x80\x9e" // U+F101E cast-audio, aliases: cast-speaker, tags: Audio -#define ICON_MD_CAST_AUDIO_VARIANT "\xf3\xb1\x9d\x89" // U+F1749 cast-audio-variant, aliases: apple-airplay -#define ICON_MD_CAST_CONNECTED "\xf3\xb0\x84\x99" // U+F0119 cast-connected, tags: Home Automation -#define ICON_MD_CAST_EDUCATION "\xf3\xb0\xb8\x9d" // U+F0E1D cast-education, aliases: cast-school, school-online, cast-tutorial -#define ICON_MD_CAST_OFF "\xf3\xb0\x9e\x8a" // U+F078A cast-off, tags: Home Automation -#define ICON_MD_CAST_VARIANT "\xf3\xb0\x80\x9f" // U+F001F cast-variant, aliases: apple, airplay, tags: Home Automation -#define ICON_MD_CASTLE "\xf3\xb0\x84\x9a" // U+F011A castle, tags: Places -#define ICON_MD_CAT "\xf3\xb0\x84\x9b" // U+F011B cat, aliases: emoji-cat, emoticon-cat, tags: Animal, Holiday -#define ICON_MD_CCTV "\xf3\xb0\x9e\xae" // U+F07AE cctv, aliases: closed-circuit-television, security-camera, tags: Home Automation -#define ICON_MD_CCTV_OFF "\xf3\xb1\xa1\x9f" // U+F185F cctv-off, aliases: closed-circuit-television-off, security-camera-off, tags: Home Automation -#define ICON_MD_CEILING_FAN "\xf3\xb1\x9e\x97" // U+F1797 ceiling-fan, tags: Home Automation -#define ICON_MD_CEILING_FAN_LIGHT "\xf3\xb1\x9e\x98" // U+F1798 ceiling-fan-light, aliases: ceiling-fan-on, tags: Home Automation -#define ICON_MD_CEILING_LIGHT "\xf3\xb0\x9d\xa9" // U+F0769 ceiling-light, aliases: ceiling-lamp, tags: Home Automation -#define ICON_MD_CEILING_LIGHT_MULTIPLE "\xf3\xb1\xa3\x9d" // U+F18DD ceiling-light-multiple, aliases: ceiling-lamp-multiple, tags: Home Automation -#define ICON_MD_CEILING_LIGHT_MULTIPLE_OUTLINE "\xf3\xb1\xa3\x9e" // U+F18DE ceiling-light-multiple-outline, aliases: ceiling-lamp-multiple-outline, tags: Home Automation -#define ICON_MD_CEILING_LIGHT_OUTLINE "\xf3\xb1\x9f\x87" // U+F17C7 ceiling-light-outline, tags: Home Automation -#define ICON_MD_CELLPHONE "\xf3\xb0\x84\x9c" // U+F011C cellphone, aliases: mobile-phone, smartphone, stay-current-portrait, stay-primary-portrait, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_CELLPHONE_ARROW_DOWN "\xf3\xb0\xa7\x95" // U+F09D5 cellphone-arrow-down, aliases: cellphone-system-update, mobile-phone-arrow-down, smartphone-arrow-down, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_CELLPHONE_ARROW_DOWN_VARIANT "\xf3\xb1\xa7\x85" // U+F19C5 cellphone-arrow-down-variant, aliases: cellphone-download, tags: Cellphone / Phone -#define ICON_MD_CELLPHONE_BASIC "\xf3\xb0\x84\x9e" // U+F011E cellphone-basic, aliases: mobile-phone-basic, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_CELLPHONE_CHARGING "\xf3\xb1\x8e\x97" // U+F1397 cellphone-charging, tags: Cellphone / Phone -#define ICON_MD_CELLPHONE_CHECK "\xf3\xb1\x9f\xbd" // U+F17FD cellphone-check, tags: Cellphone / Phone -#define ICON_MD_CELLPHONE_COG "\xf3\xb0\xa5\x91" // U+F0951 cellphone-cog, aliases: phonelink-setup, mobile-phone-settings-variant, smartphone-settings-variant, tags: Settings, Cellphone / Phone, Device / Tech -#define ICON_MD_CELLPHONE_DOCK "\xf3\xb0\x84\x9f" // U+F011F cellphone-dock, aliases: mobile-phone-dock, smartphone-dock, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_CELLPHONE_INFORMATION "\xf3\xb0\xbd\x81" // U+F0F41 cellphone-information, aliases: mobile-phone-information, smartphone-information, tags: Cellphone / Phone -#define ICON_MD_CELLPHONE_KEY "\xf3\xb0\xa5\x8e" // U+F094E cellphone-key, aliases: mobile-phone-key, smartphone-key, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_CELLPHONE_LINK "\xf3\xb0\x84\xa1" // U+F0121 cellphone-link, aliases: mobile-phone-link, smartphone-link, devices, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_CELLPHONE_LINK_OFF "\xf3\xb0\x84\xa2" // U+F0122 cellphone-link-off, aliases: mobile-phone-link-off, smartphone-link-off, phonelink-off, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_CELLPHONE_LOCK "\xf3\xb0\xa5\x8f" // U+F094F cellphone-lock, aliases: phonelink-lock, mobile-phone-lock, smartphone-lock, tags: Cellphone / Phone, Lock, Device / Tech -#define ICON_MD_CELLPHONE_MARKER "\xf3\xb1\xa0\xba" // U+F183A cellphone-marker, aliases: cellphone-location, cellphone-map, find-my-phone, cellphone-gps, tags: Cellphone / Phone, Navigation -#define ICON_MD_CELLPHONE_MESSAGE "\xf3\xb0\xa3\x93" // U+F08D3 cellphone-message, aliases: mobile-phone-message, smartphone-message, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_CELLPHONE_MESSAGE_OFF "\xf3\xb1\x83\x92" // U+F10D2 cellphone-message-off, tags: Cellphone / Phone -#define ICON_MD_CELLPHONE_NFC "\xf3\xb0\xba\x90" // U+F0E90 cellphone-nfc, tags: Automotive, Cellphone / Phone, Device / Tech -#define ICON_MD_CELLPHONE_NFC_OFF "\xf3\xb1\x8b\x98" // U+F12D8 cellphone-nfc-off, tags: Cellphone / Phone -#define ICON_MD_CELLPHONE_OFF "\xf3\xb0\xa5\x90" // U+F0950 cellphone-off, aliases: mobile-phone-off, smartphone-off, mobile-off, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_CELLPHONE_PLAY "\xf3\xb1\x80\x9f" // U+F101F cellphone-play, tags: Cellphone / Phone -#define ICON_MD_CELLPHONE_REMOVE "\xf3\xb0\xa5\x8d" // U+F094D cellphone-remove, aliases: phonelink-erase, mobile-phone-erase, smartphone-erase, cellphone-erase, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_CELLPHONE_SCREENSHOT "\xf3\xb0\xa8\xb5" // U+F0A35 cellphone-screenshot, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_CELLPHONE_SETTINGS "\xf3\xb0\x84\xa3" // U+F0123 cellphone-settings, aliases: mobile-phone-settings, smartphone-settings, settings-cell, tags: Cellphone / Phone, Settings, Device / Tech -#define ICON_MD_CELLPHONE_SOUND "\xf3\xb0\xa5\x92" // U+F0952 cellphone-sound, aliases: phonelink-ring, mobile-phone-sound, smartphone-sound, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_CELLPHONE_TEXT "\xf3\xb0\xa3\x92" // U+F08D2 cellphone-text, aliases: mobile-phone-text, smartphone-text, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_CELLPHONE_WIRELESS "\xf3\xb0\xa0\x95" // U+F0815 cellphone-wireless, aliases: mobile-phone-wireless, smartphone-wireless, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_CENTOS "\xf3\xb1\x84\x9a" // U+F111A centos, tags: Brand / Logo -#define ICON_MD_CERTIFICATE "\xf3\xb0\x84\xa4" // U+F0124 certificate, aliases: diploma, seal -#define ICON_MD_CERTIFICATE_OUTLINE "\xf3\xb1\x86\x88" // U+F1188 certificate-outline, aliases: diploma-outline, seal-outline -#define ICON_MD_CHAIR_ROLLING "\xf3\xb0\xbd\x88" // U+F0F48 chair-rolling, aliases: office-chair, study-chair, tags: Home Automation -#define ICON_MD_CHAIR_SCHOOL "\xf3\xb0\x84\xa5" // U+F0125 chair-school, aliases: desk, education, learn -#define ICON_MD_CHANDELIER "\xf3\xb1\x9e\x93" // U+F1793 chandelier, aliases: ceiling-light, girandole, candelabra-lamp, suspended-light, tags: Home Automation -#define ICON_MD_CHARITY "\xf3\xb0\xb1\x8f" // U+F0C4F charity, aliases: super-chat-for-good -#define ICON_MD_CHART_ARC "\xf3\xb0\x84\xa6" // U+F0126 chart-arc, aliases: report-arc, widget-arc, tags: Math -#define ICON_MD_CHART_AREASPLINE "\xf3\xb0\x84\xa7" // U+F0127 chart-areaspline, aliases: report-areaspline, widget-areaspline, graph-areaspline, tags: Math -#define ICON_MD_CHART_AREASPLINE_VARIANT "\xf3\xb0\xba\x91" // U+F0E91 chart-areaspline-variant, aliases: report-areaspline-variant, widget-areaspline-variant, graph-areaspline-variant, tags: Math -#define ICON_MD_CHART_BAR "\xf3\xb0\x84\xa8" // U+F0128 chart-bar, aliases: report-bar, widget-bar, graph-bar, tags: Math -#define ICON_MD_CHART_BAR_STACKED "\xf3\xb0\x9d\xaa" // U+F076A chart-bar-stacked, aliases: report-bar-stacked, widget-bar-stacked, graph-bar-stacked, tags: Math -#define ICON_MD_CHART_BELL_CURVE "\xf3\xb0\xb1\x90" // U+F0C50 chart-bell-curve, aliases: report-bell-curve, widget-bell-curve, graph-bell-curve, tags: Math -#define ICON_MD_CHART_BELL_CURVE_CUMULATIVE "\xf3\xb0\xbe\xa7" // U+F0FA7 chart-bell-curve-cumulative, aliases: report-bell-curve-cumulative, widget-bell-curve-cumulative, graph-bell-curve-cumulative, tags: Math -#define ICON_MD_CHART_BOX "\xf3\xb1\x95\x8d" // U+F154D chart-box, aliases: poll-box, report-box, widget-box, graph-box, tags: Math -#define ICON_MD_CHART_BOX_OUTLINE "\xf3\xb1\x95\x8e" // U+F154E chart-box-outline, aliases: poll-box-outline, report-box-outline, widget-box-outline, graph-box-outline, tags: Math -#define ICON_MD_CHART_BOX_PLUS_OUTLINE "\xf3\xb1\x95\x8f" // U+F154F chart-box-plus-outline, aliases: report-box-plus-outline, widget-box-plus-outline, graph-box-plus-outline, tags: Math -#define ICON_MD_CHART_BUBBLE "\xf3\xb0\x97\xa3" // U+F05E3 chart-bubble, aliases: bubble-chart, report-bubble, widget-bubble, tags: Math -#define ICON_MD_CHART_DONUT "\xf3\xb0\x9e\xaf" // U+F07AF chart-donut, aliases: chart-doughnut, data-usage, report-donut, widget-donut, tags: Math -#define ICON_MD_CHART_DONUT_VARIANT "\xf3\xb0\x9e\xb0" // U+F07B0 chart-donut-variant, aliases: chart-doughnut-variant, report-donut-variant, widget-donut-variant, tags: Math -#define ICON_MD_CHART_GANTT "\xf3\xb0\x99\xac" // U+F066C chart-gantt, aliases: report-gantt, timeline, widget-gantt, roadmap, tags: Math -#define ICON_MD_CHART_HISTOGRAM "\xf3\xb0\x84\xa9" // U+F0129 chart-histogram, aliases: report-histogram, widget-histogram, graph-histogram, tags: Math -#define ICON_MD_CHART_LINE "\xf3\xb0\x84\xaa" // U+F012A chart-line, aliases: report-line, widget-line, graph-line, tags: Math -#define ICON_MD_CHART_LINE_STACKED "\xf3\xb0\x9d\xab" // U+F076B chart-line-stacked, aliases: report-line-stacked, widget-line-stacked, graph-line-stacked, tags: Math -#define ICON_MD_CHART_LINE_VARIANT "\xf3\xb0\x9e\xb1" // U+F07B1 chart-line-variant, aliases: show-chart, report-line-variant, widget-line-variant, graph-line-variant, tags: Math -#define ICON_MD_CHART_MULTILINE "\xf3\xb0\xa3\x94" // U+F08D4 chart-multiline, aliases: report-multiline, widget-multiline, graph-multiline, tags: Math -#define ICON_MD_CHART_MULTIPLE "\xf3\xb1\x88\x93" // U+F1213 chart-multiple, aliases: report-multiple, widget-multiple, graph-multiple, tags: Math -#define ICON_MD_CHART_PIE "\xf3\xb0\x84\xab" // U+F012B chart-pie, aliases: report-pie, widget-pie, graph-pie, tags: Math -#define ICON_MD_CHART_PPF "\xf3\xb1\x8e\x80" // U+F1380 chart-ppf, aliases: chart-production-possibility-frontier, report-ppf, widget-ppf, graph-ppf, tags: Math -#define ICON_MD_CHART_SANKEY "\xf3\xb1\x87\x9f" // U+F11DF chart-sankey, aliases: chart-snakey, report-sankey, widget-sankey, graph-sankey, tags: Math -#define ICON_MD_CHART_SANKEY_VARIANT "\xf3\xb1\x87\xa0" // U+F11E0 chart-sankey-variant, aliases: chart-snakey-variant, report-sankey-variant, widget-sankey-variant, graph-sankey-variant, tags: Math -#define ICON_MD_CHART_SCATTER_PLOT "\xf3\xb0\xba\x92" // U+F0E92 chart-scatter-plot, aliases: report-scatter-plot, widget-scatter-plot, graph-scatter-plot, tags: Math -#define ICON_MD_CHART_SCATTER_PLOT_HEXBIN "\xf3\xb0\x99\xad" // U+F066D chart-scatter-plot-hexbin, aliases: chart-scatterplot-hexbin, report-scatter-plot-hexbin, widget-scatter-plot-hexbin, graph-scatter-plot-hexbin, tags: Math -#define ICON_MD_CHART_TIMELINE "\xf3\xb0\x99\xae" // U+F066E chart-timeline, aliases: report-timeline, widget-timeline, graph-timeline, roadmap, tags: Math -#define ICON_MD_CHART_TIMELINE_VARIANT "\xf3\xb0\xba\x93" // U+F0E93 chart-timeline-variant, aliases: report-timeline-variant, widget-timeline-variant, graph-timeline-variant, report-line, widget-line, graph-line, tags: Math -#define ICON_MD_CHART_TIMELINE_VARIANT_SHIMMER "\xf3\xb1\x96\xb6" // U+F15B6 chart-timeline-variant-shimmer, aliases: report-timeline-variant-shimmer, widget-timeline-variant-shimmer, graph-timeline-variant-shimmer, report-line-shimmer, widget-line-shimmer, graph-line-shimmer, tags: Math -#define ICON_MD_CHART_TREE "\xf3\xb0\xba\x94" // U+F0E94 chart-tree, aliases: report-tree, widget-tree, tags: Math -#define ICON_MD_CHART_WATERFALL "\xf3\xb1\xa4\x98" // U+F1918 chart-waterfall, tags: Math -#define ICON_MD_CHAT "\xf3\xb0\xad\xb9" // U+F0B79 chat -#define ICON_MD_CHAT_ALERT "\xf3\xb0\xad\xba" // U+F0B7A chat-alert, aliases: chat-warning, tags: Alert / Error -#define ICON_MD_CHAT_ALERT_OUTLINE "\xf3\xb1\x8b\x89" // U+F12C9 chat-alert-outline, tags: Alert / Error -#define ICON_MD_CHAT_MINUS "\xf3\xb1\x90\x90" // U+F1410 chat-minus -#define ICON_MD_CHAT_MINUS_OUTLINE "\xf3\xb1\x90\x93" // U+F1413 chat-minus-outline -#define ICON_MD_CHAT_OUTLINE "\xf3\xb0\xbb\x9e" // U+F0EDE chat-outline -#define ICON_MD_CHAT_PLUS "\xf3\xb1\x90\x8f" // U+F140F chat-plus -#define ICON_MD_CHAT_PLUS_OUTLINE "\xf3\xb1\x90\x92" // U+F1412 chat-plus-outline -#define ICON_MD_CHAT_PROCESSING "\xf3\xb0\xad\xbb" // U+F0B7B chat-processing, aliases: chat-typing -#define ICON_MD_CHAT_PROCESSING_OUTLINE "\xf3\xb1\x8b\x8a" // U+F12CA chat-processing-outline, aliases: chat-typing-outline -#define ICON_MD_CHAT_QUESTION "\xf3\xb1\x9c\xb8" // U+F1738 chat-question -#define ICON_MD_CHAT_QUESTION_OUTLINE "\xf3\xb1\x9c\xb9" // U+F1739 chat-question-outline -#define ICON_MD_CHAT_REMOVE "\xf3\xb1\x90\x91" // U+F1411 chat-remove -#define ICON_MD_CHAT_REMOVE_OUTLINE "\xf3\xb1\x90\x94" // U+F1414 chat-remove-outline -#define ICON_MD_CHAT_SLEEP "\xf3\xb1\x8b\x91" // U+F12D1 chat-sleep -#define ICON_MD_CHAT_SLEEP_OUTLINE "\xf3\xb1\x8b\x92" // U+F12D2 chat-sleep-outline -#define ICON_MD_CHECK "\xf3\xb0\x84\xac" // U+F012C check, aliases: tick, done -#define ICON_MD_CHECK_ALL "\xf3\xb0\x84\xad" // U+F012D check-all, aliases: tick-all, done-all, check-multiple, checks, ticks -#define ICON_MD_CHECK_BOLD "\xf3\xb0\xb8\x9e" // U+F0E1E check-bold, aliases: check-thick -#define ICON_MD_CHECK_CIRCLE "\xf3\xb0\x97\xa0" // U+F05E0 check-circle, aliases: tick-circle -#define ICON_MD_CHECK_CIRCLE_OUTLINE "\xf3\xb0\x97\xa1" // U+F05E1 check-circle-outline, aliases: tick-circle-outline -#define ICON_MD_CHECK_DECAGRAM "\xf3\xb0\x9e\x91" // U+F0791 check-decagram, aliases: verified, decagram-check, approve, approval, tick-decagram -#define ICON_MD_CHECK_DECAGRAM_OUTLINE "\xf3\xb1\x9d\x80" // U+F1740 check-decagram-outline, aliases: approve, approval, verified -#define ICON_MD_CHECK_NETWORK "\xf3\xb0\xb1\x93" // U+F0C53 check-network, aliases: tick-network -#define ICON_MD_CHECK_NETWORK_OUTLINE "\xf3\xb0\xb1\x94" // U+F0C54 check-network-outline, aliases: tick-network-outline -#define ICON_MD_CHECK_OUTLINE "\xf3\xb0\xa1\x95" // U+F0855 check-outline, aliases: done-outline, tick-outline -#define ICON_MD_CHECK_UNDERLINE "\xf3\xb0\xb8\x9f" // U+F0E1F check-underline -#define ICON_MD_CHECK_UNDERLINE_CIRCLE "\xf3\xb0\xb8\xa0" // U+F0E20 check-underline-circle -#define ICON_MD_CHECK_UNDERLINE_CIRCLE_OUTLINE "\xf3\xb0\xb8\xa1" // U+F0E21 check-underline-circle-outline -#define ICON_MD_CHECKBOOK "\xf3\xb0\xaa\x9d" // U+F0A9D checkbook, aliases: chequebook, cheque-book -#define ICON_MD_CHECKBOX_BLANK "\xf3\xb0\x84\xae" // U+F012E checkbox-blank, tags: Form -#define ICON_MD_CHECKBOX_BLANK_BADGE "\xf3\xb1\x85\xb6" // U+F1176 checkbox-blank-badge, aliases: checkbox-blank-notification, app-notification, app-badge, tags: Notification -#define ICON_MD_CHECKBOX_BLANK_BADGE_OUTLINE "\xf3\xb0\x84\x97" // U+F0117 checkbox-blank-badge-outline, aliases: checkbox-blank-notification-outline, app-notification-outline, app-badge-outline, tags: Notification -#define ICON_MD_CHECKBOX_BLANK_CIRCLE "\xf3\xb0\x84\xaf" // U+F012F checkbox-blank-circle, tags: Form -#define ICON_MD_CHECKBOX_BLANK_CIRCLE_OUTLINE "\xf3\xb0\x84\xb0" // U+F0130 checkbox-blank-circle-outline, tags: Form -#define ICON_MD_CHECKBOX_BLANK_OFF "\xf3\xb1\x8b\xac" // U+F12EC checkbox-blank-off -#define ICON_MD_CHECKBOX_BLANK_OFF_OUTLINE "\xf3\xb1\x8b\xad" // U+F12ED checkbox-blank-off-outline -#define ICON_MD_CHECKBOX_BLANK_OUTLINE "\xf3\xb0\x84\xb1" // U+F0131 checkbox-blank-outline, aliases: check-box-outline-blank, maximize, tags: Form -#define ICON_MD_CHECKBOX_INTERMEDIATE "\xf3\xb0\xa1\x96" // U+F0856 checkbox-intermediate, tags: Form -#define ICON_MD_CHECKBOX_INTERMEDIATE_VARIANT "\xf3\xb1\xad\x94" // U+F1B54 checkbox-intermediate-variant, tags: Form -#define ICON_MD_CHECKBOX_MARKED "\xf3\xb0\x84\xb2" // U+F0132 checkbox-marked, aliases: check-box, tags: Form -#define ICON_MD_CHECKBOX_MARKED_CIRCLE "\xf3\xb0\x84\xb3" // U+F0133 checkbox-marked-circle, tags: Form -#define ICON_MD_CHECKBOX_MARKED_CIRCLE_OUTLINE "\xf3\xb0\x84\xb4" // U+F0134 checkbox-marked-circle-outline, tags: Form -#define ICON_MD_CHECKBOX_MARKED_CIRCLE_PLUS_OUTLINE "\xf3\xb1\xa4\xa7" // U+F1927 checkbox-marked-circle-plus-outline, aliases: task-plus, task-add, todo-plus, todo-add -#define ICON_MD_CHECKBOX_MARKED_OUTLINE "\xf3\xb0\x84\xb5" // U+F0135 checkbox-marked-outline, tags: Form -#define ICON_MD_CHECKBOX_MULTIPLE_BLANK "\xf3\xb0\x84\xb6" // U+F0136 checkbox-multiple-blank, aliases: checkboxes-blank, tags: Form -#define ICON_MD_CHECKBOX_MULTIPLE_BLANK_CIRCLE "\xf3\xb0\x98\xbb" // U+F063B checkbox-multiple-blank-circle, aliases: checkboxes-blank-circle, tags: Form -#define ICON_MD_CHECKBOX_MULTIPLE_BLANK_CIRCLE_OUTLINE "\xf3\xb0\x98\xbc" // U+F063C checkbox-multiple-blank-circle-outline, aliases: checkboxes-blank-circle-outline, tags: Form -#define ICON_MD_CHECKBOX_MULTIPLE_BLANK_OUTLINE "\xf3\xb0\x84\xb7" // U+F0137 checkbox-multiple-blank-outline, aliases: checkboxes-blank-outline, tags: Form -#define ICON_MD_CHECKBOX_MULTIPLE_MARKED "\xf3\xb0\x84\xb8" // U+F0138 checkbox-multiple-marked, aliases: checkboxes-marked, tags: Form -#define ICON_MD_CHECKBOX_MULTIPLE_MARKED_CIRCLE "\xf3\xb0\x98\xbd" // U+F063D checkbox-multiple-marked-circle, aliases: checkboxes-marked-circle, tags: Form -#define ICON_MD_CHECKBOX_MULTIPLE_MARKED_CIRCLE_OUTLINE "\xf3\xb0\x98\xbe" // U+F063E checkbox-multiple-marked-circle-outline, aliases: checkboxes-marked-circle-outline, tags: Form -#define ICON_MD_CHECKBOX_MULTIPLE_MARKED_OUTLINE "\xf3\xb0\x84\xb9" // U+F0139 checkbox-multiple-marked-outline, aliases: checkboxes-marked-outline, tags: Form -#define ICON_MD_CHECKBOX_MULTIPLE_OUTLINE "\xf3\xb0\xb1\x91" // U+F0C51 checkbox-multiple-outline, aliases: check-boxes-outline, tick-box-multiple-outline -#define ICON_MD_CHECKBOX_OUTLINE "\xf3\xb0\xb1\x92" // U+F0C52 checkbox-outline -#define ICON_MD_CHECKERBOARD "\xf3\xb0\x84\xba" // U+F013A checkerboard, aliases: raster, tags: Gaming / RPG, Geographic Information System -#define ICON_MD_CHECKERBOARD_MINUS "\xf3\xb1\x88\x82" // U+F1202 checkerboard-minus, aliases: raster-minus, tags: Geographic Information System -#define ICON_MD_CHECKERBOARD_PLUS "\xf3\xb1\x88\x81" // U+F1201 checkerboard-plus, aliases: raster-plus, tags: Geographic Information System -#define ICON_MD_CHECKERBOARD_REMOVE "\xf3\xb1\x88\x83" // U+F1203 checkerboard-remove, aliases: raster-remove, tags: Geographic Information System -#define ICON_MD_CHEESE "\xf3\xb1\x8a\xb9" // U+F12B9 cheese, aliases: swiss-cheese, tags: Food / Drink -#define ICON_MD_CHEESE_OFF "\xf3\xb1\x8f\xae" // U+F13EE cheese-off, tags: Food / Drink -#define ICON_MD_CHEF_HAT "\xf3\xb0\xad\xbc" // U+F0B7C chef-hat, aliases: toque, cook, tags: Clothing -#define ICON_MD_CHEMICAL_WEAPON "\xf3\xb0\x84\xbb" // U+F013B chemical-weapon -#define ICON_MD_CHESS_BISHOP "\xf3\xb0\xa1\x9c" // U+F085C chess-bishop, tags: Gaming / RPG -#define ICON_MD_CHESS_KING "\xf3\xb0\xa1\x97" // U+F0857 chess-king, aliases: crown, royalty, tags: Gaming / RPG -#define ICON_MD_CHESS_KNIGHT "\xf3\xb0\xa1\x98" // U+F0858 chess-knight, aliases: chess-horse, tags: Gaming / RPG -#define ICON_MD_CHESS_PAWN "\xf3\xb0\xa1\x99" // U+F0859 chess-pawn, tags: Gaming / RPG -#define ICON_MD_CHESS_QUEEN "\xf3\xb0\xa1\x9a" // U+F085A chess-queen, aliases: crown, royalty, tags: Gaming / RPG -#define ICON_MD_CHESS_ROOK "\xf3\xb0\xa1\x9b" // U+F085B chess-rook, aliases: chess-castle, chess-tower, tags: Gaming / RPG -#define ICON_MD_CHEVRON_DOUBLE_DOWN "\xf3\xb0\x84\xbc" // U+F013C chevron-double-down, tags: Arrow -#define ICON_MD_CHEVRON_DOUBLE_LEFT "\xf3\xb0\x84\xbd" // U+F013D chevron-double-left, tags: Arrow -#define ICON_MD_CHEVRON_DOUBLE_RIGHT "\xf3\xb0\x84\xbe" // U+F013E chevron-double-right, tags: Arrow -#define ICON_MD_CHEVRON_DOUBLE_UP "\xf3\xb0\x84\xbf" // U+F013F chevron-double-up, tags: Arrow -#define ICON_MD_CHEVRON_DOWN "\xf3\xb0\x85\x80" // U+F0140 chevron-down, aliases: expand-more, keyboard-arrow-down, tags: Arrow -#define ICON_MD_CHEVRON_DOWN_BOX "\xf3\xb0\xa7\x96" // U+F09D6 chevron-down-box, tags: Form, Arrow -#define ICON_MD_CHEVRON_DOWN_BOX_OUTLINE "\xf3\xb0\xa7\x97" // U+F09D7 chevron-down-box-outline, tags: Form, Arrow -#define ICON_MD_CHEVRON_DOWN_CIRCLE "\xf3\xb0\xac\xa6" // U+F0B26 chevron-down-circle, tags: Arrow -#define ICON_MD_CHEVRON_DOWN_CIRCLE_OUTLINE "\xf3\xb0\xac\xa7" // U+F0B27 chevron-down-circle-outline, tags: Arrow -#define ICON_MD_CHEVRON_LEFT "\xf3\xb0\x85\x81" // U+F0141 chevron-left, aliases: keyboard-arrow-left, navigate-before, tags: Arrow -#define ICON_MD_CHEVRON_LEFT_BOX "\xf3\xb0\xa7\x98" // U+F09D8 chevron-left-box, tags: Arrow -#define ICON_MD_CHEVRON_LEFT_BOX_OUTLINE "\xf3\xb0\xa7\x99" // U+F09D9 chevron-left-box-outline, tags: Arrow -#define ICON_MD_CHEVRON_LEFT_CIRCLE "\xf3\xb0\xac\xa8" // U+F0B28 chevron-left-circle, tags: Arrow -#define ICON_MD_CHEVRON_LEFT_CIRCLE_OUTLINE "\xf3\xb0\xac\xa9" // U+F0B29 chevron-left-circle-outline, tags: Arrow -#define ICON_MD_CHEVRON_RIGHT "\xf3\xb0\x85\x82" // U+F0142 chevron-right, aliases: keyboard-arrow-right, navigate-next, tags: Arrow -#define ICON_MD_CHEVRON_RIGHT_BOX "\xf3\xb0\xa7\x9a" // U+F09DA chevron-right-box, tags: Arrow -#define ICON_MD_CHEVRON_RIGHT_BOX_OUTLINE "\xf3\xb0\xa7\x9b" // U+F09DB chevron-right-box-outline, tags: Arrow -#define ICON_MD_CHEVRON_RIGHT_CIRCLE "\xf3\xb0\xac\xaa" // U+F0B2A chevron-right-circle, tags: Arrow -#define ICON_MD_CHEVRON_RIGHT_CIRCLE_OUTLINE "\xf3\xb0\xac\xab" // U+F0B2B chevron-right-circle-outline, tags: Arrow -#define ICON_MD_CHEVRON_TRIPLE_DOWN "\xf3\xb0\xb6\xb9" // U+F0DB9 chevron-triple-down -#define ICON_MD_CHEVRON_TRIPLE_LEFT "\xf3\xb0\xb6\xba" // U+F0DBA chevron-triple-left -#define ICON_MD_CHEVRON_TRIPLE_RIGHT "\xf3\xb0\xb6\xbb" // U+F0DBB chevron-triple-right -#define ICON_MD_CHEVRON_TRIPLE_UP "\xf3\xb0\xb6\xbc" // U+F0DBC chevron-triple-up, aliases: rank -#define ICON_MD_CHEVRON_UP "\xf3\xb0\x85\x83" // U+F0143 chevron-up, aliases: expand-less, keyboard-arrow-up, caret, tags: Arrow, Math -#define ICON_MD_CHEVRON_UP_BOX "\xf3\xb0\xa7\x9c" // U+F09DC chevron-up-box, tags: Arrow -#define ICON_MD_CHEVRON_UP_BOX_OUTLINE "\xf3\xb0\xa7\x9d" // U+F09DD chevron-up-box-outline, tags: Arrow -#define ICON_MD_CHEVRON_UP_CIRCLE "\xf3\xb0\xac\xac" // U+F0B2C chevron-up-circle, tags: Arrow -#define ICON_MD_CHEVRON_UP_CIRCLE_OUTLINE "\xf3\xb0\xac\xad" // U+F0B2D chevron-up-circle-outline, tags: Arrow -#define ICON_MD_CHILI_ALERT "\xf3\xb1\x9f\xaa" // U+F17EA chili-alert, tags: Alert / Error -#define ICON_MD_CHILI_ALERT_OUTLINE "\xf3\xb1\x9f\xab" // U+F17EB chili-alert-outline, tags: Alert / Error -#define ICON_MD_CHILI_HOT "\xf3\xb0\x9e\xb2" // U+F07B2 chili-hot, aliases: chilli-hot, pepper, spicy, tags: Food / Drink -#define ICON_MD_CHILI_HOT_OUTLINE "\xf3\xb1\x9f\xac" // U+F17EC chili-hot-outline -#define ICON_MD_CHILI_MEDIUM "\xf3\xb0\x9e\xb3" // U+F07B3 chili-medium, aliases: chilli-medium, pepper, spicy, tags: Food / Drink -#define ICON_MD_CHILI_MEDIUM_OUTLINE "\xf3\xb1\x9f\xad" // U+F17ED chili-medium-outline -#define ICON_MD_CHILI_MILD "\xf3\xb0\x9e\xb4" // U+F07B4 chili-mild, aliases: chilli-mild, pepper, spicy, tags: Food / Drink, Agriculture -#define ICON_MD_CHILI_MILD_OUTLINE "\xf3\xb1\x9f\xae" // U+F17EE chili-mild-outline -#define ICON_MD_CHILI_OFF "\xf3\xb1\x91\xa7" // U+F1467 chili-off, aliases: chilli-off, pepper-off, spicy-off, tags: Food / Drink -#define ICON_MD_CHILI_OFF_OUTLINE "\xf3\xb1\x9f\xaf" // U+F17EF chili-off-outline -#define ICON_MD_CHIP "\xf3\xb0\x98\x9a" // U+F061A chip, aliases: integrated-circuit -#define ICON_MD_CHURCH "\xf3\xb0\x85\x84" // U+F0144 church, tags: Religion, Places -#define ICON_MD_CHURCH_OUTLINE "\xf3\xb1\xac\x82" // U+F1B02 church-outline, tags: Places, Religion -#define ICON_MD_CIGAR "\xf3\xb1\x86\x89" // U+F1189 cigar -#define ICON_MD_CIGAR_OFF "\xf3\xb1\x90\x9b" // U+F141B cigar-off -#define ICON_MD_CIRCLE "\xf3\xb0\x9d\xa5" // U+F0765 circle, aliases: lens, tags: Shape -#define ICON_MD_CIRCLE_BOX "\xf3\xb1\x97\x9c" // U+F15DC circle-box -#define ICON_MD_CIRCLE_BOX_OUTLINE "\xf3\xb1\x97\x9d" // U+F15DD circle-box-outline -#define ICON_MD_CIRCLE_DOUBLE "\xf3\xb0\xba\x95" // U+F0E95 circle-double, tags: Shape -#define ICON_MD_CIRCLE_EDIT_OUTLINE "\xf3\xb0\xa3\x95" // U+F08D5 circle-edit-outline, tags: Edit / Modify -#define ICON_MD_CIRCLE_EXPAND "\xf3\xb0\xba\x96" // U+F0E96 circle-expand -#define ICON_MD_CIRCLE_HALF "\xf3\xb1\x8e\x95" // U+F1395 circle-half, aliases: brightness-half, tags: Shape -#define ICON_MD_CIRCLE_HALF_FULL "\xf3\xb1\x8e\x96" // U+F1396 circle-half-full, tags: Shape -#define ICON_MD_CIRCLE_MEDIUM "\xf3\xb0\xa7\x9e" // U+F09DE circle-medium -#define ICON_MD_CIRCLE_MULTIPLE "\xf3\xb0\xac\xb8" // U+F0B38 circle-multiple, aliases: coins, tags: Currency, Banking -#define ICON_MD_CIRCLE_MULTIPLE_OUTLINE "\xf3\xb0\x9a\x95" // U+F0695 circle-multiple-outline, aliases: toll, coins-outline, tags: Currency, Banking -#define ICON_MD_CIRCLE_OFF_OUTLINE "\xf3\xb1\x83\x93" // U+F10D3 circle-off-outline, aliases: null-off -#define ICON_MD_CIRCLE_OPACITY "\xf3\xb1\xa1\x93" // U+F1853 circle-opacity, aliases: circle-transparent, tags: Shape, Drawing / Art -#define ICON_MD_CIRCLE_OUTLINE "\xf3\xb0\x9d\xa6" // U+F0766 circle-outline, aliases: null, tags: Shape -#define ICON_MD_CIRCLE_SLICE_1 "\xf3\xb0\xaa\x9e" // U+F0A9E circle-slice-1 -#define ICON_MD_CIRCLE_SLICE_2 "\xf3\xb0\xaa\x9f" // U+F0A9F circle-slice-2 -#define ICON_MD_CIRCLE_SLICE_3 "\xf3\xb0\xaa\xa0" // U+F0AA0 circle-slice-3 -#define ICON_MD_CIRCLE_SLICE_4 "\xf3\xb0\xaa\xa1" // U+F0AA1 circle-slice-4 -#define ICON_MD_CIRCLE_SLICE_5 "\xf3\xb0\xaa\xa2" // U+F0AA2 circle-slice-5 -#define ICON_MD_CIRCLE_SLICE_6 "\xf3\xb0\xaa\xa3" // U+F0AA3 circle-slice-6 -#define ICON_MD_CIRCLE_SLICE_7 "\xf3\xb0\xaa\xa4" // U+F0AA4 circle-slice-7 -#define ICON_MD_CIRCLE_SLICE_8 "\xf3\xb0\xaa\xa5" // U+F0AA5 circle-slice-8 -#define ICON_MD_CIRCLE_SMALL "\xf3\xb0\xa7\x9f" // U+F09DF circle-small, aliases: bullet, multiplication, dot, tags: Math -#define ICON_MD_CIRCULAR_SAW "\xf3\xb0\xb8\xa2" // U+F0E22 circular-saw, tags: Hardware / Tools -#define ICON_MD_CITY "\xf3\xb0\x85\x86" // U+F0146 city, aliases: location-city, tags: Places -#define ICON_MD_CITY_VARIANT "\xf3\xb0\xa8\xb6" // U+F0A36 city-variant -#define ICON_MD_CITY_VARIANT_OUTLINE "\xf3\xb0\xa8\xb7" // U+F0A37 city-variant-outline -#define ICON_MD_CLIPBOARD "\xf3\xb0\x85\x87" // U+F0147 clipboard -#define ICON_MD_CLIPBOARD_ACCOUNT "\xf3\xb0\x85\x88" // U+F0148 clipboard-account, aliases: clipboard-user, assignment-ind, clipboard-person, tags: Account / User -#define ICON_MD_CLIPBOARD_ACCOUNT_OUTLINE "\xf3\xb0\xb1\x95" // U+F0C55 clipboard-account-outline, aliases: clipboard-user-outline, clipboard-person-outline, assignment-ind-outline, tags: Account / User -#define ICON_MD_CLIPBOARD_ALERT "\xf3\xb0\x85\x89" // U+F0149 clipboard-alert, aliases: clipboard-warning, assignment-late, tags: Alert / Error -#define ICON_MD_CLIPBOARD_ALERT_OUTLINE "\xf3\xb0\xb3\xb7" // U+F0CF7 clipboard-alert-outline, aliases: clipboard-warning-outline, tags: Alert / Error -#define ICON_MD_CLIPBOARD_ARROW_DOWN "\xf3\xb0\x85\x8a" // U+F014A clipboard-arrow-down, aliases: assignment-returned, clipboard-arrow-bottom -#define ICON_MD_CLIPBOARD_ARROW_DOWN_OUTLINE "\xf3\xb0\xb1\x96" // U+F0C56 clipboard-arrow-down-outline, aliases: assignment-returned-outline, clipboard-arrow-bottom-outline -#define ICON_MD_CLIPBOARD_ARROW_LEFT "\xf3\xb0\x85\x8b" // U+F014B clipboard-arrow-left, aliases: assignment-return -#define ICON_MD_CLIPBOARD_ARROW_LEFT_OUTLINE "\xf3\xb0\xb3\xb8" // U+F0CF8 clipboard-arrow-left-outline -#define ICON_MD_CLIPBOARD_ARROW_RIGHT "\xf3\xb0\xb3\xb9" // U+F0CF9 clipboard-arrow-right -#define ICON_MD_CLIPBOARD_ARROW_RIGHT_OUTLINE "\xf3\xb0\xb3\xba" // U+F0CFA clipboard-arrow-right-outline -#define ICON_MD_CLIPBOARD_ARROW_UP "\xf3\xb0\xb1\x97" // U+F0C57 clipboard-arrow-up, aliases: clipboard-arrow-top -#define ICON_MD_CLIPBOARD_ARROW_UP_OUTLINE "\xf3\xb0\xb1\x98" // U+F0C58 clipboard-arrow-up-outline, aliases: clipboard-arrow-top-outline -#define ICON_MD_CLIPBOARD_CHECK "\xf3\xb0\x85\x8e" // U+F014E clipboard-check, aliases: assignment-turned-in, clipboard-tick -#define ICON_MD_CLIPBOARD_CHECK_MULTIPLE "\xf3\xb1\x89\xa3" // U+F1263 clipboard-check-multiple -#define ICON_MD_CLIPBOARD_CHECK_MULTIPLE_OUTLINE "\xf3\xb1\x89\xa4" // U+F1264 clipboard-check-multiple-outline -#define ICON_MD_CLIPBOARD_CHECK_OUTLINE "\xf3\xb0\xa2\xa8" // U+F08A8 clipboard-check-outline, aliases: clipboard-tick-outline -#define ICON_MD_CLIPBOARD_CLOCK "\xf3\xb1\x9b\xa2" // U+F16E2 clipboard-clock, tags: Date / Time -#define ICON_MD_CLIPBOARD_CLOCK_OUTLINE "\xf3\xb1\x9b\xa3" // U+F16E3 clipboard-clock-outline, tags: Date / Time -#define ICON_MD_CLIPBOARD_EDIT "\xf3\xb1\x93\xa5" // U+F14E5 clipboard-edit, tags: Edit / Modify -#define ICON_MD_CLIPBOARD_EDIT_OUTLINE "\xf3\xb1\x93\xa6" // U+F14E6 clipboard-edit-outline, tags: Edit / Modify -#define ICON_MD_CLIPBOARD_FILE "\xf3\xb1\x89\xa5" // U+F1265 clipboard-file, tags: Files / Folders -#define ICON_MD_CLIPBOARD_FILE_OUTLINE "\xf3\xb1\x89\xa6" // U+F1266 clipboard-file-outline, tags: Files / Folders -#define ICON_MD_CLIPBOARD_FLOW "\xf3\xb0\x9b\x88" // U+F06C8 clipboard-flow -#define ICON_MD_CLIPBOARD_FLOW_OUTLINE "\xf3\xb1\x84\x97" // U+F1117 clipboard-flow-outline -#define ICON_MD_CLIPBOARD_LIST "\xf3\xb1\x83\x94" // U+F10D4 clipboard-list -#define ICON_MD_CLIPBOARD_LIST_OUTLINE "\xf3\xb1\x83\x95" // U+F10D5 clipboard-list-outline -#define ICON_MD_CLIPBOARD_MINUS "\xf3\xb1\x98\x98" // U+F1618 clipboard-minus -#define ICON_MD_CLIPBOARD_MINUS_OUTLINE "\xf3\xb1\x98\x99" // U+F1619 clipboard-minus-outline -#define ICON_MD_CLIPBOARD_MULTIPLE "\xf3\xb1\x89\xa7" // U+F1267 clipboard-multiple -#define ICON_MD_CLIPBOARD_MULTIPLE_OUTLINE "\xf3\xb1\x89\xa8" // U+F1268 clipboard-multiple-outline -#define ICON_MD_CLIPBOARD_OFF "\xf3\xb1\x98\x9a" // U+F161A clipboard-off -#define ICON_MD_CLIPBOARD_OFF_OUTLINE "\xf3\xb1\x98\x9b" // U+F161B clipboard-off-outline -#define ICON_MD_CLIPBOARD_OUTLINE "\xf3\xb0\x85\x8c" // U+F014C clipboard-outline -#define ICON_MD_CLIPBOARD_PLAY "\xf3\xb0\xb1\x99" // U+F0C59 clipboard-play -#define ICON_MD_CLIPBOARD_PLAY_MULTIPLE "\xf3\xb1\x89\xa9" // U+F1269 clipboard-play-multiple -#define ICON_MD_CLIPBOARD_PLAY_MULTIPLE_OUTLINE "\xf3\xb1\x89\xaa" // U+F126A clipboard-play-multiple-outline -#define ICON_MD_CLIPBOARD_PLAY_OUTLINE "\xf3\xb0\xb1\x9a" // U+F0C5A clipboard-play-outline -#define ICON_MD_CLIPBOARD_PLUS "\xf3\xb0\x9d\x91" // U+F0751 clipboard-plus, aliases: clipboard-add -#define ICON_MD_CLIPBOARD_PLUS_OUTLINE "\xf3\xb1\x8c\x9f" // U+F131F clipboard-plus-outline -#define ICON_MD_CLIPBOARD_PULSE "\xf3\xb0\xa1\x9d" // U+F085D clipboard-pulse, aliases: clipboard-vitals, tags: Medical / Hospital -#define ICON_MD_CLIPBOARD_PULSE_OUTLINE "\xf3\xb0\xa1\x9e" // U+F085E clipboard-pulse-outline, aliases: clipboard-vitals-outline, tags: Medical / Hospital -#define ICON_MD_CLIPBOARD_REMOVE "\xf3\xb1\x98\x9c" // U+F161C clipboard-remove -#define ICON_MD_CLIPBOARD_REMOVE_OUTLINE "\xf3\xb1\x98\x9d" // U+F161D clipboard-remove-outline -#define ICON_MD_CLIPBOARD_SEARCH "\xf3\xb1\x98\x9e" // U+F161E clipboard-search -#define ICON_MD_CLIPBOARD_SEARCH_OUTLINE "\xf3\xb1\x98\x9f" // U+F161F clipboard-search-outline -#define ICON_MD_CLIPBOARD_TEXT "\xf3\xb0\x85\x8d" // U+F014D clipboard-text, aliases: assignment -#define ICON_MD_CLIPBOARD_TEXT_CLOCK "\xf3\xb1\xa3\xb9" // U+F18F9 clipboard-text-clock, aliases: clipboard-text-date, clipboard-text-time, clipboard-text-history, tags: Date / Time -#define ICON_MD_CLIPBOARD_TEXT_CLOCK_OUTLINE "\xf3\xb1\xa3\xba" // U+F18FA clipboard-text-clock-outline, aliases: clipboard-text-date-outline, clipboard-text-time-outline, clipboard-text-history-outline, tags: Date / Time -#define ICON_MD_CLIPBOARD_TEXT_MULTIPLE "\xf3\xb1\x89\xab" // U+F126B clipboard-text-multiple -#define ICON_MD_CLIPBOARD_TEXT_MULTIPLE_OUTLINE "\xf3\xb1\x89\xac" // U+F126C clipboard-text-multiple-outline -#define ICON_MD_CLIPBOARD_TEXT_OFF "\xf3\xb1\x98\xa0" // U+F1620 clipboard-text-off -#define ICON_MD_CLIPBOARD_TEXT_OFF_OUTLINE "\xf3\xb1\x98\xa1" // U+F1621 clipboard-text-off-outline -#define ICON_MD_CLIPBOARD_TEXT_OUTLINE "\xf3\xb0\xa8\xb8" // U+F0A38 clipboard-text-outline -#define ICON_MD_CLIPBOARD_TEXT_PLAY "\xf3\xb0\xb1\x9b" // U+F0C5B clipboard-text-play -#define ICON_MD_CLIPBOARD_TEXT_PLAY_OUTLINE "\xf3\xb0\xb1\x9c" // U+F0C5C clipboard-text-play-outline -#define ICON_MD_CLIPBOARD_TEXT_SEARCH "\xf3\xb1\x98\xa2" // U+F1622 clipboard-text-search -#define ICON_MD_CLIPBOARD_TEXT_SEARCH_OUTLINE "\xf3\xb1\x98\xa3" // U+F1623 clipboard-text-search-outline -#define ICON_MD_CLIPPY "\xf3\xb0\x85\x8f" // U+F014F clippy -#define ICON_MD_CLOCK "\xf3\xb0\xa5\x94" // U+F0954 clock, aliases: watch-later, tags: Date / Time -#define ICON_MD_CLOCK_ALERT "\xf3\xb0\xa5\x95" // U+F0955 clock-alert, aliases: clock-warning, tags: Date / Time, Alert / Error -#define ICON_MD_CLOCK_ALERT_OUTLINE "\xf3\xb0\x97\x8e" // U+F05CE clock-alert-outline, aliases: clock-warning, tags: Date / Time, Alert / Error -#define ICON_MD_CLOCK_CHECK "\xf3\xb0\xbe\xa8" // U+F0FA8 clock-check, tags: Date / Time -#define ICON_MD_CLOCK_CHECK_OUTLINE "\xf3\xb0\xbe\xa9" // U+F0FA9 clock-check-outline, tags: Date / Time -#define ICON_MD_CLOCK_DIGITAL "\xf3\xb0\xba\x97" // U+F0E97 clock-digital, tags: Date / Time, Home Automation -#define ICON_MD_CLOCK_EDIT "\xf3\xb1\xa6\xba" // U+F19BA clock-edit, tags: Date / Time, Edit / Modify -#define ICON_MD_CLOCK_EDIT_OUTLINE "\xf3\xb1\xa6\xbb" // U+F19BB clock-edit-outline, tags: Date / Time, Edit / Modify -#define ICON_MD_CLOCK_END "\xf3\xb0\x85\x91" // U+F0151 clock-end, tags: Date / Time -#define ICON_MD_CLOCK_FAST "\xf3\xb0\x85\x92" // U+F0152 clock-fast, aliases: velocity, tags: Date / Time -#define ICON_MD_CLOCK_IN "\xf3\xb0\x85\x93" // U+F0153 clock-in, tags: Date / Time -#define ICON_MD_CLOCK_MINUS "\xf3\xb1\xa1\xa3" // U+F1863 clock-minus, tags: Date / Time -#define ICON_MD_CLOCK_MINUS_OUTLINE "\xf3\xb1\xa1\xa4" // U+F1864 clock-minus-outline, tags: Date / Time -#define ICON_MD_CLOCK_OUT "\xf3\xb0\x85\x94" // U+F0154 clock-out, tags: Date / Time -#define ICON_MD_CLOCK_OUTLINE "\xf3\xb0\x85\x90" // U+F0150 clock-outline, aliases: access-time, query-builder, schedule, tags: Date / Time -#define ICON_MD_CLOCK_PLUS "\xf3\xb1\xa1\xa1" // U+F1861 clock-plus, tags: Date / Time -#define ICON_MD_CLOCK_PLUS_OUTLINE "\xf3\xb1\xa1\xa2" // U+F1862 clock-plus-outline, tags: Date / Time -#define ICON_MD_CLOCK_REMOVE "\xf3\xb1\xa1\xa5" // U+F1865 clock-remove, tags: Date / Time -#define ICON_MD_CLOCK_REMOVE_OUTLINE "\xf3\xb1\xa1\xa6" // U+F1866 clock-remove-outline, tags: Date / Time -#define ICON_MD_CLOCK_START "\xf3\xb0\x85\x95" // U+F0155 clock-start, tags: Date / Time -#define ICON_MD_CLOCK_TIME_EIGHT "\xf3\xb1\x91\x86" // U+F1446 clock-time-eight, tags: Date / Time -#define ICON_MD_CLOCK_TIME_EIGHT_OUTLINE "\xf3\xb1\x91\x92" // U+F1452 clock-time-eight-outline, tags: Date / Time -#define ICON_MD_CLOCK_TIME_ELEVEN "\xf3\xb1\x91\x89" // U+F1449 clock-time-eleven, tags: Date / Time -#define ICON_MD_CLOCK_TIME_ELEVEN_OUTLINE "\xf3\xb1\x91\x95" // U+F1455 clock-time-eleven-outline, tags: Date / Time -#define ICON_MD_CLOCK_TIME_FIVE "\xf3\xb1\x91\x83" // U+F1443 clock-time-five, tags: Date / Time -#define ICON_MD_CLOCK_TIME_FIVE_OUTLINE "\xf3\xb1\x91\x8f" // U+F144F clock-time-five-outline, tags: Date / Time -#define ICON_MD_CLOCK_TIME_FOUR "\xf3\xb1\x91\x82" // U+F1442 clock-time-four, tags: Date / Time -#define ICON_MD_CLOCK_TIME_FOUR_OUTLINE "\xf3\xb1\x91\x8e" // U+F144E clock-time-four-outline, tags: Date / Time -#define ICON_MD_CLOCK_TIME_NINE "\xf3\xb1\x91\x87" // U+F1447 clock-time-nine, tags: Date / Time -#define ICON_MD_CLOCK_TIME_NINE_OUTLINE "\xf3\xb1\x91\x93" // U+F1453 clock-time-nine-outline, tags: Date / Time -#define ICON_MD_CLOCK_TIME_ONE "\xf3\xb1\x90\xbf" // U+F143F clock-time-one, tags: Date / Time -#define ICON_MD_CLOCK_TIME_ONE_OUTLINE "\xf3\xb1\x91\x8b" // U+F144B clock-time-one-outline, tags: Date / Time -#define ICON_MD_CLOCK_TIME_SEVEN "\xf3\xb1\x91\x85" // U+F1445 clock-time-seven, tags: Date / Time -#define ICON_MD_CLOCK_TIME_SEVEN_OUTLINE "\xf3\xb1\x91\x91" // U+F1451 clock-time-seven-outline, tags: Date / Time -#define ICON_MD_CLOCK_TIME_SIX "\xf3\xb1\x91\x84" // U+F1444 clock-time-six, tags: Date / Time -#define ICON_MD_CLOCK_TIME_SIX_OUTLINE "\xf3\xb1\x91\x90" // U+F1450 clock-time-six-outline, tags: Date / Time -#define ICON_MD_CLOCK_TIME_TEN "\xf3\xb1\x91\x88" // U+F1448 clock-time-ten, tags: Date / Time -#define ICON_MD_CLOCK_TIME_TEN_OUTLINE "\xf3\xb1\x91\x94" // U+F1454 clock-time-ten-outline, tags: Date / Time -#define ICON_MD_CLOCK_TIME_THREE "\xf3\xb1\x91\x81" // U+F1441 clock-time-three, tags: Date / Time -#define ICON_MD_CLOCK_TIME_THREE_OUTLINE "\xf3\xb1\x91\x8d" // U+F144D clock-time-three-outline, tags: Date / Time -#define ICON_MD_CLOCK_TIME_TWELVE "\xf3\xb1\x91\x8a" // U+F144A clock-time-twelve, tags: Date / Time -#define ICON_MD_CLOCK_TIME_TWELVE_OUTLINE "\xf3\xb1\x91\x96" // U+F1456 clock-time-twelve-outline, tags: Date / Time -#define ICON_MD_CLOCK_TIME_TWO "\xf3\xb1\x91\x80" // U+F1440 clock-time-two, tags: Date / Time -#define ICON_MD_CLOCK_TIME_TWO_OUTLINE "\xf3\xb1\x91\x8c" // U+F144C clock-time-two-outline, tags: Date / Time -#define ICON_MD_CLOSE "\xf3\xb0\x85\x96" // U+F0156 close, aliases: clear, multiply, remove, cancel, tags: Math -#define ICON_MD_CLOSE_BOX "\xf3\xb0\x85\x97" // U+F0157 close-box, aliases: multiply-box, clear-box, cancel-box, remove-box, tags: Math -#define ICON_MD_CLOSE_BOX_MULTIPLE "\xf3\xb0\xb1\x9d" // U+F0C5D close-box-multiple, aliases: close-boxes, library-remove, library-close, multiply-boxes, multiply-box-multiple, cancel-box-multiple, remove-box-multiple -#define ICON_MD_CLOSE_BOX_MULTIPLE_OUTLINE "\xf3\xb0\xb1\x9e" // U+F0C5E close-box-multiple-outline, aliases: close-boxes-outline, library-remove-outline, library-close-outline, multiply-boxes-outline, multiply-box-multiple-outline, remove-box-multiple, cancel-box-multiple -#define ICON_MD_CLOSE_BOX_OUTLINE "\xf3\xb0\x85\x98" // U+F0158 close-box-outline, aliases: multiply-box-outline, clear-box-outline, remove-box-outline, cancel-box-outline, tags: Math -#define ICON_MD_CLOSE_CIRCLE "\xf3\xb0\x85\x99" // U+F0159 close-circle, aliases: remove-circle, cancel-circle, multiply-circle, clear-circle -#define ICON_MD_CLOSE_CIRCLE_MULTIPLE "\xf3\xb0\x98\xaa" // U+F062A close-circle-multiple, aliases: remove-circle-multiple, coins-close, coins-remove, clear-circle-multiple, multiply-circle-multiple -#define ICON_MD_CLOSE_CIRCLE_MULTIPLE_OUTLINE "\xf3\xb0\xa2\x83" // U+F0883 close-circle-multiple-outline, aliases: remove-circle-multiple-outline, coins-close-outline, coins-remove-outline, cancel-circle-multiple-outline, multiply-circle-multiple-outline, clear-circle-multiple-outline -#define ICON_MD_CLOSE_CIRCLE_OUTLINE "\xf3\xb0\x85\x9a" // U+F015A close-circle-outline, aliases: highlight-off, multiply-circle-outline, remove-circle-outline, clear-circle-outline, cancel-circle-outline -#define ICON_MD_CLOSE_NETWORK "\xf3\xb0\x85\x9b" // U+F015B close-network, aliases: remove-network, cancel-network, multiply-network, clear-network -#define ICON_MD_CLOSE_NETWORK_OUTLINE "\xf3\xb0\xb1\x9f" // U+F0C5F close-network-outline, aliases: remove-network-outline, cancel-network-outline, multiply-network-outline, clear-network-outline -#define ICON_MD_CLOSE_OCTAGON "\xf3\xb0\x85\x9c" // U+F015C close-octagon, aliases: dangerous, multiply-octagon, remove-octagon, cancel-octagon, clear-octagon, stop-remove -#define ICON_MD_CLOSE_OCTAGON_OUTLINE "\xf3\xb0\x85\x9d" // U+F015D close-octagon-outline, aliases: remove-octagon-outline, multiply-octagon-outline, clear-octagon-outline, cancel-octagon-outline, stop-remove-outline -#define ICON_MD_CLOSE_OUTLINE "\xf3\xb0\x9b\x89" // U+F06C9 close-outline, aliases: remove-outline, cancel-outline, multiply-outline, clear-outline -#define ICON_MD_CLOSE_THICK "\xf3\xb1\x8e\x98" // U+F1398 close-thick, aliases: close-bold, remove-thick, remove-bold, multiply-thick, multiply-bold, clear-thick, clear-bold, cancel-thick, cancel-bold -#define ICON_MD_CLOSED_CAPTION "\xf3\xb0\x85\x9e" // U+F015E closed-caption, aliases: cc -#define ICON_MD_CLOSED_CAPTION_OUTLINE "\xf3\xb0\xb6\xbd" // U+F0DBD closed-caption-outline, aliases: cc-outline -#define ICON_MD_CLOUD "\xf3\xb0\x85\x9f" // U+F015F cloud, aliases: wb-cloudy, tags: Cloud, Weather -#define ICON_MD_CLOUD_ALERT "\xf3\xb0\xa7\xa0" // U+F09E0 cloud-alert, aliases: cloud-warning, tags: Alert / Error, Cloud, Weather -#define ICON_MD_CLOUD_BRACES "\xf3\xb0\x9e\xb5" // U+F07B5 cloud-braces, aliases: cloud-json, tags: Cloud, Developer / Languages -#define ICON_MD_CLOUD_CHECK "\xf3\xb0\x85\xa0" // U+F0160 cloud-check, aliases: cloud-done, cloud-tick, tags: Cloud -#define ICON_MD_CLOUD_CHECK_OUTLINE "\xf3\xb1\x8b\x8c" // U+F12CC cloud-check-outline, tags: Cloud -#define ICON_MD_CLOUD_CIRCLE "\xf3\xb0\x85\xa1" // U+F0161 cloud-circle, tags: Cloud -#define ICON_MD_CLOUD_DOWNLOAD "\xf3\xb0\x85\xa2" // U+F0162 cloud-download, tags: Cloud -#define ICON_MD_CLOUD_DOWNLOAD_OUTLINE "\xf3\xb0\xad\xbd" // U+F0B7D cloud-download-outline, tags: Cloud -#define ICON_MD_CLOUD_LOCK "\xf3\xb1\x87\xb1" // U+F11F1 cloud-lock, tags: Cloud, Lock -#define ICON_MD_CLOUD_LOCK_OUTLINE "\xf3\xb1\x87\xb2" // U+F11F2 cloud-lock-outline, tags: Cloud, Lock -#define ICON_MD_CLOUD_OFF_OUTLINE "\xf3\xb0\x85\xa4" // U+F0164 cloud-off-outline, tags: Cloud -#define ICON_MD_CLOUD_OUTLINE "\xf3\xb0\x85\xa3" // U+F0163 cloud-outline, aliases: cloud-queue, tags: Cloud, Weather -#define ICON_MD_CLOUD_PERCENT "\xf3\xb1\xa8\xb5" // U+F1A35 cloud-percent, aliases: humidity, rain-chance, cloud-discount, tags: Weather, Cloud, Nature -#define ICON_MD_CLOUD_PERCENT_OUTLINE "\xf3\xb1\xa8\xb6" // U+F1A36 cloud-percent-outline, aliases: cloud-discount-outline, humidity-outline, rain-chance-outline, tags: Weather, Cloud, Nature -#define ICON_MD_CLOUD_PRINT "\xf3\xb0\x85\xa5" // U+F0165 cloud-print, tags: Cloud, Printer, Home Automation -#define ICON_MD_CLOUD_PRINT_OUTLINE "\xf3\xb0\x85\xa6" // U+F0166 cloud-print-outline, tags: Cloud, Printer, Home Automation -#define ICON_MD_CLOUD_QUESTION "\xf3\xb0\xa8\xb9" // U+F0A39 cloud-question, tags: Cloud -#define ICON_MD_CLOUD_REFRESH "\xf3\xb0\x94\xaa" // U+F052A cloud-refresh, tags: Cloud -#define ICON_MD_CLOUD_SEARCH "\xf3\xb0\xa5\x96" // U+F0956 cloud-search, tags: Cloud -#define ICON_MD_CLOUD_SEARCH_OUTLINE "\xf3\xb0\xa5\x97" // U+F0957 cloud-search-outline, tags: Cloud -#define ICON_MD_CLOUD_SYNC "\xf3\xb0\x98\xbf" // U+F063F cloud-sync, tags: Cloud -#define ICON_MD_CLOUD_SYNC_OUTLINE "\xf3\xb1\x8b\x96" // U+F12D6 cloud-sync-outline, tags: Cloud -#define ICON_MD_CLOUD_TAGS "\xf3\xb0\x9e\xb6" // U+F07B6 cloud-tags, aliases: cloud-xml, tags: Cloud -#define ICON_MD_CLOUD_UPLOAD "\xf3\xb0\x85\xa7" // U+F0167 cloud-upload, aliases: backup, tags: Cloud -#define ICON_MD_CLOUD_UPLOAD_OUTLINE "\xf3\xb0\xad\xbe" // U+F0B7E cloud-upload-outline, aliases: backup-outline, tags: Cloud -#define ICON_MD_CLOUDS "\xf3\xb1\xae\x95" // U+F1B95 clouds, tags: Weather -#define ICON_MD_CLOVER "\xf3\xb0\xa0\x96" // U+F0816 clover, aliases: luck, tags: Nature -#define ICON_MD_COACH_LAMP "\xf3\xb1\x80\xa0" // U+F1020 coach-lamp, aliases: coach-light, carriage-lamp, carriage-light, tags: Home Automation -#define ICON_MD_COACH_LAMP_VARIANT "\xf3\xb1\xa8\xb7" // U+F1A37 coach-lamp-variant, aliases: coach-light, carriage-light, carriage-lamp, tags: Home Automation -#define ICON_MD_COAT_RACK "\xf3\xb1\x82\x9e" // U+F109E coat-rack, aliases: foyer, hallway, entry-room, tags: Home Automation, Clothing -#define ICON_MD_CODE_ARRAY "\xf3\xb0\x85\xa8" // U+F0168 code-array, tags: Developer / Languages -#define ICON_MD_CODE_BRACES "\xf3\xb0\x85\xa9" // U+F0169 code-braces, aliases: set, tags: Developer / Languages, Math -#define ICON_MD_CODE_BRACES_BOX "\xf3\xb1\x83\x96" // U+F10D6 code-braces-box, tags: Developer / Languages -#define ICON_MD_CODE_BRACKETS "\xf3\xb0\x85\xaa" // U+F016A code-brackets, aliases: square-brackets, tags: Developer / Languages, Math -#define ICON_MD_CODE_EQUAL "\xf3\xb0\x85\xab" // U+F016B code-equal, tags: Developer / Languages -#define ICON_MD_CODE_GREATER_THAN "\xf3\xb0\x85\xac" // U+F016C code-greater-than, tags: Developer / Languages, Math -#define ICON_MD_CODE_GREATER_THAN_OR_EQUAL "\xf3\xb0\x85\xad" // U+F016D code-greater-than-or-equal, tags: Developer / Languages, Math -#define ICON_MD_CODE_JSON "\xf3\xb0\x98\xa6" // U+F0626 code-json, tags: Developer / Languages -#define ICON_MD_CODE_LESS_THAN "\xf3\xb0\x85\xae" // U+F016E code-less-than, tags: Developer / Languages, Math -#define ICON_MD_CODE_LESS_THAN_OR_EQUAL "\xf3\xb0\x85\xaf" // U+F016F code-less-than-or-equal, tags: Developer / Languages, Math -#define ICON_MD_CODE_NOT_EQUAL "\xf3\xb0\x85\xb0" // U+F0170 code-not-equal, tags: Developer / Languages -#define ICON_MD_CODE_NOT_EQUAL_VARIANT "\xf3\xb0\x85\xb1" // U+F0171 code-not-equal-variant, tags: Developer / Languages -#define ICON_MD_CODE_PARENTHESES "\xf3\xb0\x85\xb2" // U+F0172 code-parentheses, tags: Developer / Languages -#define ICON_MD_CODE_PARENTHESES_BOX "\xf3\xb1\x83\x97" // U+F10D7 code-parentheses-box, tags: Developer / Languages -#define ICON_MD_CODE_STRING "\xf3\xb0\x85\xb3" // U+F0173 code-string, tags: Developer / Languages -#define ICON_MD_CODE_TAGS "\xf3\xb0\x85\xb4" // U+F0174 code-tags, tags: Developer / Languages -#define ICON_MD_CODE_TAGS_CHECK "\xf3\xb0\x9a\x94" // U+F0694 code-tags-check, aliases: code-tags-tick, tags: Developer / Languages -#define ICON_MD_CODEPEN "\xf3\xb0\x85\xb5" // U+F0175 codepen, tags: Brand / Logo, Developer / Languages -#define ICON_MD_COFFEE "\xf3\xb0\x85\xb6" // U+F0176 coffee, aliases: tea, cup, free-breakfast, local-cafe, drink, tags: Food / Drink -#define ICON_MD_COFFEE_MAKER "\xf3\xb1\x82\x9f" // U+F109F coffee-maker, aliases: espresso-maker, coffee-machine, espresso-machine, tags: Home Automation, Food / Drink -#define ICON_MD_COFFEE_MAKER_CHECK "\xf3\xb1\xa4\xb1" // U+F1931 coffee-maker-check, aliases: coffee-maker-done, coffee-maker-complete, tags: Home Automation, Food / Drink -#define ICON_MD_COFFEE_MAKER_CHECK_OUTLINE "\xf3\xb1\xa4\xb2" // U+F1932 coffee-maker-check-outline, aliases: coffee-maker-complete-outline, coffee-maker-done-outline, tags: Home Automation, Food / Drink -#define ICON_MD_COFFEE_MAKER_OUTLINE "\xf3\xb1\xa0\x9b" // U+F181B coffee-maker-outline, tags: Home Automation -#define ICON_MD_COFFEE_OFF "\xf3\xb0\xbe\xaa" // U+F0FAA coffee-off, aliases: drink-off, tea-off, cup-off, free-breakfast-off, local-cafe-off, tags: Food / Drink -#define ICON_MD_COFFEE_OFF_OUTLINE "\xf3\xb0\xbe\xab" // U+F0FAB coffee-off-outline, aliases: drink-off-outline, cup-off-outline, tea-off-outline, free-breakfast-off-outline, local-cafe-off-outline, tags: Food / Drink -#define ICON_MD_COFFEE_OUTLINE "\xf3\xb0\x9b\x8a" // U+F06CA coffee-outline, aliases: tea-outline, cup-outline, drink-outline, free-breakfast-outline, local-cafe-outline, tags: Food / Drink -#define ICON_MD_COFFEE_TO_GO "\xf3\xb0\x85\xb7" // U+F0177 coffee-to-go, aliases: tea-to-go, drink-to-go, cup-to-go, free-breakfast-to-go, local-cafe-to-go, tags: Food / Drink -#define ICON_MD_COFFEE_TO_GO_OUTLINE "\xf3\xb1\x8c\x8e" // U+F130E coffee-to-go-outline, aliases: tea-to-go-outline, cup-to-go-outline, drink-to-go-outline, free-breakfast-to-go-outline, local-cafe-to-go-outline, tags: Food / Drink -#define ICON_MD_COFFIN "\xf3\xb0\xad\xbf" // U+F0B7F coffin, aliases: death, dead, tags: Holiday -#define ICON_MD_COG "\xf3\xb0\x92\x93" // U+F0493 cog, aliases: settings, gear, tags: Settings -#define ICON_MD_COG_BOX "\xf3\xb0\x92\x94" // U+F0494 cog-box, aliases: gear-box, settings-applications, settings-box, tags: Settings -#define ICON_MD_COG_CLOCKWISE "\xf3\xb1\x87\x9d" // U+F11DD cog-clockwise, tags: Settings -#define ICON_MD_COG_COUNTERCLOCKWISE "\xf3\xb1\x87\x9e" // U+F11DE cog-counterclockwise, tags: Settings -#define ICON_MD_COG_OFF "\xf3\xb1\x8f\x8e" // U+F13CE cog-off, aliases: settings-off, tags: Settings -#define ICON_MD_COG_OFF_OUTLINE "\xf3\xb1\x8f\x8f" // U+F13CF cog-off-outline, aliases: settings-off-outline, tags: Settings -#define ICON_MD_COG_OUTLINE "\xf3\xb0\xa2\xbb" // U+F08BB cog-outline, aliases: gear-outline, settings-outline, tags: Settings -#define ICON_MD_COG_PAUSE "\xf3\xb1\xa4\xb3" // U+F1933 cog-pause, aliases: settings-pause, gear-pause, tags: Settings -#define ICON_MD_COG_PAUSE_OUTLINE "\xf3\xb1\xa4\xb4" // U+F1934 cog-pause-outline, aliases: settings-pause-outline, gear-pause-outline, tags: Settings -#define ICON_MD_COG_PLAY "\xf3\xb1\xa4\xb5" // U+F1935 cog-play, aliases: settings-play, gear-play, tags: Settings -#define ICON_MD_COG_PLAY_OUTLINE "\xf3\xb1\xa4\xb6" // U+F1936 cog-play-outline, aliases: settings-play-outline, gear-play-outline, tags: Settings -#define ICON_MD_COG_REFRESH "\xf3\xb1\x91\x9e" // U+F145E cog-refresh, aliases: settings-refresh, tags: Settings -#define ICON_MD_COG_REFRESH_OUTLINE "\xf3\xb1\x91\x9f" // U+F145F cog-refresh-outline, aliases: settings-refresh-outline, tags: Settings -#define ICON_MD_COG_STOP "\xf3\xb1\xa4\xb7" // U+F1937 cog-stop, aliases: settings-stop, gear-stop, tags: Settings -#define ICON_MD_COG_STOP_OUTLINE "\xf3\xb1\xa4\xb8" // U+F1938 cog-stop-outline, aliases: settings-stop-outline, gear-stop-outline, tags: Settings -#define ICON_MD_COG_SYNC "\xf3\xb1\x91\xa0" // U+F1460 cog-sync, aliases: settings-sync, tags: Settings -#define ICON_MD_COG_SYNC_OUTLINE "\xf3\xb1\x91\xa1" // U+F1461 cog-sync-outline, aliases: settings-sync-outline, tags: Settings -#define ICON_MD_COG_TRANSFER "\xf3\xb1\x81\x9b" // U+F105B cog-transfer, aliases: settings-transfer, tags: Settings -#define ICON_MD_COG_TRANSFER_OUTLINE "\xf3\xb1\x81\x9c" // U+F105C cog-transfer-outline, aliases: settings-transfer-outline, tags: Settings -#define ICON_MD_COGS "\xf3\xb0\xa3\x96" // U+F08D6 cogs, aliases: settings, manufacturing, tags: Settings -#define ICON_MD_COLLAGE "\xf3\xb0\x99\x80" // U+F0640 collage, aliases: auto-awesome-mosaic -#define ICON_MD_COLLAPSE_ALL "\xf3\xb0\xaa\xa6" // U+F0AA6 collapse-all, aliases: animation-minus -#define ICON_MD_COLLAPSE_ALL_OUTLINE "\xf3\xb0\xaa\xa7" // U+F0AA7 collapse-all-outline, aliases: animation-minus-outline -#define ICON_MD_COLOR_HELPER "\xf3\xb0\x85\xb9" // U+F0179 color-helper, aliases: colour-helper, tags: Text / Content / Format, Color -#define ICON_MD_COMMA "\xf3\xb0\xb8\xa3" // U+F0E23 comma -#define ICON_MD_COMMA_BOX "\xf3\xb0\xb8\xab" // U+F0E2B comma-box -#define ICON_MD_COMMA_BOX_OUTLINE "\xf3\xb0\xb8\xa4" // U+F0E24 comma-box-outline -#define ICON_MD_COMMA_CIRCLE "\xf3\xb0\xb8\xa5" // U+F0E25 comma-circle -#define ICON_MD_COMMA_CIRCLE_OUTLINE "\xf3\xb0\xb8\xa6" // U+F0E26 comma-circle-outline -#define ICON_MD_COMMENT "\xf3\xb0\x85\xba" // U+F017A comment -#define ICON_MD_COMMENT_ACCOUNT "\xf3\xb0\x85\xbb" // U+F017B comment-account, aliases: comment-user, comment-person, tags: Account / User -#define ICON_MD_COMMENT_ACCOUNT_OUTLINE "\xf3\xb0\x85\xbc" // U+F017C comment-account-outline, aliases: comment-user-outline, comment-person-outline, tags: Account / User -#define ICON_MD_COMMENT_ALERT "\xf3\xb0\x85\xbd" // U+F017D comment-alert, aliases: comment-warning, tags: Alert / Error -#define ICON_MD_COMMENT_ALERT_OUTLINE "\xf3\xb0\x85\xbe" // U+F017E comment-alert-outline, aliases: comment-warning-outline, tags: Alert / Error -#define ICON_MD_COMMENT_ARROW_LEFT "\xf3\xb0\xa7\xa1" // U+F09E1 comment-arrow-left, aliases: comment-previous -#define ICON_MD_COMMENT_ARROW_LEFT_OUTLINE "\xf3\xb0\xa7\xa2" // U+F09E2 comment-arrow-left-outline, aliases: comment-previous-outline -#define ICON_MD_COMMENT_ARROW_RIGHT "\xf3\xb0\xa7\xa3" // U+F09E3 comment-arrow-right, aliases: comment-next -#define ICON_MD_COMMENT_ARROW_RIGHT_OUTLINE "\xf3\xb0\xa7\xa4" // U+F09E4 comment-arrow-right-outline, aliases: comment-next-outline -#define ICON_MD_COMMENT_BOOKMARK "\xf3\xb1\x96\xae" // U+F15AE comment-bookmark -#define ICON_MD_COMMENT_BOOKMARK_OUTLINE "\xf3\xb1\x96\xaf" // U+F15AF comment-bookmark-outline -#define ICON_MD_COMMENT_CHECK "\xf3\xb0\x85\xbf" // U+F017F comment-check, aliases: comment-tick -#define ICON_MD_COMMENT_CHECK_OUTLINE "\xf3\xb0\x86\x80" // U+F0180 comment-check-outline, aliases: comment-tick-outline -#define ICON_MD_COMMENT_EDIT "\xf3\xb1\x86\xbf" // U+F11BF comment-edit, tags: Edit / Modify -#define ICON_MD_COMMENT_EDIT_OUTLINE "\xf3\xb1\x8b\x84" // U+F12C4 comment-edit-outline, tags: Edit / Modify -#define ICON_MD_COMMENT_EYE "\xf3\xb0\xa8\xba" // U+F0A3A comment-eye -#define ICON_MD_COMMENT_EYE_OUTLINE "\xf3\xb0\xa8\xbb" // U+F0A3B comment-eye-outline -#define ICON_MD_COMMENT_FLASH "\xf3\xb1\x96\xb0" // U+F15B0 comment-flash, aliases: comment-quick -#define ICON_MD_COMMENT_FLASH_OUTLINE "\xf3\xb1\x96\xb1" // U+F15B1 comment-flash-outline, aliases: comment-quick-outline -#define ICON_MD_COMMENT_MINUS "\xf3\xb1\x97\x9f" // U+F15DF comment-minus -#define ICON_MD_COMMENT_MINUS_OUTLINE "\xf3\xb1\x97\xa0" // U+F15E0 comment-minus-outline -#define ICON_MD_COMMENT_MULTIPLE "\xf3\xb0\xa1\x9f" // U+F085F comment-multiple, aliases: comments -#define ICON_MD_COMMENT_MULTIPLE_OUTLINE "\xf3\xb0\x86\x81" // U+F0181 comment-multiple-outline, aliases: comments-outline -#define ICON_MD_COMMENT_OFF "\xf3\xb1\x97\xa1" // U+F15E1 comment-off -#define ICON_MD_COMMENT_OFF_OUTLINE "\xf3\xb1\x97\xa2" // U+F15E2 comment-off-outline -#define ICON_MD_COMMENT_OUTLINE "\xf3\xb0\x86\x82" // U+F0182 comment-outline -#define ICON_MD_COMMENT_PLUS "\xf3\xb0\xa7\xa5" // U+F09E5 comment-plus, aliases: comment-add -#define ICON_MD_COMMENT_PLUS_OUTLINE "\xf3\xb0\x86\x83" // U+F0183 comment-plus-outline, aliases: comment-add-outline -#define ICON_MD_COMMENT_PROCESSING "\xf3\xb0\x86\x84" // U+F0184 comment-processing -#define ICON_MD_COMMENT_PROCESSING_OUTLINE "\xf3\xb0\x86\x85" // U+F0185 comment-processing-outline -#define ICON_MD_COMMENT_QUESTION "\xf3\xb0\xa0\x97" // U+F0817 comment-question -#define ICON_MD_COMMENT_QUESTION_OUTLINE "\xf3\xb0\x86\x86" // U+F0186 comment-question-outline -#define ICON_MD_COMMENT_QUOTE "\xf3\xb1\x80\xa1" // U+F1021 comment-quote, aliases: feedback -#define ICON_MD_COMMENT_QUOTE_OUTLINE "\xf3\xb1\x80\xa2" // U+F1022 comment-quote-outline, aliases: feedback-outline -#define ICON_MD_COMMENT_REMOVE "\xf3\xb0\x97\x9e" // U+F05DE comment-remove -#define ICON_MD_COMMENT_REMOVE_OUTLINE "\xf3\xb0\x86\x87" // U+F0187 comment-remove-outline -#define ICON_MD_COMMENT_SEARCH "\xf3\xb0\xa8\xbc" // U+F0A3C comment-search -#define ICON_MD_COMMENT_SEARCH_OUTLINE "\xf3\xb0\xa8\xbd" // U+F0A3D comment-search-outline -#define ICON_MD_COMMENT_TEXT "\xf3\xb0\x86\x88" // U+F0188 comment-text -#define ICON_MD_COMMENT_TEXT_MULTIPLE "\xf3\xb0\xa1\xa0" // U+F0860 comment-text-multiple, aliases: comments-text -#define ICON_MD_COMMENT_TEXT_MULTIPLE_OUTLINE "\xf3\xb0\xa1\xa1" // U+F0861 comment-text-multiple-outline, aliases: comments-text-outline -#define ICON_MD_COMMENT_TEXT_OUTLINE "\xf3\xb0\x86\x89" // U+F0189 comment-text-outline -#define ICON_MD_COMPARE "\xf3\xb0\x86\x8a" // U+F018A compare, aliases: theme-light-dark -#define ICON_MD_COMPARE_HORIZONTAL "\xf3\xb1\x92\x92" // U+F1492 compare-horizontal, tags: Arrow -#define ICON_MD_COMPARE_REMOVE "\xf3\xb1\xa2\xb3" // U+F18B3 compare-remove -#define ICON_MD_COMPARE_VERTICAL "\xf3\xb1\x92\x93" // U+F1493 compare-vertical, tags: Arrow -#define ICON_MD_COMPASS "\xf3\xb0\x86\x8b" // U+F018B compass, aliases: explore, tags: Navigation, Geographic Information System -#define ICON_MD_COMPASS_OFF "\xf3\xb0\xae\x80" // U+F0B80 compass-off, tags: Geographic Information System, Navigation -#define ICON_MD_COMPASS_OFF_OUTLINE "\xf3\xb0\xae\x81" // U+F0B81 compass-off-outline, tags: Geographic Information System, Navigation -#define ICON_MD_COMPASS_OUTLINE "\xf3\xb0\x86\x8c" // U+F018C compass-outline, tags: Navigation, Geographic Information System -#define ICON_MD_COMPASS_ROSE "\xf3\xb1\x8e\x82" // U+F1382 compass-rose, tags: Navigation -#define ICON_MD_COMPOST "\xf3\xb1\xa8\xb8" // U+F1A38 compost, tags: Agriculture, Nature -#define ICON_MD_CONE "\xf3\xb1\xa5\x8c" // U+F194C cone, tags: Shape -#define ICON_MD_CONE_OFF "\xf3\xb1\xa5\x8d" // U+F194D cone-off, tags: Shape -#define ICON_MD_CONNECTION "\xf3\xb1\x98\x96" // U+F1616 connection, aliases: plug, tags: Home Automation -#define ICON_MD_CONSOLE "\xf3\xb0\x86\x8d" // U+F018D console, aliases: terminal -#define ICON_MD_CONSOLE_LINE "\xf3\xb0\x9e\xb7" // U+F07B7 console-line, aliases: terminal-line -#define ICON_MD_CONSOLE_NETWORK "\xf3\xb0\xa2\xa9" // U+F08A9 console-network, aliases: terminal-network -#define ICON_MD_CONSOLE_NETWORK_OUTLINE "\xf3\xb0\xb1\xa0" // U+F0C60 console-network-outline, aliases: terminal-network-outline -#define ICON_MD_CONSOLIDATE "\xf3\xb1\x83\x98" // U+F10D8 consolidate -#define ICON_MD_CONTACTLESS_PAYMENT "\xf3\xb0\xb5\xaa" // U+F0D6A contactless-payment, tags: Currency -#define ICON_MD_CONTACTLESS_PAYMENT_CIRCLE "\xf3\xb0\x8c\xa1" // U+F0321 contactless-payment-circle, tags: Currency -#define ICON_MD_CONTACTLESS_PAYMENT_CIRCLE_OUTLINE "\xf3\xb0\x90\x88" // U+F0408 contactless-payment-circle-outline, tags: Currency -#define ICON_MD_CONTACTS "\xf3\xb0\x9b\x8b" // U+F06CB contacts -#define ICON_MD_CONTACTS_OUTLINE "\xf3\xb0\x96\xb8" // U+F05B8 contacts-outline -#define ICON_MD_CONTAIN "\xf3\xb0\xa8\xbe" // U+F0A3E contain -#define ICON_MD_CONTAIN_END "\xf3\xb0\xa8\xbf" // U+F0A3F contain-end -#define ICON_MD_CONTAIN_START "\xf3\xb0\xa9\x80" // U+F0A40 contain-start -#define ICON_MD_CONTENT_COPY "\xf3\xb0\x86\x8f" // U+F018F content-copy, tags: Text / Content / Format -#define ICON_MD_CONTENT_CUT "\xf3\xb0\x86\x90" // U+F0190 content-cut, aliases: scissors, clip, tags: Health / Beauty, Text / Content / Format -#define ICON_MD_CONTENT_DUPLICATE "\xf3\xb0\x86\x91" // U+F0191 content-duplicate -#define ICON_MD_CONTENT_PASTE "\xf3\xb0\x86\x92" // U+F0192 content-paste, tags: Text / Content / Format -#define ICON_MD_CONTENT_SAVE "\xf3\xb0\x86\x93" // U+F0193 content-save, aliases: floppy-disc, floppy-disk -#define ICON_MD_CONTENT_SAVE_ALERT "\xf3\xb0\xbd\x82" // U+F0F42 content-save-alert, aliases: floppy-disc-alert, tags: Alert / Error -#define ICON_MD_CONTENT_SAVE_ALERT_OUTLINE "\xf3\xb0\xbd\x83" // U+F0F43 content-save-alert-outline, aliases: floppy-disc-alert-outline, tags: Alert / Error -#define ICON_MD_CONTENT_SAVE_ALL "\xf3\xb0\x86\x94" // U+F0194 content-save-all, aliases: floppy-disc-multiple -#define ICON_MD_CONTENT_SAVE_ALL_OUTLINE "\xf3\xb0\xbd\x84" // U+F0F44 content-save-all-outline, aliases: floppy-disc-multiple-outline -#define ICON_MD_CONTENT_SAVE_CHECK "\xf3\xb1\xa3\xaa" // U+F18EA content-save-check -#define ICON_MD_CONTENT_SAVE_CHECK_OUTLINE "\xf3\xb1\xa3\xab" // U+F18EB content-save-check-outline -#define ICON_MD_CONTENT_SAVE_COG "\xf3\xb1\x91\x9b" // U+F145B content-save-cog, aliases: floppy-disc-cog, tags: Settings -#define ICON_MD_CONTENT_SAVE_COG_OUTLINE "\xf3\xb1\x91\x9c" // U+F145C content-save-cog-outline, aliases: floppy-disc-cog-outline, tags: Settings -#define ICON_MD_CONTENT_SAVE_EDIT "\xf3\xb0\xb3\xbb" // U+F0CFB content-save-edit, aliases: floppy-disc-edit, tags: Edit / Modify -#define ICON_MD_CONTENT_SAVE_EDIT_OUTLINE "\xf3\xb0\xb3\xbc" // U+F0CFC content-save-edit-outline, aliases: floppy-disc-edit-outline, tags: Edit / Modify -#define ICON_MD_CONTENT_SAVE_MINUS "\xf3\xb1\xad\x83" // U+F1B43 content-save-minus -#define ICON_MD_CONTENT_SAVE_MINUS_OUTLINE "\xf3\xb1\xad\x84" // U+F1B44 content-save-minus-outline -#define ICON_MD_CONTENT_SAVE_MOVE "\xf3\xb0\xb8\xa7" // U+F0E27 content-save-move, aliases: floppy-disc-move -#define ICON_MD_CONTENT_SAVE_MOVE_OUTLINE "\xf3\xb0\xb8\xa8" // U+F0E28 content-save-move-outline, aliases: floppy-disc-move-outline -#define ICON_MD_CONTENT_SAVE_OFF "\xf3\xb1\x99\x83" // U+F1643 content-save-off -#define ICON_MD_CONTENT_SAVE_OFF_OUTLINE "\xf3\xb1\x99\x84" // U+F1644 content-save-off-outline -#define ICON_MD_CONTENT_SAVE_OUTLINE "\xf3\xb0\xa0\x98" // U+F0818 content-save-outline -#define ICON_MD_CONTENT_SAVE_PLUS "\xf3\xb1\xad\x81" // U+F1B41 content-save-plus, aliases: content-save-add -#define ICON_MD_CONTENT_SAVE_PLUS_OUTLINE "\xf3\xb1\xad\x82" // U+F1B42 content-save-plus-outline, aliases: content-save-add-outline -#define ICON_MD_CONTENT_SAVE_SETTINGS "\xf3\xb0\x98\x9b" // U+F061B content-save-settings, aliases: floppy-disc-settings, tags: Settings -#define ICON_MD_CONTENT_SAVE_SETTINGS_OUTLINE "\xf3\xb0\xac\xae" // U+F0B2E content-save-settings-outline, aliases: floppy-disc-settings-outline, tags: Settings -#define ICON_MD_CONTRAST "\xf3\xb0\x86\x95" // U+F0195 contrast -#define ICON_MD_CONTRAST_BOX "\xf3\xb0\x86\x96" // U+F0196 contrast-box -#define ICON_MD_CONTRAST_CIRCLE "\xf3\xb0\x86\x97" // U+F0197 contrast-circle -#define ICON_MD_CONTROLLER "\xf3\xb0\x8a\xb4" // U+F02B4 controller, aliases: gamepad, tags: Gaming / RPG -#define ICON_MD_CONTROLLER_CLASSIC "\xf3\xb0\xae\x82" // U+F0B82 controller-classic, aliases: gamepad-classic, tags: Gaming / RPG -#define ICON_MD_CONTROLLER_CLASSIC_OUTLINE "\xf3\xb0\xae\x83" // U+F0B83 controller-classic-outline, aliases: gamepad-classic-outline, tags: Gaming / RPG -#define ICON_MD_CONTROLLER_OFF "\xf3\xb0\x8a\xb5" // U+F02B5 controller-off, aliases: gamepad-off, tags: Gaming / RPG -#define ICON_MD_COOKIE "\xf3\xb0\x86\x98" // U+F0198 cookie, aliases: biscuit, tags: Food / Drink -#define ICON_MD_COOKIE_ALERT "\xf3\xb1\x9b\x90" // U+F16D0 cookie-alert, aliases: biscuit-alert, tags: Food / Drink, Alert / Error -#define ICON_MD_COOKIE_ALERT_OUTLINE "\xf3\xb1\x9b\x91" // U+F16D1 cookie-alert-outline, aliases: biscuit-alert-outline, tags: Food / Drink, Alert / Error -#define ICON_MD_COOKIE_CHECK "\xf3\xb1\x9b\x92" // U+F16D2 cookie-check, aliases: biscuit-check, tags: Food / Drink -#define ICON_MD_COOKIE_CHECK_OUTLINE "\xf3\xb1\x9b\x93" // U+F16D3 cookie-check-outline, aliases: biscuit-check-outline, tags: Food / Drink -#define ICON_MD_COOKIE_CLOCK "\xf3\xb1\x9b\xa4" // U+F16E4 cookie-clock, aliases: biscuit-clock, tags: Food / Drink, Date / Time -#define ICON_MD_COOKIE_CLOCK_OUTLINE "\xf3\xb1\x9b\xa5" // U+F16E5 cookie-clock-outline, aliases: biscuit-clock-outline, tags: Food / Drink, Date / Time -#define ICON_MD_COOKIE_COG "\xf3\xb1\x9b\x94" // U+F16D4 cookie-cog, aliases: biscuit-cog, tags: Food / Drink -#define ICON_MD_COOKIE_COG_OUTLINE "\xf3\xb1\x9b\x95" // U+F16D5 cookie-cog-outline, aliases: biscuit-cog-outline, tags: Food / Drink -#define ICON_MD_COOKIE_EDIT "\xf3\xb1\x9b\xa6" // U+F16E6 cookie-edit, aliases: biscuit-edit, tags: Food / Drink, Edit / Modify -#define ICON_MD_COOKIE_EDIT_OUTLINE "\xf3\xb1\x9b\xa7" // U+F16E7 cookie-edit-outline, aliases: biscuit-edit-outline, tags: Food / Drink, Edit / Modify -#define ICON_MD_COOKIE_LOCK "\xf3\xb1\x9b\xa8" // U+F16E8 cookie-lock, aliases: biscuit-lock, tags: Food / Drink, Lock -#define ICON_MD_COOKIE_LOCK_OUTLINE "\xf3\xb1\x9b\xa9" // U+F16E9 cookie-lock-outline, aliases: biscuit-lock-outline, tags: Food / Drink, Lock -#define ICON_MD_COOKIE_MINUS "\xf3\xb1\x9b\x9a" // U+F16DA cookie-minus, aliases: biscuit-minus, tags: Food / Drink -#define ICON_MD_COOKIE_MINUS_OUTLINE "\xf3\xb1\x9b\x9b" // U+F16DB cookie-minus-outline, aliases: biscuit-minus-outline, tags: Food / Drink -#define ICON_MD_COOKIE_OFF "\xf3\xb1\x9b\xaa" // U+F16EA cookie-off, aliases: biscuit-off, tags: Food / Drink -#define ICON_MD_COOKIE_OFF_OUTLINE "\xf3\xb1\x9b\xab" // U+F16EB cookie-off-outline, aliases: biscuit-off-outline, tags: Food / Drink -#define ICON_MD_COOKIE_OUTLINE "\xf3\xb1\x9b\x9e" // U+F16DE cookie-outline, aliases: biscuit-outline, tags: Food / Drink -#define ICON_MD_COOKIE_PLUS "\xf3\xb1\x9b\x96" // U+F16D6 cookie-plus, aliases: biscuit-plus, tags: Food / Drink -#define ICON_MD_COOKIE_PLUS_OUTLINE "\xf3\xb1\x9b\x97" // U+F16D7 cookie-plus-outline, aliases: biscuit-plus-outline, tags: Food / Drink -#define ICON_MD_COOKIE_REFRESH "\xf3\xb1\x9b\xac" // U+F16EC cookie-refresh, aliases: biscuit-refresh, tags: Food / Drink -#define ICON_MD_COOKIE_REFRESH_OUTLINE "\xf3\xb1\x9b\xad" // U+F16ED cookie-refresh-outline, aliases: biscuit-refresh-outline, tags: Food / Drink -#define ICON_MD_COOKIE_REMOVE "\xf3\xb1\x9b\x98" // U+F16D8 cookie-remove, aliases: biscuit-remove, tags: Food / Drink -#define ICON_MD_COOKIE_REMOVE_OUTLINE "\xf3\xb1\x9b\x99" // U+F16D9 cookie-remove-outline, aliases: biscuit-remove-outline, tags: Food / Drink -#define ICON_MD_COOKIE_SETTINGS "\xf3\xb1\x9b\x9c" // U+F16DC cookie-settings, aliases: biscuit-settings, cookie-crumbs, biscuit-crumbs, tags: Food / Drink, Settings -#define ICON_MD_COOKIE_SETTINGS_OUTLINE "\xf3\xb1\x9b\x9d" // U+F16DD cookie-settings-outline, aliases: biscuit-settings-outline, cookie-crumbs-outline, biscuit-crumbs-outline, tags: Food / Drink, Settings -#define ICON_MD_COOLANT_TEMPERATURE "\xf3\xb0\x8f\x88" // U+F03C8 coolant-temperature, tags: Automotive -#define ICON_MD_COPYLEFT "\xf3\xb1\xa4\xb9" // U+F1939 copyleft -#define ICON_MD_COPYRIGHT "\xf3\xb0\x97\xa6" // U+F05E6 copyright -#define ICON_MD_CORDOVA "\xf3\xb0\xa5\x98" // U+F0958 cordova, tags: Brand / Logo, Developer / Languages -#define ICON_MD_CORN "\xf3\xb0\x9e\xb8" // U+F07B8 corn, tags: Agriculture, Food / Drink -#define ICON_MD_CORN_OFF "\xf3\xb1\x8f\xaf" // U+F13EF corn-off, tags: Food / Drink, Agriculture -#define ICON_MD_COSINE_WAVE "\xf3\xb1\x91\xb9" // U+F1479 cosine-wave, aliases: frequency, amplitude, tags: Audio -#define ICON_MD_COUNTER "\xf3\xb0\x86\x99" // U+F0199 counter, aliases: score, numbers, odometer, tags: Automotive -#define ICON_MD_COUNTERTOP "\xf3\xb1\xa0\x9c" // U+F181C countertop, aliases: kitchen-counter, sink, tags: Home Automation -#define ICON_MD_COUNTERTOP_OUTLINE "\xf3\xb1\xa0\x9d" // U+F181D countertop-outline, aliases: kitchen-counter-outline, sink-outline, tags: Home Automation -#define ICON_MD_COW "\xf3\xb0\x86\x9a" // U+F019A cow, aliases: emoji-cow, emoticon-cow, tags: Animal, Agriculture -#define ICON_MD_COW_OFF "\xf3\xb1\xa3\xbc" // U+F18FC cow-off, aliases: dairy-off, dairy-free, tags: Food / Drink, Agriculture, Animal -#define ICON_MD_CPU_32_BIT "\xf3\xb0\xbb\x9f" // U+F0EDF cpu-32-bit, aliases: chip-32-bit -#define ICON_MD_CPU_64_BIT "\xf3\xb0\xbb\xa0" // U+F0EE0 cpu-64-bit, aliases: chip-64-bit -#define ICON_MD_CRADLE "\xf3\xb1\xa6\x8b" // U+F198B cradle, aliases: crib, bassinet, baby, nursery, baby-room, tags: People / Family, Home Automation -#define ICON_MD_CRADLE_OUTLINE "\xf3\xb1\xa6\x91" // U+F1991 cradle-outline, aliases: bassinet, crib, baby, nursery-outline, baby-room-outline, tags: People / Family, Home Automation -#define ICON_MD_CRANE "\xf3\xb0\xa1\xa2" // U+F0862 crane -#define ICON_MD_CREATION "\xf3\xb0\x99\xb4" // U+F0674 creation, aliases: auto-awesome -#define ICON_MD_CREATIVE_COMMONS "\xf3\xb0\xb5\xab" // U+F0D6B creative-commons, tags: Brand / Logo -#define ICON_MD_CREDIT_CARD "\xf3\xb0\xbf\xaf" // U+F0FEF credit-card, tags: Banking, Currency -#define ICON_MD_CREDIT_CARD_CHECK "\xf3\xb1\x8f\x90" // U+F13D0 credit-card-check, tags: Banking -#define ICON_MD_CREDIT_CARD_CHECK_OUTLINE "\xf3\xb1\x8f\x91" // U+F13D1 credit-card-check-outline, tags: Banking -#define ICON_MD_CREDIT_CARD_CHIP "\xf3\xb1\xa4\x8f" // U+F190F credit-card-chip, aliases: credit-card-icc-chip, tags: Banking -#define ICON_MD_CREDIT_CARD_CHIP_OUTLINE "\xf3\xb1\xa4\x90" // U+F1910 credit-card-chip-outline, aliases: credit-card-icc-chip-outline, tags: Banking -#define ICON_MD_CREDIT_CARD_CLOCK "\xf3\xb0\xbb\xa1" // U+F0EE1 credit-card-clock, tags: Banking, Date / Time -#define ICON_MD_CREDIT_CARD_CLOCK_OUTLINE "\xf3\xb0\xbb\xa2" // U+F0EE2 credit-card-clock-outline, tags: Banking, Date / Time -#define ICON_MD_CREDIT_CARD_EDIT "\xf3\xb1\x9f\x97" // U+F17D7 credit-card-edit, tags: Edit / Modify, Banking -#define ICON_MD_CREDIT_CARD_EDIT_OUTLINE "\xf3\xb1\x9f\x98" // U+F17D8 credit-card-edit-outline, tags: Edit / Modify, Banking -#define ICON_MD_CREDIT_CARD_FAST "\xf3\xb1\xa4\x91" // U+F1911 credit-card-fast, aliases: credit-card-swipe, tags: Banking -#define ICON_MD_CREDIT_CARD_FAST_OUTLINE "\xf3\xb1\xa4\x92" // U+F1912 credit-card-fast-outline, aliases: credit-card-swipe-outline, tags: Banking -#define ICON_MD_CREDIT_CARD_LOCK "\xf3\xb1\xa3\xa7" // U+F18E7 credit-card-lock, tags: Banking, Lock -#define ICON_MD_CREDIT_CARD_LOCK_OUTLINE "\xf3\xb1\xa3\xa8" // U+F18E8 credit-card-lock-outline, tags: Banking, Lock -#define ICON_MD_CREDIT_CARD_MARKER "\xf3\xb0\x9a\xa8" // U+F06A8 credit-card-marker, aliases: credit-card-location, payment-on-delivery, tags: Banking, Navigation -#define ICON_MD_CREDIT_CARD_MARKER_OUTLINE "\xf3\xb0\xb6\xbe" // U+F0DBE credit-card-marker-outline, aliases: cod, payment-on-delivery-outline, credit-card-location-outline, tags: Banking, Navigation -#define ICON_MD_CREDIT_CARD_MINUS "\xf3\xb0\xbe\xac" // U+F0FAC credit-card-minus, tags: Banking -#define ICON_MD_CREDIT_CARD_MINUS_OUTLINE "\xf3\xb0\xbe\xad" // U+F0FAD credit-card-minus-outline, tags: Banking -#define ICON_MD_CREDIT_CARD_MULTIPLE "\xf3\xb0\xbf\xb0" // U+F0FF0 credit-card-multiple, tags: Banking -#define ICON_MD_CREDIT_CARD_MULTIPLE_OUTLINE "\xf3\xb0\x86\x9c" // U+F019C credit-card-multiple-outline, aliases: credit-cards, tags: Banking -#define ICON_MD_CREDIT_CARD_OFF "\xf3\xb0\xbf\xb1" // U+F0FF1 credit-card-off, tags: Banking -#define ICON_MD_CREDIT_CARD_OFF_OUTLINE "\xf3\xb0\x97\xa4" // U+F05E4 credit-card-off-outline, tags: Banking -#define ICON_MD_CREDIT_CARD_OUTLINE "\xf3\xb0\x86\x9b" // U+F019B credit-card-outline, aliases: payment, tags: Shopping, Banking, Currency -#define ICON_MD_CREDIT_CARD_PLUS "\xf3\xb0\xbf\xb2" // U+F0FF2 credit-card-plus, tags: Banking -#define ICON_MD_CREDIT_CARD_PLUS_OUTLINE "\xf3\xb0\x99\xb6" // U+F0676 credit-card-plus-outline, aliases: credit-card-add, tags: Banking -#define ICON_MD_CREDIT_CARD_REFRESH "\xf3\xb1\x99\x85" // U+F1645 credit-card-refresh, tags: Banking -#define ICON_MD_CREDIT_CARD_REFRESH_OUTLINE "\xf3\xb1\x99\x86" // U+F1646 credit-card-refresh-outline, tags: Banking -#define ICON_MD_CREDIT_CARD_REFUND "\xf3\xb0\xbf\xb3" // U+F0FF3 credit-card-refund, tags: Banking -#define ICON_MD_CREDIT_CARD_REFUND_OUTLINE "\xf3\xb0\xaa\xa8" // U+F0AA8 credit-card-refund-outline, tags: Banking -#define ICON_MD_CREDIT_CARD_REMOVE "\xf3\xb0\xbe\xae" // U+F0FAE credit-card-remove, tags: Banking -#define ICON_MD_CREDIT_CARD_REMOVE_OUTLINE "\xf3\xb0\xbe\xaf" // U+F0FAF credit-card-remove-outline, tags: Banking -#define ICON_MD_CREDIT_CARD_SCAN "\xf3\xb0\xbf\xb4" // U+F0FF4 credit-card-scan, tags: Banking -#define ICON_MD_CREDIT_CARD_SCAN_OUTLINE "\xf3\xb0\x86\x9d" // U+F019D credit-card-scan-outline, tags: Banking -#define ICON_MD_CREDIT_CARD_SEARCH "\xf3\xb1\x99\x87" // U+F1647 credit-card-search, tags: Banking -#define ICON_MD_CREDIT_CARD_SEARCH_OUTLINE "\xf3\xb1\x99\x88" // U+F1648 credit-card-search-outline, tags: Banking -#define ICON_MD_CREDIT_CARD_SETTINGS "\xf3\xb0\xbf\xb5" // U+F0FF5 credit-card-settings, tags: Banking, Settings -#define ICON_MD_CREDIT_CARD_SETTINGS_OUTLINE "\xf3\xb0\xa3\x97" // U+F08D7 credit-card-settings-outline, aliases: payment-settings, tags: Banking, Settings -#define ICON_MD_CREDIT_CARD_SYNC "\xf3\xb1\x99\x89" // U+F1649 credit-card-sync, tags: Banking -#define ICON_MD_CREDIT_CARD_SYNC_OUTLINE "\xf3\xb1\x99\x8a" // U+F164A credit-card-sync-outline, tags: Banking -#define ICON_MD_CREDIT_CARD_WIRELESS "\xf3\xb0\xa0\x82" // U+F0802 credit-card-wireless, tags: Currency, Banking -#define ICON_MD_CREDIT_CARD_WIRELESS_OFF "\xf3\xb0\x95\xba" // U+F057A credit-card-wireless-off, tags: Banking -#define ICON_MD_CREDIT_CARD_WIRELESS_OFF_OUTLINE "\xf3\xb0\x95\xbb" // U+F057B credit-card-wireless-off-outline, tags: Banking -#define ICON_MD_CREDIT_CARD_WIRELESS_OUTLINE "\xf3\xb0\xb5\xac" // U+F0D6C credit-card-wireless-outline, aliases: credit-card-contactless, tags: Currency, Banking -#define ICON_MD_CRICKET "\xf3\xb0\xb5\xad" // U+F0D6D cricket, aliases: cricket-bat, tags: Sport -#define ICON_MD_CROP "\xf3\xb0\x86\x9e" // U+F019E crop -#define ICON_MD_CROP_FREE "\xf3\xb0\x86\x9f" // U+F019F crop-free -#define ICON_MD_CROP_LANDSCAPE "\xf3\xb0\x86\xa0" // U+F01A0 crop-landscape, aliases: crop-5-4 -#define ICON_MD_CROP_PORTRAIT "\xf3\xb0\x86\xa1" // U+F01A1 crop-portrait -#define ICON_MD_CROP_ROTATE "\xf3\xb0\x9a\x96" // U+F0696 crop-rotate -#define ICON_MD_CROP_SQUARE "\xf3\xb0\x86\xa2" // U+F01A2 crop-square -#define ICON_MD_CROSS "\xf3\xb0\xa5\x93" // U+F0953 cross, aliases: christianity, religion-christian, tags: Religion, Holiday -#define ICON_MD_CROSS_BOLNISI "\xf3\xb0\xb3\xad" // U+F0CED cross-bolnisi, tags: Religion -#define ICON_MD_CROSS_CELTIC "\xf3\xb0\xb3\xb5" // U+F0CF5 cross-celtic, tags: Religion, Holiday -#define ICON_MD_CROSS_OUTLINE "\xf3\xb0\xb3\xb6" // U+F0CF6 cross-outline, aliases: religion-christian-outline, christianity-outline, tags: Religion -#define ICON_MD_CROSSHAIRS "\xf3\xb0\x86\xa3" // U+F01A3 crosshairs, aliases: gps-not-fixed, location-searching, tags: Geographic Information System -#define ICON_MD_CROSSHAIRS_GPS "\xf3\xb0\x86\xa4" // U+F01A4 crosshairs-gps, aliases: gps-fixed, my-location, tags: Navigation, Geographic Information System -#define ICON_MD_CROSSHAIRS_OFF "\xf3\xb0\xbd\x85" // U+F0F45 crosshairs-off, tags: Geographic Information System -#define ICON_MD_CROSSHAIRS_QUESTION "\xf3\xb1\x84\xb6" // U+F1136 crosshairs-question, aliases: crosshairs-unknown, gps-unknown, tags: Navigation, Geographic Information System -#define ICON_MD_CROWD "\xf3\xb1\xa5\xb5" // U+F1975 crowd, aliases: family, crowd-source, crowdsource, tags: Account / User, People / Family -#define ICON_MD_CROWN "\xf3\xb0\x86\xa5" // U+F01A5 crown -#define ICON_MD_CROWN_CIRCLE "\xf3\xb1\x9f\x9c" // U+F17DC crown-circle, aliases: checkers, tags: Gaming / RPG -#define ICON_MD_CROWN_CIRCLE_OUTLINE "\xf3\xb1\x9f\x9d" // U+F17DD crown-circle-outline, aliases: checkers-outline, tags: Gaming / RPG -#define ICON_MD_CROWN_OUTLINE "\xf3\xb1\x87\x90" // U+F11D0 crown-outline -#define ICON_MD_CRYENGINE "\xf3\xb0\xa5\x99" // U+F0959 cryengine, tags: Brand / Logo -#define ICON_MD_CRYSTAL_BALL "\xf3\xb0\xac\xaf" // U+F0B2F crystal-ball, tags: Gaming / RPG -#define ICON_MD_CUBE "\xf3\xb0\x86\xa6" // U+F01A6 cube, tags: Shape -#define ICON_MD_CUBE_OFF "\xf3\xb1\x90\x9c" // U+F141C cube-off -#define ICON_MD_CUBE_OFF_OUTLINE "\xf3\xb1\x90\x9d" // U+F141D cube-off-outline, aliases: sugar-off, sugar-cube-off, sugar-free, tags: Food / Drink -#define ICON_MD_CUBE_OUTLINE "\xf3\xb0\x86\xa7" // U+F01A7 cube-outline, aliases: sugar, sugar-cube, tags: Shape, Food / Drink -#define ICON_MD_CUBE_SCAN "\xf3\xb0\xae\x84" // U+F0B84 cube-scan, aliases: view-in-ar, view-in-augmented-reality -#define ICON_MD_CUBE_SEND "\xf3\xb0\x86\xa8" // U+F01A8 cube-send -#define ICON_MD_CUBE_UNFOLDED "\xf3\xb0\x86\xa9" // U+F01A9 cube-unfolded -#define ICON_MD_CUP "\xf3\xb0\x86\xaa" // U+F01AA cup, aliases: glass, drink, tags: Food / Drink -#define ICON_MD_CUP_OFF "\xf3\xb0\x97\xa5" // U+F05E5 cup-off, aliases: glass-off, drink-off, tags: Food / Drink -#define ICON_MD_CUP_OFF_OUTLINE "\xf3\xb1\x8d\xbd" // U+F137D cup-off-outline, aliases: glass-off-outline, drink-off-outline, tags: Food / Drink -#define ICON_MD_CUP_OUTLINE "\xf3\xb1\x8c\x8f" // U+F130F cup-outline, aliases: glass-outline, drink-outline, tags: Food / Drink -#define ICON_MD_CUP_WATER "\xf3\xb0\x86\xab" // U+F01AB cup-water, aliases: local-drink, glass-water, drink-water, cup-liquid, glass-liquid, tags: Food / Drink -#define ICON_MD_CUPBOARD "\xf3\xb0\xbd\x86" // U+F0F46 cupboard, tags: Home Automation -#define ICON_MD_CUPBOARD_OUTLINE "\xf3\xb0\xbd\x87" // U+F0F47 cupboard-outline, tags: Home Automation -#define ICON_MD_CUPCAKE "\xf3\xb0\xa5\x9a" // U+F095A cupcake, tags: Food / Drink -#define ICON_MD_CURLING "\xf3\xb0\xa1\xa3" // U+F0863 curling, tags: Sport -#define ICON_MD_CURRENCY_BDT "\xf3\xb0\xa1\xa4" // U+F0864 currency-bdt, aliases: taka, bangladeshi-taka, tags: Banking, Currency -#define ICON_MD_CURRENCY_BRL "\xf3\xb0\xae\x85" // U+F0B85 currency-brl, aliases: brazilian-real, tags: Banking, Currency -#define ICON_MD_CURRENCY_BTC "\xf3\xb0\x86\xac" // U+F01AC currency-btc, aliases: bitcoin, tags: Currency, Banking -#define ICON_MD_CURRENCY_CNY "\xf3\xb0\x9e\xba" // U+F07BA currency-cny, aliases: yuan, renminbi, tags: Currency, Banking -#define ICON_MD_CURRENCY_ETH "\xf3\xb0\x9e\xbb" // U+F07BB currency-eth, aliases: ethereum, xi, tags: Currency, Banking -#define ICON_MD_CURRENCY_EUR "\xf3\xb0\x86\xad" // U+F01AD currency-eur, aliases: euro, euro-symbol, tags: Currency, Banking -#define ICON_MD_CURRENCY_EUR_OFF "\xf3\xb1\x8c\x95" // U+F1315 currency-eur-off, tags: Currency, Banking -#define ICON_MD_CURRENCY_FRA "\xf3\xb1\xa8\xb9" // U+F1A39 currency-fra, tags: Currency, Banking -#define ICON_MD_CURRENCY_GBP "\xf3\xb0\x86\xae" // U+F01AE currency-gbp, aliases: pound, sterling, tags: Currency, Banking -#define ICON_MD_CURRENCY_ILS "\xf3\xb0\xb1\xa1" // U+F0C61 currency-ils, tags: Banking, Currency -#define ICON_MD_CURRENCY_INR "\xf3\xb0\x86\xaf" // U+F01AF currency-inr, aliases: rupee, tags: Currency, Banking -#define ICON_MD_CURRENCY_JPY "\xf3\xb0\x9e\xbc" // U+F07BC currency-jpy, aliases: yen, tags: Currency, Banking -#define ICON_MD_CURRENCY_KRW "\xf3\xb0\x9e\xbd" // U+F07BD currency-krw, aliases: won, tags: Currency, Banking -#define ICON_MD_CURRENCY_KZT "\xf3\xb0\xa1\xa5" // U+F0865 currency-kzt, aliases: kazakhstani-tenge, tags: Banking, Currency -#define ICON_MD_CURRENCY_MNT "\xf3\xb1\x94\x92" // U+F1512 currency-mnt, aliases: currency-mongolian-tugrug, tags: Currency, Banking -#define ICON_MD_CURRENCY_NGN "\xf3\xb0\x86\xb0" // U+F01B0 currency-ngn, aliases: naira, tags: Currency, Banking -#define ICON_MD_CURRENCY_PHP "\xf3\xb0\xa7\xa6" // U+F09E6 currency-php, aliases: philippine-peso, tags: Banking, Currency -#define ICON_MD_CURRENCY_RIAL "\xf3\xb0\xba\x9c" // U+F0E9C currency-rial, aliases: currency-riyal, currency-irr, currency-omr, currency-yer, currency-sar, tags: Currency, Banking -#define ICON_MD_CURRENCY_RUB "\xf3\xb0\x86\xb1" // U+F01B1 currency-rub, aliases: ruble, tags: Currency, Banking -#define ICON_MD_CURRENCY_RUPEE "\xf3\xb1\xa5\xb6" // U+F1976 currency-rupee, aliases: currency-npr, currency-pkr, currency-lkr, currency-inr, tags: Banking, Currency -#define ICON_MD_CURRENCY_SIGN "\xf3\xb0\x9e\xbe" // U+F07BE currency-sign, aliases: currency-scarab, tags: Currency, Banking -#define ICON_MD_CURRENCY_TRY "\xf3\xb0\x86\xb2" // U+F01B2 currency-try, aliases: lira, tags: Currency, Banking -#define ICON_MD_CURRENCY_TWD "\xf3\xb0\x9e\xbf" // U+F07BF currency-twd, aliases: new-taiwan-dollar, tags: Currency, Banking -#define ICON_MD_CURRENCY_UAH "\xf3\xb1\xae\x9b" // U+F1B9B currency-uah, aliases: currency-hryvnia, currency-ukraine, tags: Banking -#define ICON_MD_CURRENCY_USD "\xf3\xb0\x87\x81" // U+F01C1 currency-usd, aliases: attach-money, dollar, tags: Currency, Banking -#define ICON_MD_CURRENCY_USD_OFF "\xf3\xb0\x99\xba" // U+F067A currency-usd-off, aliases: money-off, dollar-off, tags: Currency, Banking -#define ICON_MD_CURRENT_AC "\xf3\xb1\x92\x80" // U+F1480 current-ac, aliases: alternating-current -#define ICON_MD_CURRENT_DC "\xf3\xb0\xa5\x9c" // U+F095C current-dc, aliases: direct-current, tags: Battery -#define ICON_MD_CURSOR_DEFAULT "\xf3\xb0\x87\x80" // U+F01C0 cursor-default -#define ICON_MD_CURSOR_DEFAULT_CLICK "\xf3\xb0\xb3\xbd" // U+F0CFD cursor-default-click -#define ICON_MD_CURSOR_DEFAULT_CLICK_OUTLINE "\xf3\xb0\xb3\xbe" // U+F0CFE cursor-default-click-outline -#define ICON_MD_CURSOR_DEFAULT_GESTURE "\xf3\xb1\x84\xa7" // U+F1127 cursor-default-gesture -#define ICON_MD_CURSOR_DEFAULT_GESTURE_OUTLINE "\xf3\xb1\x84\xa8" // U+F1128 cursor-default-gesture-outline -#define ICON_MD_CURSOR_DEFAULT_OUTLINE "\xf3\xb0\x86\xbf" // U+F01BF cursor-default-outline -#define ICON_MD_CURSOR_MOVE "\xf3\xb0\x86\xbe" // U+F01BE cursor-move -#define ICON_MD_CURSOR_POINTER "\xf3\xb0\x86\xbd" // U+F01BD cursor-pointer, aliases: cursor-hand -#define ICON_MD_CURSOR_TEXT "\xf3\xb0\x97\xa7" // U+F05E7 cursor-text -#define ICON_MD_CURTAINS "\xf3\xb1\xa1\x86" // U+F1846 curtains, aliases: drapes, window, tags: Home Automation -#define ICON_MD_CURTAINS_CLOSED "\xf3\xb1\xa1\x87" // U+F1847 curtains-closed, aliases: drapes-closed, window-closed, tags: Home Automation -#define ICON_MD_CYLINDER "\xf3\xb1\xa5\x8e" // U+F194E cylinder, tags: Shape -#define ICON_MD_CYLINDER_OFF "\xf3\xb1\xa5\x8f" // U+F194F cylinder-off, tags: Shape -#define ICON_MD_DANCE_BALLROOM "\xf3\xb1\x97\xbb" // U+F15FB dance-ballroom, aliases: human-dance-ballroom, tags: People / Family -#define ICON_MD_DANCE_POLE "\xf3\xb1\x95\xb8" // U+F1578 dance-pole, aliases: kho-kho, human-dance-pole, tags: Sport, People / Family -#define ICON_MD_DATA_MATRIX "\xf3\xb1\x94\xbc" // U+F153C data-matrix -#define ICON_MD_DATA_MATRIX_EDIT "\xf3\xb1\x94\xbd" // U+F153D data-matrix-edit, tags: Edit / Modify -#define ICON_MD_DATA_MATRIX_MINUS "\xf3\xb1\x94\xbe" // U+F153E data-matrix-minus -#define ICON_MD_DATA_MATRIX_PLUS "\xf3\xb1\x94\xbf" // U+F153F data-matrix-plus -#define ICON_MD_DATA_MATRIX_REMOVE "\xf3\xb1\x95\x80" // U+F1540 data-matrix-remove -#define ICON_MD_DATA_MATRIX_SCAN "\xf3\xb1\x95\x81" // U+F1541 data-matrix-scan -#define ICON_MD_DATABASE "\xf3\xb0\x86\xbc" // U+F01BC database, aliases: storage, tags: Geographic Information System, Database -#define ICON_MD_DATABASE_ALERT "\xf3\xb1\x98\xba" // U+F163A database-alert, tags: Database, Alert / Error -#define ICON_MD_DATABASE_ALERT_OUTLINE "\xf3\xb1\x98\xa4" // U+F1624 database-alert-outline, tags: Database, Alert / Error -#define ICON_MD_DATABASE_ARROW_DOWN "\xf3\xb1\x98\xbb" // U+F163B database-arrow-down, tags: Database -#define ICON_MD_DATABASE_ARROW_DOWN_OUTLINE "\xf3\xb1\x98\xa5" // U+F1625 database-arrow-down-outline, tags: Database -#define ICON_MD_DATABASE_ARROW_LEFT "\xf3\xb1\x98\xbc" // U+F163C database-arrow-left, tags: Database -#define ICON_MD_DATABASE_ARROW_LEFT_OUTLINE "\xf3\xb1\x98\xa6" // U+F1626 database-arrow-left-outline, tags: Database -#define ICON_MD_DATABASE_ARROW_RIGHT "\xf3\xb1\x98\xbd" // U+F163D database-arrow-right, tags: Database -#define ICON_MD_DATABASE_ARROW_RIGHT_OUTLINE "\xf3\xb1\x98\xa7" // U+F1627 database-arrow-right-outline, tags: Database -#define ICON_MD_DATABASE_ARROW_UP "\xf3\xb1\x98\xbe" // U+F163E database-arrow-up, tags: Database -#define ICON_MD_DATABASE_ARROW_UP_OUTLINE "\xf3\xb1\x98\xa8" // U+F1628 database-arrow-up-outline, tags: Database -#define ICON_MD_DATABASE_CHECK "\xf3\xb0\xaa\xa9" // U+F0AA9 database-check, aliases: database-tick, tags: Geographic Information System, Database -#define ICON_MD_DATABASE_CHECK_OUTLINE "\xf3\xb1\x98\xa9" // U+F1629 database-check-outline, tags: Database -#define ICON_MD_DATABASE_CLOCK "\xf3\xb1\x98\xbf" // U+F163F database-clock, tags: Database, Date / Time -#define ICON_MD_DATABASE_CLOCK_OUTLINE "\xf3\xb1\x98\xaa" // U+F162A database-clock-outline, tags: Database, Date / Time -#define ICON_MD_DATABASE_COG "\xf3\xb1\x99\x8b" // U+F164B database-cog, tags: Database -#define ICON_MD_DATABASE_COG_OUTLINE "\xf3\xb1\x99\x8c" // U+F164C database-cog-outline, tags: Database -#define ICON_MD_DATABASE_EDIT "\xf3\xb0\xae\x86" // U+F0B86 database-edit, tags: Edit / Modify, Geographic Information System, Database -#define ICON_MD_DATABASE_EDIT_OUTLINE "\xf3\xb1\x98\xab" // U+F162B database-edit-outline, tags: Database, Edit / Modify -#define ICON_MD_DATABASE_EXPORT "\xf3\xb0\xa5\x9e" // U+F095E database-export, tags: Geographic Information System, Database -#define ICON_MD_DATABASE_EXPORT_OUTLINE "\xf3\xb1\x98\xac" // U+F162C database-export-outline, tags: Database -#define ICON_MD_DATABASE_EYE "\xf3\xb1\xa4\x9f" // U+F191F database-eye, aliases: database-view, tags: Database -#define ICON_MD_DATABASE_EYE_OFF "\xf3\xb1\xa4\xa0" // U+F1920 database-eye-off, aliases: database-view-off, tags: Database -#define ICON_MD_DATABASE_EYE_OFF_OUTLINE "\xf3\xb1\xa4\xa1" // U+F1921 database-eye-off-outline, aliases: database-view-off-outline, tags: Database -#define ICON_MD_DATABASE_EYE_OUTLINE "\xf3\xb1\xa4\xa2" // U+F1922 database-eye-outline, aliases: database-view-outline, tags: Database -#define ICON_MD_DATABASE_IMPORT "\xf3\xb0\xa5\x9d" // U+F095D database-import, tags: Geographic Information System, Database -#define ICON_MD_DATABASE_IMPORT_OUTLINE "\xf3\xb1\x98\xad" // U+F162D database-import-outline, tags: Database -#define ICON_MD_DATABASE_LOCK "\xf3\xb0\xaa\xaa" // U+F0AAA database-lock, tags: Lock, Geographic Information System, Database -#define ICON_MD_DATABASE_LOCK_OUTLINE "\xf3\xb1\x98\xae" // U+F162E database-lock-outline, tags: Database, Lock -#define ICON_MD_DATABASE_MARKER "\xf3\xb1\x8b\xb6" // U+F12F6 database-marker, aliases: database-location, tags: Geographic Information System, Database, Navigation -#define ICON_MD_DATABASE_MARKER_OUTLINE "\xf3\xb1\x98\xaf" // U+F162F database-marker-outline, aliases: database-location-outline, tags: Database, Navigation -#define ICON_MD_DATABASE_MINUS "\xf3\xb0\x86\xbb" // U+F01BB database-minus, tags: Geographic Information System, Database -#define ICON_MD_DATABASE_MINUS_OUTLINE "\xf3\xb1\x98\xb0" // U+F1630 database-minus-outline, tags: Database -#define ICON_MD_DATABASE_OFF "\xf3\xb1\x99\x80" // U+F1640 database-off, tags: Database -#define ICON_MD_DATABASE_OFF_OUTLINE "\xf3\xb1\x98\xb1" // U+F1631 database-off-outline, tags: Database -#define ICON_MD_DATABASE_OUTLINE "\xf3\xb1\x98\xb2" // U+F1632 database-outline, tags: Database -#define ICON_MD_DATABASE_PLUS "\xf3\xb0\x86\xba" // U+F01BA database-plus, aliases: database-add, tags: Geographic Information System, Database -#define ICON_MD_DATABASE_PLUS_OUTLINE "\xf3\xb1\x98\xb3" // U+F1633 database-plus-outline, tags: Database -#define ICON_MD_DATABASE_REFRESH "\xf3\xb0\x97\x82" // U+F05C2 database-refresh, tags: Database -#define ICON_MD_DATABASE_REFRESH_OUTLINE "\xf3\xb1\x98\xb4" // U+F1634 database-refresh-outline, tags: Database -#define ICON_MD_DATABASE_REMOVE "\xf3\xb0\xb4\x80" // U+F0D00 database-remove, tags: Geographic Information System, Database -#define ICON_MD_DATABASE_REMOVE_OUTLINE "\xf3\xb1\x98\xb5" // U+F1635 database-remove-outline, tags: Database -#define ICON_MD_DATABASE_SEARCH "\xf3\xb0\xa1\xa6" // U+F0866 database-search, aliases: sql-query, tags: Geographic Information System, Database -#define ICON_MD_DATABASE_SEARCH_OUTLINE "\xf3\xb1\x98\xb6" // U+F1636 database-search-outline, tags: Database -#define ICON_MD_DATABASE_SETTINGS "\xf3\xb0\xb4\x81" // U+F0D01 database-settings, tags: Settings, Geographic Information System, Database -#define ICON_MD_DATABASE_SETTINGS_OUTLINE "\xf3\xb1\x98\xb7" // U+F1637 database-settings-outline, tags: Database, Settings -#define ICON_MD_DATABASE_SYNC "\xf3\xb0\xb3\xbf" // U+F0CFF database-sync, tags: Geographic Information System, Database -#define ICON_MD_DATABASE_SYNC_OUTLINE "\xf3\xb1\x98\xb8" // U+F1638 database-sync-outline, tags: Database -#define ICON_MD_DEATH_STAR "\xf3\xb0\xa3\x98" // U+F08D8 death-star -#define ICON_MD_DEATH_STAR_VARIANT "\xf3\xb0\xa3\x99" // U+F08D9 death-star-variant -#define ICON_MD_DEATHLY_HALLOWS "\xf3\xb0\xae\x87" // U+F0B87 deathly-hallows, aliases: harry-potter -#define ICON_MD_DEBIAN "\xf3\xb0\xa3\x9a" // U+F08DA debian, tags: Brand / Logo -#define ICON_MD_DEBUG_STEP_INTO "\xf3\xb0\x86\xb9" // U+F01B9 debug-step-into -#define ICON_MD_DEBUG_STEP_OUT "\xf3\xb0\x86\xb8" // U+F01B8 debug-step-out -#define ICON_MD_DEBUG_STEP_OVER "\xf3\xb0\x86\xb7" // U+F01B7 debug-step-over, aliases: skip, jump -#define ICON_MD_DECAGRAM "\xf3\xb0\x9d\xac" // U+F076C decagram, aliases: starburst, tags: Shape -#define ICON_MD_DECAGRAM_OUTLINE "\xf3\xb0\x9d\xad" // U+F076D decagram-outline, aliases: starburst-outline, tags: Shape -#define ICON_MD_DECIMAL "\xf3\xb1\x82\xa1" // U+F10A1 decimal, tags: Math -#define ICON_MD_DECIMAL_COMMA "\xf3\xb1\x82\xa2" // U+F10A2 decimal-comma, tags: Math -#define ICON_MD_DECIMAL_COMMA_DECREASE "\xf3\xb1\x82\xa3" // U+F10A3 decimal-comma-decrease, tags: Math -#define ICON_MD_DECIMAL_COMMA_INCREASE "\xf3\xb1\x82\xa4" // U+F10A4 decimal-comma-increase, tags: Math -#define ICON_MD_DECIMAL_DECREASE "\xf3\xb0\x86\xb6" // U+F01B6 decimal-decrease, tags: Math -#define ICON_MD_DECIMAL_INCREASE "\xf3\xb0\x86\xb5" // U+F01B5 decimal-increase, tags: Math -#define ICON_MD_DELETE "\xf3\xb0\x86\xb4" // U+F01B4 delete, aliases: trash, bin, rubbish, garbage, rubbish-bin, trash-can, garbage-can -#define ICON_MD_DELETE_ALERT "\xf3\xb1\x82\xa5" // U+F10A5 delete-alert, tags: Alert / Error -#define ICON_MD_DELETE_ALERT_OUTLINE "\xf3\xb1\x82\xa6" // U+F10A6 delete-alert-outline, tags: Alert / Error -#define ICON_MD_DELETE_CIRCLE "\xf3\xb0\x9a\x83" // U+F0683 delete-circle, aliases: trash-circle, bin-circle, garbage-can-circle, garbage-circle, rubbish-bin-circle, rubbish-circle, trash-can-circle -#define ICON_MD_DELETE_CIRCLE_OUTLINE "\xf3\xb0\xae\x88" // U+F0B88 delete-circle-outline, aliases: bin-circle-outline, garbage-can-circle-outline, garbage-circle-outline, rubbish-bin-circle-outline, rubbish-circle-outline, trash-can-circle-outline, trash-circle-outline -#define ICON_MD_DELETE_CLOCK "\xf3\xb1\x95\x96" // U+F1556 delete-clock, tags: Date / Time -#define ICON_MD_DELETE_CLOCK_OUTLINE "\xf3\xb1\x95\x97" // U+F1557 delete-clock-outline, tags: Date / Time -#define ICON_MD_DELETE_EMPTY "\xf3\xb0\x9b\x8c" // U+F06CC delete-empty, aliases: trash-empty, bin-empty, rubbish-empty, rubbish-bin-empty, trash-can-empty, garbage-empty, garbage-can-empty -#define ICON_MD_DELETE_EMPTY_OUTLINE "\xf3\xb0\xba\x9d" // U+F0E9D delete-empty-outline -#define ICON_MD_DELETE_FOREVER "\xf3\xb0\x97\xa8" // U+F05E8 delete-forever -#define ICON_MD_DELETE_FOREVER_OUTLINE "\xf3\xb0\xae\x89" // U+F0B89 delete-forever-outline -#define ICON_MD_DELETE_OFF "\xf3\xb1\x82\xa7" // U+F10A7 delete-off -#define ICON_MD_DELETE_OFF_OUTLINE "\xf3\xb1\x82\xa8" // U+F10A8 delete-off-outline -#define ICON_MD_DELETE_OUTLINE "\xf3\xb0\xa7\xa7" // U+F09E7 delete-outline, aliases: garbage-outline, bin-outline, rubbish-outline, garbage-can-outline, rubbish-bin-outline, trash-outline, trash-can-outline -#define ICON_MD_DELETE_RESTORE "\xf3\xb0\xa0\x99" // U+F0819 delete-restore, aliases: trash-restore, bin-restore, restore-from-trash -#define ICON_MD_DELETE_SWEEP "\xf3\xb0\x97\xa9" // U+F05E9 delete-sweep -#define ICON_MD_DELETE_SWEEP_OUTLINE "\xf3\xb0\xb1\xa2" // U+F0C62 delete-sweep-outline -#define ICON_MD_DELETE_VARIANT "\xf3\xb0\x86\xb3" // U+F01B3 delete-variant, aliases: trash-variant, bin-variant, cup-ice, drink-ice -#define ICON_MD_DELTA "\xf3\xb0\x87\x82" // U+F01C2 delta, aliases: change-history, tags: Math, Alpha / Numeric -#define ICON_MD_DESK "\xf3\xb1\x88\xb9" // U+F1239 desk -#define ICON_MD_DESK_LAMP "\xf3\xb0\xa5\x9f" // U+F095F desk-lamp, tags: Home Automation -#define ICON_MD_DESK_LAMP_OFF "\xf3\xb1\xac\x9f" // U+F1B1F desk-lamp-off, tags: Home Automation -#define ICON_MD_DESK_LAMP_ON "\xf3\xb1\xac\xa0" // U+F1B20 desk-lamp-on, tags: Home Automation -#define ICON_MD_DESKPHONE "\xf3\xb0\x87\x83" // U+F01C3 deskphone, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_DESKTOP_CLASSIC "\xf3\xb0\x9f\x80" // U+F07C0 desktop-classic, aliases: computer-classic, tags: Device / Tech, Home Automation -#define ICON_MD_DESKTOP_TOWER "\xf3\xb0\x87\x85" // U+F01C5 desktop-tower, tags: Device / Tech, Home Automation -#define ICON_MD_DESKTOP_TOWER_MONITOR "\xf3\xb0\xaa\xab" // U+F0AAB desktop-tower-monitor, tags: Device / Tech -#define ICON_MD_DETAILS "\xf3\xb0\x87\x86" // U+F01C6 details -#define ICON_MD_DEV_TO "\xf3\xb0\xb5\xae" // U+F0D6E dev-to, tags: Brand / Logo -#define ICON_MD_DEVELOPER_BOARD "\xf3\xb0\x9a\x97" // U+F0697 developer-board -#define ICON_MD_DEVIANTART "\xf3\xb0\x87\x87" // U+F01C7 deviantart, tags: Brand / Logo -#define ICON_MD_DEVICES "\xf3\xb0\xbe\xb0" // U+F0FB0 devices, aliases: monitor, watch, smartwatch, smartphone, cellphone, television, tags: Device / Tech, Home Automation -#define ICON_MD_DHARMACHAKRA "\xf3\xb0\xa5\x8b" // U+F094B dharmachakra, aliases: dharma-wheel, religion-buddhist, buddhism, tags: Religion -#define ICON_MD_DIABETES "\xf3\xb1\x84\xa6" // U+F1126 diabetes, aliases: hand-blood, tags: Medical / Hospital -#define ICON_MD_DIALPAD "\xf3\xb0\x98\x9c" // U+F061C dialpad, aliases: keypad -#define ICON_MD_DIAMETER "\xf3\xb0\xb1\xa3" // U+F0C63 diameter, aliases: circle-diameter, sphere-diameter, tags: Math -#define ICON_MD_DIAMETER_OUTLINE "\xf3\xb0\xb1\xa4" // U+F0C64 diameter-outline, aliases: circle-diameter-outline, sphere-diameter-outline, tags: Math -#define ICON_MD_DIAMETER_VARIANT "\xf3\xb0\xb1\xa5" // U+F0C65 diameter-variant, aliases: circle-diameter-variant, sphere-diameter-variant, tags: Math -#define ICON_MD_DIAMOND "\xf3\xb0\xae\x8a" // U+F0B8A diamond -#define ICON_MD_DIAMOND_OUTLINE "\xf3\xb0\xae\x8b" // U+F0B8B diamond-outline -#define ICON_MD_DIAMOND_STONE "\xf3\xb0\x87\x88" // U+F01C8 diamond-stone, aliases: jewel -#define ICON_MD_DICE_1 "\xf3\xb0\x87\x8a" // U+F01CA dice-1, aliases: die-1, dice-one, tags: Gaming / RPG -#define ICON_MD_DICE_1_OUTLINE "\xf3\xb1\x85\x8a" // U+F114A dice-1-outline, tags: Gaming / RPG -#define ICON_MD_DICE_2 "\xf3\xb0\x87\x8b" // U+F01CB dice-2, aliases: die-2, dice-two, tags: Gaming / RPG -#define ICON_MD_DICE_2_OUTLINE "\xf3\xb1\x85\x8b" // U+F114B dice-2-outline, tags: Gaming / RPG -#define ICON_MD_DICE_3 "\xf3\xb0\x87\x8c" // U+F01CC dice-3, aliases: die-3, dice-three, tags: Gaming / RPG -#define ICON_MD_DICE_3_OUTLINE "\xf3\xb1\x85\x8c" // U+F114C dice-3-outline, tags: Gaming / RPG -#define ICON_MD_DICE_4 "\xf3\xb0\x87\x8d" // U+F01CD dice-4, aliases: die-4, dice-four, tags: Gaming / RPG -#define ICON_MD_DICE_4_OUTLINE "\xf3\xb1\x85\x8d" // U+F114D dice-4-outline, tags: Gaming / RPG -#define ICON_MD_DICE_5 "\xf3\xb0\x87\x8e" // U+F01CE dice-5, aliases: die-5, dice-five, tags: Gaming / RPG -#define ICON_MD_DICE_5_OUTLINE "\xf3\xb1\x85\x8e" // U+F114E dice-5-outline, tags: Gaming / RPG -#define ICON_MD_DICE_6 "\xf3\xb0\x87\x8f" // U+F01CF dice-6, aliases: die-6, dice-six, tags: Gaming / RPG -#define ICON_MD_DICE_6_OUTLINE "\xf3\xb1\x85\x8f" // U+F114F dice-6-outline, tags: Gaming / RPG -#define ICON_MD_DICE_D10 "\xf3\xb1\x85\x93" // U+F1153 dice-d10, tags: Gaming / RPG -#define ICON_MD_DICE_D10_OUTLINE "\xf3\xb0\x9d\xaf" // U+F076F dice-d10-outline, aliases: die-d10, tags: Gaming / RPG -#define ICON_MD_DICE_D12 "\xf3\xb1\x85\x94" // U+F1154 dice-d12, tags: Gaming / RPG -#define ICON_MD_DICE_D12_OUTLINE "\xf3\xb0\xa1\xa7" // U+F0867 dice-d12-outline, tags: Gaming / RPG -#define ICON_MD_DICE_D20 "\xf3\xb1\x85\x95" // U+F1155 dice-d20, tags: Gaming / RPG -#define ICON_MD_DICE_D20_OUTLINE "\xf3\xb0\x97\xaa" // U+F05EA dice-d20-outline, aliases: die-d20, tags: Gaming / RPG -#define ICON_MD_DICE_D4 "\xf3\xb1\x85\x90" // U+F1150 dice-d4, tags: Gaming / RPG -#define ICON_MD_DICE_D4_OUTLINE "\xf3\xb0\x97\xab" // U+F05EB dice-d4-outline, aliases: die-d4, tags: Gaming / RPG -#define ICON_MD_DICE_D6 "\xf3\xb1\x85\x91" // U+F1151 dice-d6, tags: Gaming / RPG -#define ICON_MD_DICE_D6_OUTLINE "\xf3\xb0\x97\xad" // U+F05ED dice-d6-outline, aliases: die-d6, tags: Gaming / RPG -#define ICON_MD_DICE_D8 "\xf3\xb1\x85\x92" // U+F1152 dice-d8, tags: Gaming / RPG -#define ICON_MD_DICE_D8_OUTLINE "\xf3\xb0\x97\xac" // U+F05EC dice-d8-outline, aliases: die-d8, tags: Gaming / RPG -#define ICON_MD_DICE_MULTIPLE "\xf3\xb0\x9d\xae" // U+F076E dice-multiple, aliases: die-multiple, tags: Gaming / RPG -#define ICON_MD_DICE_MULTIPLE_OUTLINE "\xf3\xb1\x85\x96" // U+F1156 dice-multiple-outline, tags: Gaming / RPG -#define ICON_MD_DIGITAL_OCEAN "\xf3\xb1\x88\xb7" // U+F1237 digital-ocean, tags: Developer / Languages, Brand / Logo -#define ICON_MD_DIP_SWITCH "\xf3\xb0\x9f\x81" // U+F07C1 dip-switch -#define ICON_MD_DIRECTIONS "\xf3\xb0\x87\x90" // U+F01D0 directions -#define ICON_MD_DIRECTIONS_FORK "\xf3\xb0\x99\x81" // U+F0641 directions-fork -#define ICON_MD_DISC "\xf3\xb0\x97\xae" // U+F05EE disc, aliases: cd-rom, dvd, tags: Music -#define ICON_MD_DISC_ALERT "\xf3\xb0\x87\x91" // U+F01D1 disc-alert, aliases: disc-full, disc-warning, tags: Alert / Error -#define ICON_MD_DISC_PLAYER "\xf3\xb0\xa5\xa0" // U+F0960 disc-player, tags: Home Automation, Device / Tech -#define ICON_MD_DISHWASHER "\xf3\xb0\xaa\xac" // U+F0AAC dishwasher, tags: Home Automation -#define ICON_MD_DISHWASHER_ALERT "\xf3\xb1\x86\xb8" // U+F11B8 dishwasher-alert, tags: Home Automation, Alert / Error -#define ICON_MD_DISHWASHER_OFF "\xf3\xb1\x86\xb9" // U+F11B9 dishwasher-off, tags: Home Automation -#define ICON_MD_DISQUS "\xf3\xb0\x87\x92" // U+F01D2 disqus, tags: Brand / Logo -#define ICON_MD_DISTRIBUTE_HORIZONTAL_CENTER "\xf3\xb1\x87\x89" // U+F11C9 distribute-horizontal-center -#define ICON_MD_DISTRIBUTE_HORIZONTAL_LEFT "\xf3\xb1\x87\x88" // U+F11C8 distribute-horizontal-left -#define ICON_MD_DISTRIBUTE_HORIZONTAL_RIGHT "\xf3\xb1\x87\x8a" // U+F11CA distribute-horizontal-right -#define ICON_MD_DISTRIBUTE_VERTICAL_BOTTOM "\xf3\xb1\x87\x8b" // U+F11CB distribute-vertical-bottom -#define ICON_MD_DISTRIBUTE_VERTICAL_CENTER "\xf3\xb1\x87\x8c" // U+F11CC distribute-vertical-center -#define ICON_MD_DISTRIBUTE_VERTICAL_TOP "\xf3\xb1\x87\x8d" // U+F11CD distribute-vertical-top -#define ICON_MD_DIVERSIFY "\xf3\xb1\xa1\xb7" // U+F1877 diversify -#define ICON_MD_DIVING "\xf3\xb1\xa5\xb7" // U+F1977 diving, aliases: swim-dive, human-diving, tags: Sport, People / Family -#define ICON_MD_DIVING_FLIPPERS "\xf3\xb0\xb6\xbf" // U+F0DBF diving-flippers, tags: Sport -#define ICON_MD_DIVING_HELMET "\xf3\xb0\xb7\x80" // U+F0DC0 diving-helmet -#define ICON_MD_DIVING_SCUBA "\xf3\xb1\xad\xb7" // U+F1B77 diving-scuba, tags: Sport -#define ICON_MD_DIVING_SCUBA_FLAG "\xf3\xb0\xb7\x82" // U+F0DC2 diving-scuba-flag -#define ICON_MD_DIVING_SCUBA_MASK "\xf3\xb0\xb7\x81" // U+F0DC1 diving-scuba-mask, tags: Sport -#define ICON_MD_DIVING_SCUBA_TANK "\xf3\xb0\xb7\x83" // U+F0DC3 diving-scuba-tank -#define ICON_MD_DIVING_SCUBA_TANK_MULTIPLE "\xf3\xb0\xb7\x84" // U+F0DC4 diving-scuba-tank-multiple -#define ICON_MD_DIVING_SNORKEL "\xf3\xb0\xb7\x85" // U+F0DC5 diving-snorkel, tags: Sport -#define ICON_MD_DIVISION "\xf3\xb0\x87\x94" // U+F01D4 division, aliases: obelus, tags: Math -#define ICON_MD_DIVISION_BOX "\xf3\xb0\x87\x95" // U+F01D5 division-box, tags: Math -#define ICON_MD_DLNA "\xf3\xb0\xa9\x81" // U+F0A41 dlna, tags: Brand / Logo -#define ICON_MD_DNA "\xf3\xb0\x9a\x84" // U+F0684 dna, aliases: helix, tags: Science -#define ICON_MD_DNS "\xf3\xb0\x87\x96" // U+F01D6 dns -#define ICON_MD_DNS_OUTLINE "\xf3\xb0\xae\x8c" // U+F0B8C dns-outline -#define ICON_MD_DOCK_BOTTOM "\xf3\xb1\x82\xa9" // U+F10A9 dock-bottom -#define ICON_MD_DOCK_LEFT "\xf3\xb1\x82\xaa" // U+F10AA dock-left -#define ICON_MD_DOCK_RIGHT "\xf3\xb1\x82\xab" // U+F10AB dock-right -#define ICON_MD_DOCK_TOP "\xf3\xb1\x94\x93" // U+F1513 dock-top -#define ICON_MD_DOCK_WINDOW "\xf3\xb1\x82\xac" // U+F10AC dock-window -#define ICON_MD_DOCKER "\xf3\xb0\xa1\xa8" // U+F0868 docker, tags: Brand / Logo -#define ICON_MD_DOCTOR "\xf3\xb0\xa9\x82" // U+F0A42 doctor, tags: Medical / Hospital -#define ICON_MD_DOG "\xf3\xb0\xa9\x83" // U+F0A43 dog, aliases: emoji-dog, emoticon-dog, tags: Animal -#define ICON_MD_DOG_SERVICE "\xf3\xb0\xaa\xad" // U+F0AAD dog-service, aliases: guide-dog, k9, canine, tags: Animal -#define ICON_MD_DOG_SIDE "\xf3\xb0\xa9\x84" // U+F0A44 dog-side, aliases: k9, canine, tags: Animal -#define ICON_MD_DOG_SIDE_OFF "\xf3\xb1\x9b\xae" // U+F16EE dog-side-off, tags: Animal -#define ICON_MD_DOLBY "\xf3\xb0\x9a\xb3" // U+F06B3 dolby, tags: Audio, Brand / Logo, Home Automation -#define ICON_MD_DOLLY "\xf3\xb0\xba\x9e" // U+F0E9E dolly, aliases: hand-truck, trolley -#define ICON_MD_DOLPHIN "\xf3\xb1\xa2\xb4" // U+F18B4 dolphin, aliases: porpoise, tags: Animal -#define ICON_MD_DOMAIN "\xf3\xb0\x87\x97" // U+F01D7 domain, aliases: building, company, business, tags: Places -#define ICON_MD_DOMAIN_OFF "\xf3\xb0\xb5\xaf" // U+F0D6F domain-off -#define ICON_MD_DOMAIN_PLUS "\xf3\xb1\x82\xad" // U+F10AD domain-plus -#define ICON_MD_DOMAIN_REMOVE "\xf3\xb1\x82\xae" // U+F10AE domain-remove -#define ICON_MD_DOME_LIGHT "\xf3\xb1\x90\x9e" // U+F141E dome-light -#define ICON_MD_DOMINO_MASK "\xf3\xb1\x80\xa3" // U+F1023 domino-mask, aliases: robber-mask, zorro-mask -#define ICON_MD_DONKEY "\xf3\xb0\x9f\x82" // U+F07C2 donkey, tags: Animal -#define ICON_MD_DOOR "\xf3\xb0\xa0\x9a" // U+F081A door, tags: Home Automation -#define ICON_MD_DOOR_CLOSED "\xf3\xb0\xa0\x9b" // U+F081B door-closed, tags: Home Automation -#define ICON_MD_DOOR_CLOSED_LOCK "\xf3\xb1\x82\xaf" // U+F10AF door-closed-lock, tags: Home Automation, Lock -#define ICON_MD_DOOR_OPEN "\xf3\xb0\xa0\x9c" // U+F081C door-open, tags: Home Automation -#define ICON_MD_DOOR_SLIDING "\xf3\xb1\xa0\x9e" // U+F181E door-sliding, aliases: patio-door, french-door, tags: Home Automation -#define ICON_MD_DOOR_SLIDING_LOCK "\xf3\xb1\xa0\x9f" // U+F181F door-sliding-lock, aliases: patio-door-lock, french-door-lock, tags: Home Automation, Lock -#define ICON_MD_DOOR_SLIDING_OPEN "\xf3\xb1\xa0\xa0" // U+F1820 door-sliding-open, aliases: patio-door-open, french-door-open, tags: Home Automation -#define ICON_MD_DOORBELL "\xf3\xb1\x8b\xa6" // U+F12E6 doorbell, tags: Home Automation -#define ICON_MD_DOORBELL_VIDEO "\xf3\xb0\xa1\xa9" // U+F0869 doorbell-video, tags: Home Automation -#define ICON_MD_DOT_NET "\xf3\xb0\xaa\xae" // U+F0AAE dot-net, aliases: microsoft-dot-net, tags: Developer / Languages, Brand / Logo -#define ICON_MD_DOTS_CIRCLE "\xf3\xb1\xa5\xb8" // U+F1978 dots-circle, aliases: perimeter -#define ICON_MD_DOTS_GRID "\xf3\xb1\x97\xbc" // U+F15FC dots-grid -#define ICON_MD_DOTS_HEXAGON "\xf3\xb1\x97\xbf" // U+F15FF dots-hexagon -#define ICON_MD_DOTS_HORIZONTAL "\xf3\xb0\x87\x98" // U+F01D8 dots-horizontal, aliases: more, ellipsis-horizontal, more-horiz, menu -#define ICON_MD_DOTS_HORIZONTAL_CIRCLE "\xf3\xb0\x9f\x83" // U+F07C3 dots-horizontal-circle, aliases: ellipsis-horizontal-circle, more-circle, menu -#define ICON_MD_DOTS_HORIZONTAL_CIRCLE_OUTLINE "\xf3\xb0\xae\x8d" // U+F0B8D dots-horizontal-circle-outline, aliases: ellipsis-horizontal-circle-outline, more-circle-outline, menu -#define ICON_MD_DOTS_SQUARE "\xf3\xb1\x97\xbd" // U+F15FD dots-square, aliases: perimeter -#define ICON_MD_DOTS_TRIANGLE "\xf3\xb1\x97\xbe" // U+F15FE dots-triangle -#define ICON_MD_DOTS_VERTICAL "\xf3\xb0\x87\x99" // U+F01D9 dots-vertical, aliases: ellipsis-vertical, more-vert, menu -#define ICON_MD_DOTS_VERTICAL_CIRCLE "\xf3\xb0\x9f\x84" // U+F07C4 dots-vertical-circle, aliases: ellipsis-vertical-circle, menu -#define ICON_MD_DOTS_VERTICAL_CIRCLE_OUTLINE "\xf3\xb0\xae\x8e" // U+F0B8E dots-vertical-circle-outline, aliases: ellipsis-vertical-circle-outline, menu -#define ICON_MD_DOWNLOAD "\xf3\xb0\x87\x9a" // U+F01DA download, aliases: file-download, get-app -#define ICON_MD_DOWNLOAD_BOX "\xf3\xb1\x91\xa2" // U+F1462 download-box -#define ICON_MD_DOWNLOAD_BOX_OUTLINE "\xf3\xb1\x91\xa3" // U+F1463 download-box-outline -#define ICON_MD_DOWNLOAD_CIRCLE "\xf3\xb1\x91\xa4" // U+F1464 download-circle -#define ICON_MD_DOWNLOAD_CIRCLE_OUTLINE "\xf3\xb1\x91\xa5" // U+F1465 download-circle-outline -#define ICON_MD_DOWNLOAD_LOCK "\xf3\xb1\x8c\xa0" // U+F1320 download-lock, tags: Lock -#define ICON_MD_DOWNLOAD_LOCK_OUTLINE "\xf3\xb1\x8c\xa1" // U+F1321 download-lock-outline, tags: Lock -#define ICON_MD_DOWNLOAD_MULTIPLE "\xf3\xb0\xa7\xa9" // U+F09E9 download-multiple, aliases: downloads -#define ICON_MD_DOWNLOAD_NETWORK "\xf3\xb0\x9b\xb4" // U+F06F4 download-network -#define ICON_MD_DOWNLOAD_NETWORK_OUTLINE "\xf3\xb0\xb1\xa6" // U+F0C66 download-network-outline -#define ICON_MD_DOWNLOAD_OFF "\xf3\xb1\x82\xb0" // U+F10B0 download-off -#define ICON_MD_DOWNLOAD_OFF_OUTLINE "\xf3\xb1\x82\xb1" // U+F10B1 download-off-outline -#define ICON_MD_DOWNLOAD_OUTLINE "\xf3\xb0\xae\x8f" // U+F0B8F download-outline -#define ICON_MD_DRAG "\xf3\xb0\x87\x9b" // U+F01DB drag -#define ICON_MD_DRAG_HORIZONTAL "\xf3\xb0\x87\x9c" // U+F01DC drag-horizontal -#define ICON_MD_DRAG_HORIZONTAL_VARIANT "\xf3\xb1\x8b\xb0" // U+F12F0 drag-horizontal-variant -#define ICON_MD_DRAG_VARIANT "\xf3\xb0\xae\x90" // U+F0B90 drag-variant -#define ICON_MD_DRAG_VERTICAL "\xf3\xb0\x87\x9d" // U+F01DD drag-vertical -#define ICON_MD_DRAG_VERTICAL_VARIANT "\xf3\xb1\x8b\xb1" // U+F12F1 drag-vertical-variant -#define ICON_MD_DRAMA_MASKS "\xf3\xb0\xb4\x82" // U+F0D02 drama-masks, aliases: comedy, tragedy, theatre -#define ICON_MD_DRAW "\xf3\xb0\xbd\x89" // U+F0F49 draw, aliases: sign, signature, tags: Drawing / Art, Form -#define ICON_MD_DRAW_PEN "\xf3\xb1\xa6\xb9" // U+F19B9 draw-pen, aliases: sign, signature, tags: Form, Drawing / Art -#define ICON_MD_DRAWING "\xf3\xb0\x87\x9e" // U+F01DE drawing, tags: Drawing / Art, Shape -#define ICON_MD_DRAWING_BOX "\xf3\xb0\x87\x9f" // U+F01DF drawing-box, tags: Drawing / Art, Shape -#define ICON_MD_DRESSER "\xf3\xb0\xbd\x8a" // U+F0F4A dresser, tags: Home Automation -#define ICON_MD_DRESSER_OUTLINE "\xf3\xb0\xbd\x8b" // U+F0F4B dresser-outline, tags: Home Automation -#define ICON_MD_DRONE "\xf3\xb0\x87\xa2" // U+F01E2 drone, tags: Transportation + Flying -#define ICON_MD_DROPBOX "\xf3\xb0\x87\xa3" // U+F01E3 dropbox, tags: Brand / Logo -#define ICON_MD_DRUPAL "\xf3\xb0\x87\xa4" // U+F01E4 drupal, tags: Brand / Logo -#define ICON_MD_DUCK "\xf3\xb0\x87\xa5" // U+F01E5 duck, tags: Animal -#define ICON_MD_DUMBBELL "\xf3\xb0\x87\xa6" // U+F01E6 dumbbell, aliases: weights, fitness-center, gym, barbell, tags: Sport -#define ICON_MD_DUMP_TRUCK "\xf3\xb0\xb1\xa7" // U+F0C67 dump-truck, aliases: tipper-lorry, tags: Transportation + Road, Hardware / Tools -#define ICON_MD_EAR_HEARING "\xf3\xb0\x9f\x85" // U+F07C5 ear-hearing, tags: Medical / Hospital -#define ICON_MD_EAR_HEARING_LOOP "\xf3\xb1\xab\xae" // U+F1AEE ear-hearing-loop, aliases: audio-induction-loop, telecoil, tags: Medical / Hospital -#define ICON_MD_EAR_HEARING_OFF "\xf3\xb0\xa9\x85" // U+F0A45 ear-hearing-off, aliases: hearing-impaired, tags: Medical / Hospital -#define ICON_MD_EARBUDS "\xf3\xb1\xa1\x8f" // U+F184F earbuds, aliases: headphones, tags: Audio, Music -#define ICON_MD_EARBUDS_OFF "\xf3\xb1\xa1\x90" // U+F1850 earbuds-off, aliases: headphones-off, tags: Audio, Music -#define ICON_MD_EARBUDS_OFF_OUTLINE "\xf3\xb1\xa1\x91" // U+F1851 earbuds-off-outline, aliases: headphones-off-outline, tags: Audio, Music -#define ICON_MD_EARBUDS_OUTLINE "\xf3\xb1\xa1\x92" // U+F1852 earbuds-outline, aliases: headphones-outline, tags: Audio, Music -#define ICON_MD_EARTH "\xf3\xb0\x87\xa7" // U+F01E7 earth, aliases: globe, public, planet, world, tags: Geographic Information System, Navigation -#define ICON_MD_EARTH_ARROW_RIGHT "\xf3\xb1\x8c\x91" // U+F1311 earth-arrow-right, aliases: globe-arrow-right, world-arrow-right, planet-arrow-right, tags: Navigation -#define ICON_MD_EARTH_BOX "\xf3\xb0\x9b\x8d" // U+F06CD earth-box, aliases: globe-box, world-box, planet-box, tags: Navigation -#define ICON_MD_EARTH_BOX_MINUS "\xf3\xb1\x90\x87" // U+F1407 earth-box-minus, aliases: globe-box-minus, world-box-minus, planet-box-minus, tags: Navigation -#define ICON_MD_EARTH_BOX_OFF "\xf3\xb0\x9b\x8e" // U+F06CE earth-box-off, aliases: globe-box-off, world-box-off, planet-box-off, tags: Navigation -#define ICON_MD_EARTH_BOX_PLUS "\xf3\xb1\x90\x86" // U+F1406 earth-box-plus, aliases: globe-box-plus, world-box-plus, planet-box-plus, tags: Navigation -#define ICON_MD_EARTH_BOX_REMOVE "\xf3\xb1\x90\x88" // U+F1408 earth-box-remove, aliases: globe-box-remove, world-box-remove, planet-box-remove, tags: Navigation -#define ICON_MD_EARTH_MINUS "\xf3\xb1\x90\x84" // U+F1404 earth-minus, aliases: globe-minus, world-minus, planet-minus, tags: Navigation -#define ICON_MD_EARTH_OFF "\xf3\xb0\x87\xa8" // U+F01E8 earth-off, aliases: globe-off, world-off, planet-off, tags: Geographic Information System, Navigation -#define ICON_MD_EARTH_PLUS "\xf3\xb1\x90\x83" // U+F1403 earth-plus, aliases: globe-plus, world-plus, planet-plus, tags: Navigation -#define ICON_MD_EARTH_REMOVE "\xf3\xb1\x90\x85" // U+F1405 earth-remove, aliases: globe-remove, world-remove, planet-remove, tags: Navigation -#define ICON_MD_EGG "\xf3\xb0\xaa\xaf" // U+F0AAF egg, tags: Food / Drink, Agriculture -#define ICON_MD_EGG_EASTER "\xf3\xb0\xaa\xb0" // U+F0AB0 egg-easter, tags: Holiday -#define ICON_MD_EGG_FRIED "\xf3\xb1\xa1\x8a" // U+F184A egg-fried, tags: Food / Drink -#define ICON_MD_EGG_OFF "\xf3\xb1\x8f\xb0" // U+F13F0 egg-off, tags: Food / Drink, Agriculture -#define ICON_MD_EGG_OFF_OUTLINE "\xf3\xb1\x8f\xb1" // U+F13F1 egg-off-outline, tags: Food / Drink, Agriculture -#define ICON_MD_EGG_OUTLINE "\xf3\xb1\x8f\xb2" // U+F13F2 egg-outline, tags: Food / Drink, Agriculture -#define ICON_MD_EIFFEL_TOWER "\xf3\xb1\x95\xab" // U+F156B eiffel-tower, aliases: paris, france, tags: Places -#define ICON_MD_EIGHT_TRACK "\xf3\xb0\xa7\xaa" // U+F09EA eight-track, aliases: 8-track, tags: Music -#define ICON_MD_EJECT "\xf3\xb0\x87\xaa" // U+F01EA eject -#define ICON_MD_EJECT_CIRCLE "\xf3\xb1\xac\xa3" // U+F1B23 eject-circle -#define ICON_MD_EJECT_CIRCLE_OUTLINE "\xf3\xb1\xac\xa4" // U+F1B24 eject-circle-outline -#define ICON_MD_EJECT_OUTLINE "\xf3\xb0\xae\x91" // U+F0B91 eject-outline -#define ICON_MD_ELECTRIC_SWITCH "\xf3\xb0\xba\x9f" // U+F0E9F electric-switch -#define ICON_MD_ELECTRIC_SWITCH_CLOSED "\xf3\xb1\x83\x99" // U+F10D9 electric-switch-closed -#define ICON_MD_ELECTRON_FRAMEWORK "\xf3\xb1\x80\xa4" // U+F1024 electron-framework, tags: Brand / Logo, Developer / Languages -#define ICON_MD_ELEPHANT "\xf3\xb0\x9f\x86" // U+F07C6 elephant, tags: Animal -#define ICON_MD_ELEVATION_DECLINE "\xf3\xb0\x87\xab" // U+F01EB elevation-decline -#define ICON_MD_ELEVATION_RISE "\xf3\xb0\x87\xac" // U+F01EC elevation-rise -#define ICON_MD_ELEVATOR "\xf3\xb0\x87\xad" // U+F01ED elevator, tags: Transportation + Other -#define ICON_MD_ELEVATOR_DOWN "\xf3\xb1\x8b\x82" // U+F12C2 elevator-down, tags: Transportation + Other -#define ICON_MD_ELEVATOR_PASSENGER "\xf3\xb1\x8e\x81" // U+F1381 elevator-passenger, tags: Transportation + Other -#define ICON_MD_ELEVATOR_PASSENGER_OFF "\xf3\xb1\xa5\xb9" // U+F1979 elevator-passenger-off, tags: Transportation + Other -#define ICON_MD_ELEVATOR_PASSENGER_OFF_OUTLINE "\xf3\xb1\xa5\xba" // U+F197A elevator-passenger-off-outline, tags: Transportation + Other -#define ICON_MD_ELEVATOR_PASSENGER_OUTLINE "\xf3\xb1\xa5\xbb" // U+F197B elevator-passenger-outline, tags: Transportation + Other -#define ICON_MD_ELEVATOR_UP "\xf3\xb1\x8b\x81" // U+F12C1 elevator-up, tags: Transportation + Other -#define ICON_MD_ELLIPSE "\xf3\xb0\xba\xa0" // U+F0EA0 ellipse, tags: Shape -#define ICON_MD_ELLIPSE_OUTLINE "\xf3\xb0\xba\xa1" // U+F0EA1 ellipse-outline, tags: Shape -#define ICON_MD_EMAIL "\xf3\xb0\x87\xae" // U+F01EE email, aliases: local-post-office, mail, markunread, envelope -#define ICON_MD_EMAIL_ALERT "\xf3\xb0\x9b\x8f" // U+F06CF email-alert, aliases: email-warning, envelope-alert, envelope-warning, tags: Alert / Error -#define ICON_MD_EMAIL_ALERT_OUTLINE "\xf3\xb0\xb5\x82" // U+F0D42 email-alert-outline, tags: Alert / Error -#define ICON_MD_EMAIL_ARROW_LEFT "\xf3\xb1\x83\x9a" // U+F10DA email-arrow-left, aliases: email-receive -#define ICON_MD_EMAIL_ARROW_LEFT_OUTLINE "\xf3\xb1\x83\x9b" // U+F10DB email-arrow-left-outline, aliases: email-receive-outline -#define ICON_MD_EMAIL_ARROW_RIGHT "\xf3\xb1\x83\x9c" // U+F10DC email-arrow-right, aliases: email-send -#define ICON_MD_EMAIL_ARROW_RIGHT_OUTLINE "\xf3\xb1\x83\x9d" // U+F10DD email-arrow-right-outline, aliases: email-arrow-right-outline -#define ICON_MD_EMAIL_BOX "\xf3\xb0\xb4\x83" // U+F0D03 email-box, aliases: envelope-box -#define ICON_MD_EMAIL_CHECK "\xf3\xb0\xaa\xb1" // U+F0AB1 email-check, aliases: email-tick -#define ICON_MD_EMAIL_CHECK_OUTLINE "\xf3\xb0\xaa\xb2" // U+F0AB2 email-check-outline, aliases: email-tick-outline -#define ICON_MD_EMAIL_EDIT "\xf3\xb0\xbb\xa3" // U+F0EE3 email-edit, tags: Edit / Modify -#define ICON_MD_EMAIL_EDIT_OUTLINE "\xf3\xb0\xbb\xa4" // U+F0EE4 email-edit-outline, tags: Edit / Modify -#define ICON_MD_EMAIL_FAST "\xf3\xb1\xa1\xaf" // U+F186F email-fast, aliases: envelope-fast, email-quick, email-sent, email-send -#define ICON_MD_EMAIL_FAST_OUTLINE "\xf3\xb1\xa1\xb0" // U+F1870 email-fast-outline, aliases: email-send-outline, email-sent-outline, envelope-fast-outline, email-quick-outline -#define ICON_MD_EMAIL_LOCK "\xf3\xb0\x87\xb1" // U+F01F1 email-lock, aliases: envelope-secure, email-secure, envelope-lock, tags: Lock -#define ICON_MD_EMAIL_LOCK_OUTLINE "\xf3\xb1\xad\xa1" // U+F1B61 email-lock-outline, aliases: email-secure-outline, tags: Lock -#define ICON_MD_EMAIL_MARK_AS_UNREAD "\xf3\xb0\xae\x92" // U+F0B92 email-mark-as-unread -#define ICON_MD_EMAIL_MINUS "\xf3\xb0\xbb\xa5" // U+F0EE5 email-minus -#define ICON_MD_EMAIL_MINUS_OUTLINE "\xf3\xb0\xbb\xa6" // U+F0EE6 email-minus-outline -#define ICON_MD_EMAIL_MULTIPLE "\xf3\xb0\xbb\xa7" // U+F0EE7 email-multiple -#define ICON_MD_EMAIL_MULTIPLE_OUTLINE "\xf3\xb0\xbb\xa8" // U+F0EE8 email-multiple-outline -#define ICON_MD_EMAIL_NEWSLETTER "\xf3\xb0\xbe\xb1" // U+F0FB1 email-newsletter -#define ICON_MD_EMAIL_OFF "\xf3\xb1\x8f\xa3" // U+F13E3 email-off -#define ICON_MD_EMAIL_OFF_OUTLINE "\xf3\xb1\x8f\xa4" // U+F13E4 email-off-outline -#define ICON_MD_EMAIL_OPEN "\xf3\xb0\x87\xaf" // U+F01EF email-open, aliases: drafts, envelope-open -#define ICON_MD_EMAIL_OPEN_MULTIPLE "\xf3\xb0\xbb\xa9" // U+F0EE9 email-open-multiple -#define ICON_MD_EMAIL_OPEN_MULTIPLE_OUTLINE "\xf3\xb0\xbb\xaa" // U+F0EEA email-open-multiple-outline -#define ICON_MD_EMAIL_OPEN_OUTLINE "\xf3\xb0\x97\xaf" // U+F05EF email-open-outline, aliases: envelope-open-outline -#define ICON_MD_EMAIL_OUTLINE "\xf3\xb0\x87\xb0" // U+F01F0 email-outline, aliases: mail-outline, envelope-outline -#define ICON_MD_EMAIL_PLUS "\xf3\xb0\xa7\xab" // U+F09EB email-plus, aliases: email-add, envelope-add, envelope-plus -#define ICON_MD_EMAIL_PLUS_OUTLINE "\xf3\xb0\xa7\xac" // U+F09EC email-plus-outline, aliases: email-add-outline, envelope-add-outline, envelope-plus-outline -#define ICON_MD_EMAIL_REMOVE "\xf3\xb1\x99\xa1" // U+F1661 email-remove -#define ICON_MD_EMAIL_REMOVE_OUTLINE "\xf3\xb1\x99\xa2" // U+F1662 email-remove-outline -#define ICON_MD_EMAIL_SEAL "\xf3\xb1\xa5\x9b" // U+F195B email-seal, aliases: email-certified, mail-certified, mail-seal, email-verified, mail-verified -#define ICON_MD_EMAIL_SEAL_OUTLINE "\xf3\xb1\xa5\x9c" // U+F195C email-seal-outline, aliases: email-verified-outline, email-certified-outline, mail-verified-outline, mail-certified-outline, mail-seal-outline -#define ICON_MD_EMAIL_SEARCH "\xf3\xb0\xa5\xa1" // U+F0961 email-search -#define ICON_MD_EMAIL_SEARCH_OUTLINE "\xf3\xb0\xa5\xa2" // U+F0962 email-search-outline -#define ICON_MD_EMAIL_SYNC "\xf3\xb1\x8b\x87" // U+F12C7 email-sync, aliases: email-refresh, email-resend -#define ICON_MD_EMAIL_SYNC_OUTLINE "\xf3\xb1\x8b\x88" // U+F12C8 email-sync-outline, aliases: email-refresh-outline, email-resend-outline -#define ICON_MD_EMAIL_VARIANT "\xf3\xb0\x97\xb0" // U+F05F0 email-variant, aliases: envelope-variant -#define ICON_MD_EMBER "\xf3\xb0\xac\xb0" // U+F0B30 ember, tags: Brand / Logo -#define ICON_MD_EMBY "\xf3\xb0\x9a\xb4" // U+F06B4 emby, tags: Brand / Logo -#define ICON_MD_EMOTICON "\xf3\xb0\xb1\xa8" // U+F0C68 emoticon, aliases: smiley, face, emoji, tags: Emoji -#define ICON_MD_EMOTICON_ANGRY "\xf3\xb0\xb1\xa9" // U+F0C69 emoticon-angry, aliases: smiley-angry, face-angry, emoji-angry, tags: Emoji -#define ICON_MD_EMOTICON_ANGRY_OUTLINE "\xf3\xb0\xb1\xaa" // U+F0C6A emoticon-angry-outline, aliases: smiley-angry-outline, face-angry-outline, emoji-angry-outline, tags: Emoji -#define ICON_MD_EMOTICON_CONFUSED "\xf3\xb1\x83\x9e" // U+F10DE emoticon-confused, aliases: face-confused, emoji-confused, tags: Emoji -#define ICON_MD_EMOTICON_CONFUSED_OUTLINE "\xf3\xb1\x83\x9f" // U+F10DF emoticon-confused-outline, aliases: face-confused-outline, emoji-confused-outline, tags: Emoji -#define ICON_MD_EMOTICON_COOL "\xf3\xb0\xb1\xab" // U+F0C6B emoticon-cool, aliases: smiley-cool, face-cool, face-sunglasses, emoji-cool, tags: Emoji -#define ICON_MD_EMOTICON_COOL_OUTLINE "\xf3\xb0\x87\xb3" // U+F01F3 emoticon-cool-outline, aliases: smiley-cool-outline, face-cool-outline, face-sunglasses-outline, emoji-cool-outline, tags: Emoji -#define ICON_MD_EMOTICON_CRY "\xf3\xb0\xb1\xac" // U+F0C6C emoticon-cry, aliases: smiley-cry, face-cry, emoji-cry, tags: Emoji -#define ICON_MD_EMOTICON_CRY_OUTLINE "\xf3\xb0\xb1\xad" // U+F0C6D emoticon-cry-outline, aliases: smiley-cry-outline, face-cry-outline, emoji-cry-outline, tags: Emoji -#define ICON_MD_EMOTICON_DEAD "\xf3\xb0\xb1\xae" // U+F0C6E emoticon-dead, aliases: smiley-dead, face-dead, emoji-dead, tags: Emoji -#define ICON_MD_EMOTICON_DEAD_OUTLINE "\xf3\xb0\x9a\x9b" // U+F069B emoticon-dead-outline, aliases: smiley-dead-outline, face-dead-outline, emoji-dead-outline, tags: Emoji -#define ICON_MD_EMOTICON_DEVIL "\xf3\xb0\xb1\xaf" // U+F0C6F emoticon-devil, aliases: smiley-devil, face-devil, emoji-devil, tags: Emoji -#define ICON_MD_EMOTICON_DEVIL_OUTLINE "\xf3\xb0\x87\xb4" // U+F01F4 emoticon-devil-outline, aliases: smiley-devil-outline, face-devil-outline, emoji-devil-outline, tags: Emoji -#define ICON_MD_EMOTICON_EXCITED "\xf3\xb0\xb1\xb0" // U+F0C70 emoticon-excited, aliases: smiley-excited, face-excited, emoji-excited, tags: Emoji -#define ICON_MD_EMOTICON_EXCITED_OUTLINE "\xf3\xb0\x9a\x9c" // U+F069C emoticon-excited-outline, aliases: smiley-excited-outline, face-excited-outline, emoji-excited-outline, tags: Emoji -#define ICON_MD_EMOTICON_FROWN "\xf3\xb0\xbd\x8c" // U+F0F4C emoticon-frown, aliases: face-frown, emoji-frown, tags: Emoji -#define ICON_MD_EMOTICON_FROWN_OUTLINE "\xf3\xb0\xbd\x8d" // U+F0F4D emoticon-frown-outline, aliases: face-frown-outline, emoji-frown-outline, tags: Emoji -#define ICON_MD_EMOTICON_HAPPY "\xf3\xb0\xb1\xb1" // U+F0C71 emoticon-happy, aliases: smiley-happy, face-happy, emoji-happy, tags: Emoji -#define ICON_MD_EMOTICON_HAPPY_OUTLINE "\xf3\xb0\x87\xb5" // U+F01F5 emoticon-happy-outline, aliases: smiley-happy-outline, face-happy-outline, emoji-happy-outline, tags: Emoji -#define ICON_MD_EMOTICON_KISS "\xf3\xb0\xb1\xb2" // U+F0C72 emoticon-kiss, aliases: smiley-kiss, face-kiss, emoji-kiss, tags: Emoji -#define ICON_MD_EMOTICON_KISS_OUTLINE "\xf3\xb0\xb1\xb3" // U+F0C73 emoticon-kiss-outline, aliases: smiley-kiss-outline, face-kiss-outline, emoji-kiss-outline, tags: Emoji -#define ICON_MD_EMOTICON_LOL "\xf3\xb1\x88\x94" // U+F1214 emoticon-lol, aliases: face-lol, emoji-lol, tags: Emoji -#define ICON_MD_EMOTICON_LOL_OUTLINE "\xf3\xb1\x88\x95" // U+F1215 emoticon-lol-outline, aliases: face-lol-outline, emoji-lol-outline, tags: Emoji -#define ICON_MD_EMOTICON_NEUTRAL "\xf3\xb0\xb1\xb4" // U+F0C74 emoticon-neutral, aliases: smiley-neutral, face-neutral, emoji-neutral, tags: Emoji -#define ICON_MD_EMOTICON_NEUTRAL_OUTLINE "\xf3\xb0\x87\xb6" // U+F01F6 emoticon-neutral-outline, aliases: smiley-neutral-outline, face-neutral-outline, emoji-neutral-outline, tags: Emoji -#define ICON_MD_EMOTICON_OUTLINE "\xf3\xb0\x87\xb2" // U+F01F2 emoticon-outline, aliases: insert-emoticon, mood, sentiment-very-satisfied, tag-faces, smiley-outline, face-outline, emoji-outline, tags: Emoji -#define ICON_MD_EMOTICON_POOP "\xf3\xb0\x87\xb7" // U+F01F7 emoticon-poop, aliases: smiley-poop, face-poop, emoji-poop, tags: Emoji -#define ICON_MD_EMOTICON_POOP_OUTLINE "\xf3\xb0\xb1\xb5" // U+F0C75 emoticon-poop-outline, aliases: face-poop-outline, emoji-poop-outline, tags: Emoji -#define ICON_MD_EMOTICON_SAD "\xf3\xb0\xb1\xb6" // U+F0C76 emoticon-sad, aliases: smiley-sad, face-sad, emoji-sad, tags: Emoji -#define ICON_MD_EMOTICON_SAD_OUTLINE "\xf3\xb0\x87\xb8" // U+F01F8 emoticon-sad-outline, aliases: smiley-sad-outline, face-sad-outline, emoji-sad-outline, tags: Emoji -#define ICON_MD_EMOTICON_SICK "\xf3\xb1\x95\xbc" // U+F157C emoticon-sick, aliases: face-sick, fever, emoji-sick, tags: Emoji, Medical / Hospital -#define ICON_MD_EMOTICON_SICK_OUTLINE "\xf3\xb1\x95\xbd" // U+F157D emoticon-sick-outline, aliases: face-sick-outline, fever-outline, emoji-sick-outline, tags: Emoji, Medical / Hospital -#define ICON_MD_EMOTICON_TONGUE "\xf3\xb0\x87\xb9" // U+F01F9 emoticon-tongue, aliases: smiley-tongue, face-tongue, emoji-tongue, tags: Emoji -#define ICON_MD_EMOTICON_TONGUE_OUTLINE "\xf3\xb0\xb1\xb7" // U+F0C77 emoticon-tongue-outline, aliases: smiley-tongue-outline, face-tongue-outline, emoji-tongue-outline, tags: Emoji -#define ICON_MD_EMOTICON_WINK "\xf3\xb0\xb1\xb8" // U+F0C78 emoticon-wink, aliases: smiley-wink, face-wink, emoji-wink, tags: Emoji -#define ICON_MD_EMOTICON_WINK_OUTLINE "\xf3\xb0\xb1\xb9" // U+F0C79 emoticon-wink-outline, aliases: smiley-wink-outline, face-wink-outline, emoji-wink-outline, tags: Emoji -#define ICON_MD_ENGINE "\xf3\xb0\x87\xba" // U+F01FA engine, aliases: motor, tags: Automotive -#define ICON_MD_ENGINE_OFF "\xf3\xb0\xa9\x86" // U+F0A46 engine-off, aliases: motor-off, tags: Automotive -#define ICON_MD_ENGINE_OFF_OUTLINE "\xf3\xb0\xa9\x87" // U+F0A47 engine-off-outline, aliases: motor-off-outline, tags: Automotive -#define ICON_MD_ENGINE_OUTLINE "\xf3\xb0\x87\xbb" // U+F01FB engine-outline, aliases: motor-outline, tags: Automotive -#define ICON_MD_EPSILON "\xf3\xb1\x83\xa0" // U+F10E0 epsilon, tags: Alpha / Numeric -#define ICON_MD_EQUAL "\xf3\xb0\x87\xbc" // U+F01FC equal, tags: Math -#define ICON_MD_EQUAL_BOX "\xf3\xb0\x87\xbd" // U+F01FD equal-box, tags: Math -#define ICON_MD_EQUALIZER "\xf3\xb0\xba\xa2" // U+F0EA2 equalizer, tags: Audio -#define ICON_MD_EQUALIZER_OUTLINE "\xf3\xb0\xba\xa3" // U+F0EA3 equalizer-outline, tags: Audio -#define ICON_MD_ERASER "\xf3\xb0\x87\xbe" // U+F01FE eraser -#define ICON_MD_ERASER_VARIANT "\xf3\xb0\x99\x82" // U+F0642 eraser-variant -#define ICON_MD_ESCALATOR "\xf3\xb0\x87\xbf" // U+F01FF escalator, tags: Transportation + Other -#define ICON_MD_ESCALATOR_BOX "\xf3\xb1\x8e\x99" // U+F1399 escalator-box -#define ICON_MD_ESCALATOR_DOWN "\xf3\xb1\x8b\x80" // U+F12C0 escalator-down, tags: Transportation + Other -#define ICON_MD_ESCALATOR_UP "\xf3\xb1\x8a\xbf" // U+F12BF escalator-up, tags: Transportation + Other -#define ICON_MD_ESLINT "\xf3\xb0\xb1\xba" // U+F0C7A eslint, tags: Developer / Languages, Brand / Logo -#define ICON_MD_ET "\xf3\xb0\xaa\xb3" // U+F0AB3 et -#define ICON_MD_ETHEREUM "\xf3\xb0\xa1\xaa" // U+F086A ethereum, tags: Brand / Logo -#define ICON_MD_ETHERNET "\xf3\xb0\x88\x80" // U+F0200 ethernet -#define ICON_MD_ETHERNET_CABLE "\xf3\xb0\x88\x81" // U+F0201 ethernet-cable -#define ICON_MD_ETHERNET_CABLE_OFF "\xf3\xb0\x88\x82" // U+F0202 ethernet-cable-off -#define ICON_MD_EV_PLUG_CCS1 "\xf3\xb1\x94\x99" // U+F1519 ev-plug-ccs1, aliases: ev-plug-ccs-combo-1, ev-charger-ccs1, tags: Automotive -#define ICON_MD_EV_PLUG_CCS2 "\xf3\xb1\x94\x9a" // U+F151A ev-plug-ccs2, aliases: ev-plug-ccs-combo-2, ev-charger-ccs2, tags: Automotive -#define ICON_MD_EV_PLUG_CHADEMO "\xf3\xb1\x94\x9b" // U+F151B ev-plug-chademo, aliases: ev-charger-chademo, tags: Automotive -#define ICON_MD_EV_PLUG_TESLA "\xf3\xb1\x94\x9c" // U+F151C ev-plug-tesla, aliases: ev-charger-tesla, tags: Automotive -#define ICON_MD_EV_PLUG_TYPE1 "\xf3\xb1\x94\x9d" // U+F151D ev-plug-type1, aliases: ev-plug-j1772, ev-charger-type1, tags: Automotive -#define ICON_MD_EV_PLUG_TYPE2 "\xf3\xb1\x94\x9e" // U+F151E ev-plug-type2, aliases: ev-plug-mennekes, ev-charger-type2, tags: Automotive -#define ICON_MD_EV_STATION "\xf3\xb0\x97\xb1" // U+F05F1 ev-station, aliases: charging-station, ev-charger, wall-charger, wallbox, electric-vehicle-charger, evse, electric-charger, tags: Places, Automotive -#define ICON_MD_EVERNOTE "\xf3\xb0\x88\x84" // U+F0204 evernote, tags: Brand / Logo -#define ICON_MD_EXCAVATOR "\xf3\xb1\x80\xa5" // U+F1025 excavator, tags: Hardware / Tools -#define ICON_MD_EXCLAMATION "\xf3\xb0\x88\x85" // U+F0205 exclamation, aliases: factorial, tags: Math -#define ICON_MD_EXCLAMATION_THICK "\xf3\xb1\x88\xb8" // U+F1238 exclamation-thick, aliases: exclamation-bold -#define ICON_MD_EXIT_RUN "\xf3\xb0\xa9\x88" // U+F0A48 exit-run, aliases: emergency-exit, tags: Home Automation -#define ICON_MD_EXIT_TO_APP "\xf3\xb0\x88\x86" // U+F0206 exit-to-app -#define ICON_MD_EXPAND_ALL "\xf3\xb0\xaa\xb4" // U+F0AB4 expand-all, aliases: animation-plus -#define ICON_MD_EXPAND_ALL_OUTLINE "\xf3\xb0\xaa\xb5" // U+F0AB5 expand-all-outline, aliases: animation-plus-outline -#define ICON_MD_EXPANSION_CARD "\xf3\xb0\xa2\xae" // U+F08AE expansion-card, aliases: gpu, graphics-processing-unit, nic, network-interface-card, tags: Gaming / RPG -#define ICON_MD_EXPANSION_CARD_VARIANT "\xf3\xb0\xbe\xb2" // U+F0FB2 expansion-card-variant, aliases: graphics-processing-unit, gpu, network-interface-card, nice -#define ICON_MD_EXPONENT "\xf3\xb0\xa5\xa3" // U+F0963 exponent, aliases: power, tags: Math -#define ICON_MD_EXPONENT_BOX "\xf3\xb0\xa5\xa4" // U+F0964 exponent-box, aliases: power-box, tags: Math -#define ICON_MD_EXPORT "\xf3\xb0\x88\x87" // U+F0207 export, aliases: output -#define ICON_MD_EXPORT_VARIANT "\xf3\xb0\xae\x93" // U+F0B93 export-variant, aliases: ios-share -#define ICON_MD_EYE "\xf3\xb0\x88\x88" // U+F0208 eye, aliases: show, visibility, remove-red-eye -#define ICON_MD_EYE_ARROW_LEFT "\xf3\xb1\xa3\xbd" // U+F18FD eye-arrow-left, aliases: view-arrow-left -#define ICON_MD_EYE_ARROW_LEFT_OUTLINE "\xf3\xb1\xa3\xbe" // U+F18FE eye-arrow-left-outline, aliases: view-arrow-left-outline -#define ICON_MD_EYE_ARROW_RIGHT "\xf3\xb1\xa3\xbf" // U+F18FF eye-arrow-right, aliases: view-arrow-right -#define ICON_MD_EYE_ARROW_RIGHT_OUTLINE "\xf3\xb1\xa4\x80" // U+F1900 eye-arrow-right-outline, aliases: view-arrow-right-outline -#define ICON_MD_EYE_CHECK "\xf3\xb0\xb4\x84" // U+F0D04 eye-check, aliases: eye-tick -#define ICON_MD_EYE_CHECK_OUTLINE "\xf3\xb0\xb4\x85" // U+F0D05 eye-check-outline, aliases: eye-tick-outline -#define ICON_MD_EYE_CIRCLE "\xf3\xb0\xae\x94" // U+F0B94 eye-circle -#define ICON_MD_EYE_CIRCLE_OUTLINE "\xf3\xb0\xae\x95" // U+F0B95 eye-circle-outline -#define ICON_MD_EYE_MINUS "\xf3\xb1\x80\xa6" // U+F1026 eye-minus -#define ICON_MD_EYE_MINUS_OUTLINE "\xf3\xb1\x80\xa7" // U+F1027 eye-minus-outline -#define ICON_MD_EYE_OFF "\xf3\xb0\x88\x89" // U+F0209 eye-off, aliases: hide, visibility-off -#define ICON_MD_EYE_OFF_OUTLINE "\xf3\xb0\x9b\x91" // U+F06D1 eye-off-outline, aliases: hide-outline, visibility-off-outline -#define ICON_MD_EYE_OUTLINE "\xf3\xb0\x9b\x90" // U+F06D0 eye-outline, aliases: show-outline, visibility-outline -#define ICON_MD_EYE_PLUS "\xf3\xb0\xa1\xab" // U+F086B eye-plus, aliases: eye-add -#define ICON_MD_EYE_PLUS_OUTLINE "\xf3\xb0\xa1\xac" // U+F086C eye-plus-outline, aliases: eye-add-outline -#define ICON_MD_EYE_REFRESH "\xf3\xb1\xa5\xbc" // U+F197C eye-refresh, aliases: view-refresh -#define ICON_MD_EYE_REFRESH_OUTLINE "\xf3\xb1\xa5\xbd" // U+F197D eye-refresh-outline, aliases: view-refresh-outline -#define ICON_MD_EYE_REMOVE "\xf3\xb1\x97\xa3" // U+F15E3 eye-remove -#define ICON_MD_EYE_REMOVE_OUTLINE "\xf3\xb1\x97\xa4" // U+F15E4 eye-remove-outline -#define ICON_MD_EYE_SETTINGS "\xf3\xb0\xa1\xad" // U+F086D eye-settings, tags: Settings -#define ICON_MD_EYE_SETTINGS_OUTLINE "\xf3\xb0\xa1\xae" // U+F086E eye-settings-outline, tags: Settings -#define ICON_MD_EYEDROPPER "\xf3\xb0\x88\x8a" // U+F020A eyedropper, aliases: pipette, tags: Color, Drawing / Art, Science -#define ICON_MD_EYEDROPPER_MINUS "\xf3\xb1\x8f\x9d" // U+F13DD eyedropper-minus, tags: Science -#define ICON_MD_EYEDROPPER_OFF "\xf3\xb1\x8f\x9f" // U+F13DF eyedropper-off, tags: Science -#define ICON_MD_EYEDROPPER_PLUS "\xf3\xb1\x8f\x9c" // U+F13DC eyedropper-plus, tags: Science -#define ICON_MD_EYEDROPPER_REMOVE "\xf3\xb1\x8f\x9e" // U+F13DE eyedropper-remove, tags: Science -#define ICON_MD_EYEDROPPER_VARIANT "\xf3\xb0\x88\x8b" // U+F020B eyedropper-variant, aliases: colorize, colourise, pipette-variant, tags: Color, Science -#define ICON_MD_FACE_AGENT "\xf3\xb0\xb5\xb0" // U+F0D70 face-agent, aliases: customer-service, support, emoji-agent, emoticon-agent -#define ICON_MD_FACE_MAN "\xf3\xb0\x99\x83" // U+F0643 face-man, aliases: face-male, emoji-man, emoticon-man, tags: People / Family -#define ICON_MD_FACE_MAN_OUTLINE "\xf3\xb0\xae\x96" // U+F0B96 face-man-outline, aliases: face-male-outline, emoji-man-outline, emoticon-man-outline, tags: People / Family -#define ICON_MD_FACE_MAN_PROFILE "\xf3\xb0\x99\x84" // U+F0644 face-man-profile, aliases: face-male-profile, emoji-man-profile, emoticon-man-profile, tags: People / Family -#define ICON_MD_FACE_MAN_SHIMMER "\xf3\xb1\x97\x8c" // U+F15CC face-man-shimmer, aliases: face-retouching-natural, face-male-shimmer, emoji-man-shimmer, emoticon-man-shimmer, tags: Photography, Account / User, Health / Beauty, People / Family -#define ICON_MD_FACE_MAN_SHIMMER_OUTLINE "\xf3\xb1\x97\x8d" // U+F15CD face-man-shimmer-outline, aliases: face-retouching-natural-outline, face-male-shimmer-outline, emoji-man-shimmer-outline, emoticon-man-shimmer-outline, tags: People / Family, Photography, Health / Beauty, Account / User -#define ICON_MD_FACE_MASK "\xf3\xb1\x96\x86" // U+F1586 face-mask, tags: Medical / Hospital, Clothing -#define ICON_MD_FACE_MASK_OUTLINE "\xf3\xb1\x96\x87" // U+F1587 face-mask-outline, tags: Medical / Hospital, Clothing -#define ICON_MD_FACE_RECOGNITION "\xf3\xb0\xb1\xbb" // U+F0C7B face-recognition, aliases: facial-recognition, scan, tags: Photography -#define ICON_MD_FACE_WOMAN "\xf3\xb1\x81\xb7" // U+F1077 face-woman, aliases: face-female, emoji-woman, emoticon-woman, tags: People / Family -#define ICON_MD_FACE_WOMAN_OUTLINE "\xf3\xb1\x81\xb8" // U+F1078 face-woman-outline, aliases: face-female-outline, emoji-woman-outline, emoticon-woman-outline, tags: People / Family -#define ICON_MD_FACE_WOMAN_PROFILE "\xf3\xb1\x81\xb6" // U+F1076 face-woman-profile, aliases: face-female-profile, emoji-woman-profile, emoticon-woman-profile, tags: People / Family -#define ICON_MD_FACE_WOMAN_SHIMMER "\xf3\xb1\x97\x8e" // U+F15CE face-woman-shimmer, aliases: face-retouching-natural-woman, face-female-shimmer, emoji-woman-shimmer, emoticon-woman-shimmer, tags: People / Family, Photography, Health / Beauty, Account / User -#define ICON_MD_FACE_WOMAN_SHIMMER_OUTLINE "\xf3\xb1\x97\x8f" // U+F15CF face-woman-shimmer-outline, aliases: face-retouching-natural-woman-outline, face-female-shimmer-outline, emoji-woman-shimmer-outline, emoticon-woman-shimmer-outline, tags: People / Family, Photography, Health / Beauty, Account / User -#define ICON_MD_FACEBOOK "\xf3\xb0\x88\x8c" // U+F020C facebook, tags: Brand / Logo, Social Media -#define ICON_MD_FACEBOOK_GAMING "\xf3\xb0\x9f\x9d" // U+F07DD facebook-gaming, tags: Brand / Logo -#define ICON_MD_FACEBOOK_MESSENGER "\xf3\xb0\x88\x8e" // U+F020E facebook-messenger, tags: Brand / Logo, Social Media -#define ICON_MD_FACEBOOK_WORKPLACE "\xf3\xb0\xac\xb1" // U+F0B31 facebook-workplace, tags: Brand / Logo, Social Media -#define ICON_MD_FACTORY "\xf3\xb0\x88\x8f" // U+F020F factory, aliases: industrial, tags: Places -#define ICON_MD_FAMILY_TREE "\xf3\xb1\x98\x8e" // U+F160E family-tree, tags: People / Family -#define ICON_MD_FAN "\xf3\xb0\x88\x90" // U+F0210 fan, tags: Home Automation, Automotive -#define ICON_MD_FAN_ALERT "\xf3\xb1\x91\xac" // U+F146C fan-alert, tags: Home Automation, Alert / Error -#define ICON_MD_FAN_AUTO "\xf3\xb1\x9c\x9d" // U+F171D fan-auto -#define ICON_MD_FAN_CHEVRON_DOWN "\xf3\xb1\x91\xad" // U+F146D fan-chevron-down, aliases: fan-speed-down, tags: Home Automation -#define ICON_MD_FAN_CHEVRON_UP "\xf3\xb1\x91\xae" // U+F146E fan-chevron-up, aliases: fan-speed-up, tags: Home Automation -#define ICON_MD_FAN_CLOCK "\xf3\xb1\xa8\xba" // U+F1A3A fan-clock, aliases: fan-clock, fan-schedule, fan-timer, tags: Home Automation, Date / Time -#define ICON_MD_FAN_MINUS "\xf3\xb1\x91\xb0" // U+F1470 fan-minus, tags: Home Automation -#define ICON_MD_FAN_OFF "\xf3\xb0\xa0\x9d" // U+F081D fan-off, tags: Home Automation, Automotive -#define ICON_MD_FAN_PLUS "\xf3\xb1\x91\xaf" // U+F146F fan-plus, tags: Home Automation -#define ICON_MD_FAN_REMOVE "\xf3\xb1\x91\xb1" // U+F1471 fan-remove, tags: Home Automation -#define ICON_MD_FAN_SPEED_1 "\xf3\xb1\x91\xb2" // U+F1472 fan-speed-1, aliases: fan-speed-low, tags: Home Automation -#define ICON_MD_FAN_SPEED_2 "\xf3\xb1\x91\xb3" // U+F1473 fan-speed-2, aliases: fan-speed-medium, tags: Home Automation -#define ICON_MD_FAN_SPEED_3 "\xf3\xb1\x91\xb4" // U+F1474 fan-speed-3, aliases: fan-speed-high, tags: Home Automation -#define ICON_MD_FAST_FORWARD "\xf3\xb0\x88\x91" // U+F0211 fast-forward -#define ICON_MD_FAST_FORWARD_10 "\xf3\xb0\xb5\xb1" // U+F0D71 fast-forward-10 -#define ICON_MD_FAST_FORWARD_15 "\xf3\xb1\xa4\xba" // U+F193A fast-forward-15 -#define ICON_MD_FAST_FORWARD_30 "\xf3\xb0\xb4\x86" // U+F0D06 fast-forward-30 -#define ICON_MD_FAST_FORWARD_45 "\xf3\xb1\xac\x92" // U+F1B12 fast-forward-45 -#define ICON_MD_FAST_FORWARD_5 "\xf3\xb1\x87\xb8" // U+F11F8 fast-forward-5 -#define ICON_MD_FAST_FORWARD_60 "\xf3\xb1\x98\x8b" // U+F160B fast-forward-60 -#define ICON_MD_FAST_FORWARD_OUTLINE "\xf3\xb0\x9b\x92" // U+F06D2 fast-forward-outline -#define ICON_MD_FAUCET "\xf3\xb1\xac\xa9" // U+F1B29 faucet, aliases: kitchen-tap, bathroom-tap, sink, tags: Home Automation -#define ICON_MD_FAUCET_VARIANT "\xf3\xb1\xac\xaa" // U+F1B2A faucet-variant, aliases: bathroom-tap, kitchen-tap, sink, tags: Home Automation -#define ICON_MD_FAX "\xf3\xb0\x88\x92" // U+F0212 fax, tags: Printer, Cellphone / Phone -#define ICON_MD_FEATHER "\xf3\xb0\x9b\x93" // U+F06D3 feather, aliases: quill, tags: Nature -#define ICON_MD_FEATURE_SEARCH "\xf3\xb0\xa9\x89" // U+F0A49 feature-search, aliases: box, box-search -#define ICON_MD_FEATURE_SEARCH_OUTLINE "\xf3\xb0\xa9\x8a" // U+F0A4A feature-search-outline, aliases: box, box-outline, box-search-outline -#define ICON_MD_FEDORA "\xf3\xb0\xa3\x9b" // U+F08DB fedora, tags: Brand / Logo -#define ICON_MD_FENCE "\xf3\xb1\x9e\x9a" // U+F179A fence, aliases: railway, train-track, tags: Home Automation -#define ICON_MD_FENCE_ELECTRIC "\xf3\xb1\x9f\xb6" // U+F17F6 fence-electric, aliases: railway-electric, train-track-electric, tags: Home Automation -#define ICON_MD_FENCING "\xf3\xb1\x93\x81" // U+F14C1 fencing, aliases: sword-fight, tags: Sport -#define ICON_MD_FERRIS_WHEEL "\xf3\xb0\xba\xa4" // U+F0EA4 ferris-wheel -#define ICON_MD_FERRY "\xf3\xb0\x88\x93" // U+F0213 ferry, aliases: cargo-ship, boat, ship, directions-boat, directions-ferry, tags: Transportation + Water, Navigation -#define ICON_MD_FILE "\xf3\xb0\x88\x94" // U+F0214 file, aliases: insert-drive-file, draft, paper, tags: Files / Folders -#define ICON_MD_FILE_ACCOUNT "\xf3\xb0\x9c\xbb" // U+F073B file-account, aliases: file-user, resume, tags: Account / User, Files / Folders -#define ICON_MD_FILE_ACCOUNT_OUTLINE "\xf3\xb1\x80\xa8" // U+F1028 file-account-outline, tags: Files / Folders, Account / User -#define ICON_MD_FILE_ALERT "\xf3\xb0\xa9\x8b" // U+F0A4B file-alert, aliases: file-warning, tags: Files / Folders, Alert / Error -#define ICON_MD_FILE_ALERT_OUTLINE "\xf3\xb0\xa9\x8c" // U+F0A4C file-alert-outline, aliases: file-warning-outline, tags: Files / Folders, Alert / Error -#define ICON_MD_FILE_ARROW_LEFT_RIGHT "\xf3\xb1\xaa\x93" // U+F1A93 file-arrow-left-right, aliases: file-exchange, file-transfer, file-swap, tags: Files / Folders -#define ICON_MD_FILE_ARROW_LEFT_RIGHT_OUTLINE "\xf3\xb1\xaa\x94" // U+F1A94 file-arrow-left-right-outline, aliases: file-exchange-outline, file-swap-outline, file-transfer-outline, tags: Files / Folders -#define ICON_MD_FILE_ARROW_UP_DOWN "\xf3\xb1\xaa\x95" // U+F1A95 file-arrow-up-down, aliases: file-exchange, file-swap, file-transfer, file-upload-download, tags: Files / Folders -#define ICON_MD_FILE_ARROW_UP_DOWN_OUTLINE "\xf3\xb1\xaa\x96" // U+F1A96 file-arrow-up-down-outline, aliases: file-exchange-outline, file-swap-outline, file-transfer-outline, file-upload-download-outline, tags: Files / Folders -#define ICON_MD_FILE_CABINET "\xf3\xb0\xaa\xb6" // U+F0AB6 file-cabinet, aliases: filing-cabinet, tags: Files / Folders -#define ICON_MD_FILE_CAD "\xf3\xb0\xbb\xab" // U+F0EEB file-cad, tags: Files / Folders -#define ICON_MD_FILE_CAD_BOX "\xf3\xb0\xbb\xac" // U+F0EEC file-cad-box, tags: Files / Folders -#define ICON_MD_FILE_CANCEL "\xf3\xb0\xb7\x86" // U+F0DC6 file-cancel, aliases: ban, forbid, tags: Files / Folders -#define ICON_MD_FILE_CANCEL_OUTLINE "\xf3\xb0\xb7\x87" // U+F0DC7 file-cancel-outline, aliases: ban, forbid, tags: Files / Folders -#define ICON_MD_FILE_CERTIFICATE "\xf3\xb1\x86\x86" // U+F1186 file-certificate, tags: Files / Folders -#define ICON_MD_FILE_CERTIFICATE_OUTLINE "\xf3\xb1\x86\x87" // U+F1187 file-certificate-outline, tags: Files / Folders -#define ICON_MD_FILE_CHART "\xf3\xb0\x88\x95" // U+F0215 file-chart, aliases: file-report, file-graph, tags: Files / Folders -#define ICON_MD_FILE_CHART_CHECK "\xf3\xb1\xa7\x86" // U+F19C6 file-chart-check, tags: Files / Folders -#define ICON_MD_FILE_CHART_CHECK_OUTLINE "\xf3\xb1\xa7\x87" // U+F19C7 file-chart-check-outline, tags: Files / Folders -#define ICON_MD_FILE_CHART_OUTLINE "\xf3\xb1\x80\xa9" // U+F1029 file-chart-outline, aliases: file-graph-outline, file-report-outline, tags: Files / Folders -#define ICON_MD_FILE_CHECK "\xf3\xb0\x88\x96" // U+F0216 file-check, aliases: file-tick, tags: Files / Folders -#define ICON_MD_FILE_CHECK_OUTLINE "\xf3\xb0\xb8\xa9" // U+F0E29 file-check-outline, tags: Files / Folders -#define ICON_MD_FILE_CLOCK "\xf3\xb1\x8b\xa1" // U+F12E1 file-clock, tags: Files / Folders, Date / Time -#define ICON_MD_FILE_CLOCK_OUTLINE "\xf3\xb1\x8b\xa2" // U+F12E2 file-clock-outline, tags: Files / Folders, Date / Time -#define ICON_MD_FILE_CLOUD "\xf3\xb0\x88\x97" // U+F0217 file-cloud, tags: Cloud, Files / Folders -#define ICON_MD_FILE_CLOUD_OUTLINE "\xf3\xb1\x80\xaa" // U+F102A file-cloud-outline, tags: Files / Folders, Cloud -#define ICON_MD_FILE_CODE "\xf3\xb0\x88\xae" // U+F022E file-code, tags: Files / Folders, Developer / Languages -#define ICON_MD_FILE_CODE_OUTLINE "\xf3\xb1\x80\xab" // U+F102B file-code-outline, tags: Files / Folders, Developer / Languages -#define ICON_MD_FILE_COG "\xf3\xb1\x81\xbb" // U+F107B file-cog, aliases: file-settings-cog, tags: Settings, Files / Folders -#define ICON_MD_FILE_COG_OUTLINE "\xf3\xb1\x81\xbc" // U+F107C file-cog-outline, aliases: file-settings-cog-outline, tags: Settings, Files / Folders -#define ICON_MD_FILE_COMPARE "\xf3\xb0\xa2\xaa" // U+F08AA file-compare, tags: Files / Folders -#define ICON_MD_FILE_DELIMITED "\xf3\xb0\x88\x98" // U+F0218 file-delimited, aliases: file-csv, tags: Files / Folders -#define ICON_MD_FILE_DELIMITED_OUTLINE "\xf3\xb0\xba\xa5" // U+F0EA5 file-delimited-outline, aliases: file-csv-outline, tags: Files / Folders -#define ICON_MD_FILE_DOCUMENT "\xf3\xb0\x88\x99" // U+F0219 file-document, tags: Files / Folders -#define ICON_MD_FILE_DOCUMENT_ALERT "\xf3\xb1\xaa\x97" // U+F1A97 file-document-alert, aliases: file-document-error, tags: Files / Folders, Alert / Error -#define ICON_MD_FILE_DOCUMENT_ALERT_OUTLINE "\xf3\xb1\xaa\x98" // U+F1A98 file-document-alert-outline, aliases: file-document-error-outline, tags: Files / Folders, Alert / Error -#define ICON_MD_FILE_DOCUMENT_CHECK "\xf3\xb1\xaa\x99" // U+F1A99 file-document-check, aliases: file-document-tick, tags: Files / Folders -#define ICON_MD_FILE_DOCUMENT_CHECK_OUTLINE "\xf3\xb1\xaa\x9a" // U+F1A9A file-document-check-outline, aliases: file-document-tick-outline, tags: Files / Folders -#define ICON_MD_FILE_DOCUMENT_EDIT "\xf3\xb0\xb7\x88" // U+F0DC8 file-document-edit, aliases: contract, tags: Edit / Modify, Files / Folders -#define ICON_MD_FILE_DOCUMENT_EDIT_OUTLINE "\xf3\xb0\xb7\x89" // U+F0DC9 file-document-edit-outline, aliases: contract-outline, tags: Edit / Modify, Files / Folders -#define ICON_MD_FILE_DOCUMENT_MINUS "\xf3\xb1\xaa\x9b" // U+F1A9B file-document-minus, tags: Files / Folders -#define ICON_MD_FILE_DOCUMENT_MINUS_OUTLINE "\xf3\xb1\xaa\x9c" // U+F1A9C file-document-minus-outline, tags: Files / Folders -#define ICON_MD_FILE_DOCUMENT_MULTIPLE "\xf3\xb1\x94\x97" // U+F1517 file-document-multiple, tags: Files / Folders -#define ICON_MD_FILE_DOCUMENT_MULTIPLE_OUTLINE "\xf3\xb1\x94\x98" // U+F1518 file-document-multiple-outline, tags: Files / Folders -#define ICON_MD_FILE_DOCUMENT_OUTLINE "\xf3\xb0\xa7\xae" // U+F09EE file-document-outline, tags: Files / Folders -#define ICON_MD_FILE_DOCUMENT_PLUS "\xf3\xb1\xaa\x9d" // U+F1A9D file-document-plus, aliases: file-document-add, tags: Files / Folders -#define ICON_MD_FILE_DOCUMENT_PLUS_OUTLINE "\xf3\xb1\xaa\x9e" // U+F1A9E file-document-plus-outline, aliases: file-document-add-outline, tags: Files / Folders -#define ICON_MD_FILE_DOCUMENT_REMOVE "\xf3\xb1\xaa\x9f" // U+F1A9F file-document-remove, aliases: file-document-delete, tags: Files / Folders -#define ICON_MD_FILE_DOCUMENT_REMOVE_OUTLINE "\xf3\xb1\xaa\xa0" // U+F1AA0 file-document-remove-outline, aliases: file-document-delete-outline, tags: Files / Folders -#define ICON_MD_FILE_DOWNLOAD "\xf3\xb0\xa5\xa5" // U+F0965 file-download, tags: Files / Folders -#define ICON_MD_FILE_DOWNLOAD_OUTLINE "\xf3\xb0\xa5\xa6" // U+F0966 file-download-outline, tags: Files / Folders -#define ICON_MD_FILE_EDIT "\xf3\xb1\x87\xa7" // U+F11E7 file-edit, tags: Edit / Modify, Files / Folders -#define ICON_MD_FILE_EDIT_OUTLINE "\xf3\xb1\x87\xa8" // U+F11E8 file-edit-outline, tags: Edit / Modify, Files / Folders -#define ICON_MD_FILE_EXCEL "\xf3\xb0\x88\x9b" // U+F021B file-excel, tags: Files / Folders -#define ICON_MD_FILE_EXCEL_BOX "\xf3\xb0\x88\x9c" // U+F021C file-excel-box, tags: Files / Folders -#define ICON_MD_FILE_EXCEL_BOX_OUTLINE "\xf3\xb1\x80\xac" // U+F102C file-excel-box-outline, tags: Files / Folders -#define ICON_MD_FILE_EXCEL_OUTLINE "\xf3\xb1\x80\xad" // U+F102D file-excel-outline, tags: Files / Folders -#define ICON_MD_FILE_EXPORT "\xf3\xb0\x88\x9d" // U+F021D file-export, tags: Files / Folders -#define ICON_MD_FILE_EXPORT_OUTLINE "\xf3\xb1\x80\xae" // U+F102E file-export-outline, tags: Files / Folders -#define ICON_MD_FILE_EYE "\xf3\xb0\xb7\x8a" // U+F0DCA file-eye, tags: Files / Folders -#define ICON_MD_FILE_EYE_OUTLINE "\xf3\xb0\xb7\x8b" // U+F0DCB file-eye-outline, tags: Files / Folders -#define ICON_MD_FILE_FIND "\xf3\xb0\x88\x9e" // U+F021E file-find, aliases: print-preview, find-in-page, tags: Files / Folders -#define ICON_MD_FILE_FIND_OUTLINE "\xf3\xb0\xae\x97" // U+F0B97 file-find-outline, tags: Files / Folders -#define ICON_MD_FILE_GIF_BOX "\xf3\xb0\xb5\xb8" // U+F0D78 file-gif-box, tags: Files / Folders -#define ICON_MD_FILE_HIDDEN "\xf3\xb0\x98\x93" // U+F0613 file-hidden, tags: Files / Folders -#define ICON_MD_FILE_IMAGE "\xf3\xb0\x88\x9f" // U+F021F file-image, tags: Files / Folders -#define ICON_MD_FILE_IMAGE_MARKER "\xf3\xb1\x9d\xb2" // U+F1772 file-image-marker, aliases: file-image-location, tags: Files / Folders, Navigation -#define ICON_MD_FILE_IMAGE_MARKER_OUTLINE "\xf3\xb1\x9d\xb3" // U+F1773 file-image-marker-outline, aliases: file-image-location-outline, tags: Files / Folders, Navigation -#define ICON_MD_FILE_IMAGE_MINUS "\xf3\xb1\xa4\xbb" // U+F193B file-image-minus, tags: Files / Folders -#define ICON_MD_FILE_IMAGE_MINUS_OUTLINE "\xf3\xb1\xa4\xbc" // U+F193C file-image-minus-outline, tags: Files / Folders -#define ICON_MD_FILE_IMAGE_OUTLINE "\xf3\xb0\xba\xb0" // U+F0EB0 file-image-outline, tags: Files / Folders -#define ICON_MD_FILE_IMAGE_PLUS "\xf3\xb1\xa4\xbd" // U+F193D file-image-plus, aliases: file-image-add, tags: Files / Folders -#define ICON_MD_FILE_IMAGE_PLUS_OUTLINE "\xf3\xb1\xa4\xbe" // U+F193E file-image-plus-outline, aliases: file-image-add-outline, tags: Files / Folders -#define ICON_MD_FILE_IMAGE_REMOVE "\xf3\xb1\xa4\xbf" // U+F193F file-image-remove, tags: Files / Folders -#define ICON_MD_FILE_IMAGE_REMOVE_OUTLINE "\xf3\xb1\xa5\x80" // U+F1940 file-image-remove-outline, tags: Files / Folders -#define ICON_MD_FILE_IMPORT "\xf3\xb0\x88\xa0" // U+F0220 file-import, tags: Files / Folders -#define ICON_MD_FILE_IMPORT_OUTLINE "\xf3\xb1\x80\xaf" // U+F102F file-import-outline, tags: Files / Folders -#define ICON_MD_FILE_JPG_BOX "\xf3\xb0\x88\xa5" // U+F0225 file-jpg-box, aliases: file-jpeg-box, image-jpg-box, image-jpeg-box, tags: Files / Folders -#define ICON_MD_FILE_KEY "\xf3\xb1\x86\x84" // U+F1184 file-key, tags: Files / Folders -#define ICON_MD_FILE_KEY_OUTLINE "\xf3\xb1\x86\x85" // U+F1185 file-key-outline, tags: Files / Folders -#define ICON_MD_FILE_LINK "\xf3\xb1\x85\xb7" // U+F1177 file-link, tags: Files / Folders -#define ICON_MD_FILE_LINK_OUTLINE "\xf3\xb1\x85\xb8" // U+F1178 file-link-outline, tags: Files / Folders -#define ICON_MD_FILE_LOCK "\xf3\xb0\x88\xa1" // U+F0221 file-lock, tags: Lock, Files / Folders -#define ICON_MD_FILE_LOCK_OPEN "\xf3\xb1\xa7\x88" // U+F19C8 file-lock-open, tags: Lock, Files / Folders -#define ICON_MD_FILE_LOCK_OPEN_OUTLINE "\xf3\xb1\xa7\x89" // U+F19C9 file-lock-open-outline, tags: Lock, Files / Folders -#define ICON_MD_FILE_LOCK_OUTLINE "\xf3\xb1\x80\xb0" // U+F1030 file-lock-outline, tags: Files / Folders, Lock -#define ICON_MD_FILE_MARKER "\xf3\xb1\x9d\xb4" // U+F1774 file-marker, aliases: file-location, tags: Files / Folders, Navigation -#define ICON_MD_FILE_MARKER_OUTLINE "\xf3\xb1\x9d\xb5" // U+F1775 file-marker-outline, aliases: file-location-outline, tags: Files / Folders, Navigation -#define ICON_MD_FILE_MINUS "\xf3\xb1\xaa\xa1" // U+F1AA1 file-minus, tags: Files / Folders -#define ICON_MD_FILE_MINUS_OUTLINE "\xf3\xb1\xaa\xa2" // U+F1AA2 file-minus-outline, tags: Files / Folders -#define ICON_MD_FILE_MOVE "\xf3\xb0\xaa\xb9" // U+F0AB9 file-move, tags: Files / Folders -#define ICON_MD_FILE_MOVE_OUTLINE "\xf3\xb1\x80\xb1" // U+F1031 file-move-outline, tags: Files / Folders -#define ICON_MD_FILE_MULTIPLE "\xf3\xb0\x88\xa2" // U+F0222 file-multiple, aliases: files, tags: Files / Folders -#define ICON_MD_FILE_MULTIPLE_OUTLINE "\xf3\xb1\x80\xb2" // U+F1032 file-multiple-outline, tags: Files / Folders -#define ICON_MD_FILE_MUSIC "\xf3\xb0\x88\xa3" // U+F0223 file-music, tags: Files / Folders, Music -#define ICON_MD_FILE_MUSIC_OUTLINE "\xf3\xb0\xb8\xaa" // U+F0E2A file-music-outline, tags: Files / Folders, Music -#define ICON_MD_FILE_OUTLINE "\xf3\xb0\x88\xa4" // U+F0224 file-outline, aliases: paper-outline, tags: Files / Folders -#define ICON_MD_FILE_PDF_BOX "\xf3\xb0\x88\xa6" // U+F0226 file-pdf-box, aliases: file-acrobat-box, adobe-acrobat, tags: Files / Folders -#define ICON_MD_FILE_PERCENT "\xf3\xb0\xa0\x9e" // U+F081E file-percent, tags: Files / Folders -#define ICON_MD_FILE_PERCENT_OUTLINE "\xf3\xb1\x80\xb3" // U+F1033 file-percent-outline, tags: Files / Folders -#define ICON_MD_FILE_PHONE "\xf3\xb1\x85\xb9" // U+F1179 file-phone, tags: Files / Folders -#define ICON_MD_FILE_PHONE_OUTLINE "\xf3\xb1\x85\xba" // U+F117A file-phone-outline, tags: Files / Folders -#define ICON_MD_FILE_PLUS "\xf3\xb0\x9d\x92" // U+F0752 file-plus, aliases: note-add, tags: Files / Folders -#define ICON_MD_FILE_PLUS_OUTLINE "\xf3\xb0\xbb\xad" // U+F0EED file-plus-outline, tags: Files / Folders -#define ICON_MD_FILE_PNG_BOX "\xf3\xb0\xb8\xad" // U+F0E2D file-png-box, tags: Files / Folders -#define ICON_MD_FILE_POWERPOINT "\xf3\xb0\x88\xa7" // U+F0227 file-powerpoint, tags: Files / Folders -#define ICON_MD_FILE_POWERPOINT_BOX "\xf3\xb0\x88\xa8" // U+F0228 file-powerpoint-box, tags: Files / Folders -#define ICON_MD_FILE_POWERPOINT_BOX_OUTLINE "\xf3\xb1\x80\xb4" // U+F1034 file-powerpoint-box-outline, tags: Files / Folders -#define ICON_MD_FILE_POWERPOINT_OUTLINE "\xf3\xb1\x80\xb5" // U+F1035 file-powerpoint-outline, tags: Files / Folders -#define ICON_MD_FILE_PRESENTATION_BOX "\xf3\xb0\x88\xa9" // U+F0229 file-presentation-box, tags: Files / Folders -#define ICON_MD_FILE_QUESTION "\xf3\xb0\xa1\xaf" // U+F086F file-question, tags: Files / Folders -#define ICON_MD_FILE_QUESTION_OUTLINE "\xf3\xb1\x80\xb6" // U+F1036 file-question-outline, tags: Files / Folders -#define ICON_MD_FILE_REFRESH "\xf3\xb0\xa4\x98" // U+F0918 file-refresh, tags: Files / Folders -#define ICON_MD_FILE_REFRESH_OUTLINE "\xf3\xb0\x95\x81" // U+F0541 file-refresh-outline, tags: Files / Folders -#define ICON_MD_FILE_REMOVE "\xf3\xb0\xae\x98" // U+F0B98 file-remove, tags: Files / Folders -#define ICON_MD_FILE_REMOVE_OUTLINE "\xf3\xb1\x80\xb7" // U+F1037 file-remove-outline, tags: Files / Folders -#define ICON_MD_FILE_REPLACE "\xf3\xb0\xac\xb2" // U+F0B32 file-replace, tags: Files / Folders -#define ICON_MD_FILE_REPLACE_OUTLINE "\xf3\xb0\xac\xb3" // U+F0B33 file-replace-outline, tags: Files / Folders -#define ICON_MD_FILE_RESTORE "\xf3\xb0\x99\xb0" // U+F0670 file-restore, aliases: restore-page, tags: Files / Folders -#define ICON_MD_FILE_RESTORE_OUTLINE "\xf3\xb1\x80\xb8" // U+F1038 file-restore-outline, tags: Files / Folders -#define ICON_MD_FILE_ROTATE_LEFT "\xf3\xb1\xa8\xbb" // U+F1A3B file-rotate-left, aliases: file-rotate-counter-clockwise, file-rotate-ccw, tags: Files / Folders -#define ICON_MD_FILE_ROTATE_LEFT_OUTLINE "\xf3\xb1\xa8\xbc" // U+F1A3C file-rotate-left-outline, aliases: file-rotate-counter-clockwise-outline, file-rotate-ccw-outline, tags: Files / Folders -#define ICON_MD_FILE_ROTATE_RIGHT "\xf3\xb1\xa8\xbd" // U+F1A3D file-rotate-right, aliases: file-rotate-clockwise, tags: Files / Folders -#define ICON_MD_FILE_ROTATE_RIGHT_OUTLINE "\xf3\xb1\xa8\xbe" // U+F1A3E file-rotate-right-outline, aliases: file-rotate-clockwise, tags: Files / Folders -#define ICON_MD_FILE_SEARCH "\xf3\xb0\xb1\xbc" // U+F0C7C file-search, tags: Files / Folders -#define ICON_MD_FILE_SEARCH_OUTLINE "\xf3\xb0\xb1\xbd" // U+F0C7D file-search-outline, tags: Files / Folders -#define ICON_MD_FILE_SEND "\xf3\xb0\x88\xaa" // U+F022A file-send, aliases: file-move, tags: Files / Folders -#define ICON_MD_FILE_SEND_OUTLINE "\xf3\xb1\x80\xb9" // U+F1039 file-send-outline, tags: Files / Folders -#define ICON_MD_FILE_SETTINGS "\xf3\xb1\x81\xb9" // U+F1079 file-settings, tags: Settings, Files / Folders -#define ICON_MD_FILE_SETTINGS_OUTLINE "\xf3\xb1\x81\xba" // U+F107A file-settings-outline, tags: Settings, Files / Folders -#define ICON_MD_FILE_SIGN "\xf3\xb1\xa7\x83" // U+F19C3 file-sign, aliases: contract-sign, document-sign, tags: Banking, Files / Folders -#define ICON_MD_FILE_STAR "\xf3\xb1\x80\xba" // U+F103A file-star, aliases: file-favorite, tags: Files / Folders -#define ICON_MD_FILE_STAR_OUTLINE "\xf3\xb1\x80\xbb" // U+F103B file-star-outline, aliases: file-favorite-outline, tags: Files / Folders -#define ICON_MD_FILE_SWAP "\xf3\xb0\xbe\xb4" // U+F0FB4 file-swap, aliases: file-transfer, tags: Files / Folders -#define ICON_MD_FILE_SWAP_OUTLINE "\xf3\xb0\xbe\xb5" // U+F0FB5 file-swap-outline, aliases: file-transfer-outline, tags: Files / Folders -#define ICON_MD_FILE_SYNC "\xf3\xb1\x88\x96" // U+F1216 file-sync, tags: Files / Folders -#define ICON_MD_FILE_SYNC_OUTLINE "\xf3\xb1\x88\x97" // U+F1217 file-sync-outline, tags: Files / Folders -#define ICON_MD_FILE_TABLE "\xf3\xb0\xb1\xbe" // U+F0C7E file-table, tags: Files / Folders -#define ICON_MD_FILE_TABLE_BOX "\xf3\xb1\x83\xa1" // U+F10E1 file-table-box, tags: Files / Folders -#define ICON_MD_FILE_TABLE_BOX_MULTIPLE "\xf3\xb1\x83\xa2" // U+F10E2 file-table-box-multiple, tags: Files / Folders -#define ICON_MD_FILE_TABLE_BOX_MULTIPLE_OUTLINE "\xf3\xb1\x83\xa3" // U+F10E3 file-table-box-multiple-outline, tags: Files / Folders -#define ICON_MD_FILE_TABLE_BOX_OUTLINE "\xf3\xb1\x83\xa4" // U+F10E4 file-table-box-outline, tags: Files / Folders -#define ICON_MD_FILE_TABLE_OUTLINE "\xf3\xb0\xb1\xbf" // U+F0C7F file-table-outline, tags: Files / Folders -#define ICON_MD_FILE_TREE "\xf3\xb0\x99\x85" // U+F0645 file-tree, aliases: subtasks, tags: Files / Folders -#define ICON_MD_FILE_TREE_OUTLINE "\xf3\xb1\x8f\x92" // U+F13D2 file-tree-outline, tags: Files / Folders -#define ICON_MD_FILE_UNDO "\xf3\xb0\xa3\x9c" // U+F08DC file-undo, aliases: file-revert, file-discard, tags: Files / Folders -#define ICON_MD_FILE_UNDO_OUTLINE "\xf3\xb1\x80\xbc" // U+F103C file-undo-outline, tags: Files / Folders -#define ICON_MD_FILE_UPLOAD "\xf3\xb0\xa9\x8d" // U+F0A4D file-upload, tags: Files / Folders -#define ICON_MD_FILE_UPLOAD_OUTLINE "\xf3\xb0\xa9\x8e" // U+F0A4E file-upload-outline, tags: Files / Folders -#define ICON_MD_FILE_VIDEO "\xf3\xb0\x88\xab" // U+F022B file-video, tags: Video / Movie, Files / Folders -#define ICON_MD_FILE_VIDEO_OUTLINE "\xf3\xb0\xb8\xac" // U+F0E2C file-video-outline, tags: Files / Folders -#define ICON_MD_FILE_WORD "\xf3\xb0\x88\xac" // U+F022C file-word, tags: Files / Folders -#define ICON_MD_FILE_WORD_BOX "\xf3\xb0\x88\xad" // U+F022D file-word-box, tags: Files / Folders -#define ICON_MD_FILE_WORD_BOX_OUTLINE "\xf3\xb1\x80\xbd" // U+F103D file-word-box-outline, tags: Files / Folders -#define ICON_MD_FILE_WORD_OUTLINE "\xf3\xb1\x80\xbe" // U+F103E file-word-outline, tags: Files / Folders -#define ICON_MD_FILE_XML_BOX "\xf3\xb1\xad\x8b" // U+F1B4B file-xml-box, tags: Files / Folders -#define ICON_MD_FILM "\xf3\xb0\x88\xaf" // U+F022F film, aliases: camera-roll, tags: Photography, Video / Movie -#define ICON_MD_FILMSTRIP "\xf3\xb0\x88\xb0" // U+F0230 filmstrip, aliases: local-movies, theaters, tags: Video / Movie -#define ICON_MD_FILMSTRIP_BOX "\xf3\xb0\x8c\xb2" // U+F0332 filmstrip-box -#define ICON_MD_FILMSTRIP_BOX_MULTIPLE "\xf3\xb0\xb4\x98" // U+F0D18 filmstrip-box-multiple, aliases: library-movie, tags: Video / Movie -#define ICON_MD_FILMSTRIP_OFF "\xf3\xb0\x88\xb1" // U+F0231 filmstrip-off, tags: Video / Movie -#define ICON_MD_FILTER "\xf3\xb0\x88\xb2" // U+F0232 filter, aliases: funnel -#define ICON_MD_FILTER_CHECK "\xf3\xb1\xa3\xac" // U+F18EC filter-check, aliases: funnel-check -#define ICON_MD_FILTER_CHECK_OUTLINE "\xf3\xb1\xa3\xad" // U+F18ED filter-check-outline, aliases: funnel-check-outline -#define ICON_MD_FILTER_COG "\xf3\xb1\xaa\xa3" // U+F1AA3 filter-cog, aliases: funnel-settings, filter-settings, funnel-cog, filter-gear, funnel-gear, tags: Settings -#define ICON_MD_FILTER_COG_OUTLINE "\xf3\xb1\xaa\xa4" // U+F1AA4 filter-cog-outline, aliases: filter-settings-outline, filter-gear-outline, funnel-cog-outline, funnel-settings-outline, funnel-gear-outline, tags: Settings -#define ICON_MD_FILTER_MENU "\xf3\xb1\x83\xa5" // U+F10E5 filter-menu -#define ICON_MD_FILTER_MENU_OUTLINE "\xf3\xb1\x83\xa6" // U+F10E6 filter-menu-outline -#define ICON_MD_FILTER_MINUS "\xf3\xb0\xbb\xae" // U+F0EEE filter-minus, aliases: funnel-minus -#define ICON_MD_FILTER_MINUS_OUTLINE "\xf3\xb0\xbb\xaf" // U+F0EEF filter-minus-outline, aliases: funnel-minus-outline -#define ICON_MD_FILTER_MULTIPLE "\xf3\xb1\xa8\xbf" // U+F1A3F filter-multiple, aliases: funnel-multiple -#define ICON_MD_FILTER_MULTIPLE_OUTLINE "\xf3\xb1\xa9\x80" // U+F1A40 filter-multiple-outline, aliases: funnel-multiple-outline -#define ICON_MD_FILTER_OFF "\xf3\xb1\x93\xaf" // U+F14EF filter-off -#define ICON_MD_FILTER_OFF_OUTLINE "\xf3\xb1\x93\xb0" // U+F14F0 filter-off-outline -#define ICON_MD_FILTER_OUTLINE "\xf3\xb0\x88\xb3" // U+F0233 filter-outline, aliases: funnel-outline -#define ICON_MD_FILTER_PLUS "\xf3\xb0\xbb\xb0" // U+F0EF0 filter-plus, aliases: funnel-plus -#define ICON_MD_FILTER_PLUS_OUTLINE "\xf3\xb0\xbb\xb1" // U+F0EF1 filter-plus-outline, aliases: funnel-plus-outline -#define ICON_MD_FILTER_REMOVE "\xf3\xb0\x88\xb4" // U+F0234 filter-remove, aliases: funnel-remove -#define ICON_MD_FILTER_REMOVE_OUTLINE "\xf3\xb0\x88\xb5" // U+F0235 filter-remove-outline, aliases: funnel-remove-outline -#define ICON_MD_FILTER_SETTINGS "\xf3\xb1\xaa\xa5" // U+F1AA5 filter-settings, aliases: funnel-settings, tags: Settings -#define ICON_MD_FILTER_SETTINGS_OUTLINE "\xf3\xb1\xaa\xa6" // U+F1AA6 filter-settings-outline, aliases: funnel-settings-outline, tags: Settings -#define ICON_MD_FILTER_VARIANT "\xf3\xb0\x88\xb6" // U+F0236 filter-variant, aliases: filter-list -#define ICON_MD_FILTER_VARIANT_MINUS "\xf3\xb1\x84\x92" // U+F1112 filter-variant-minus -#define ICON_MD_FILTER_VARIANT_PLUS "\xf3\xb1\x84\x93" // U+F1113 filter-variant-plus -#define ICON_MD_FILTER_VARIANT_REMOVE "\xf3\xb1\x80\xbf" // U+F103F filter-variant-remove -#define ICON_MD_FINANCE "\xf3\xb0\xa0\x9f" // U+F081F finance, aliases: chart-finance, report-finance, graph-bar, tags: Banking, Math -#define ICON_MD_FIND_REPLACE "\xf3\xb0\x9b\x94" // U+F06D4 find-replace -#define ICON_MD_FINGERPRINT "\xf3\xb0\x88\xb7" // U+F0237 fingerprint -#define ICON_MD_FINGERPRINT_OFF "\xf3\xb0\xba\xb1" // U+F0EB1 fingerprint-off -#define ICON_MD_FIRE "\xf3\xb0\x88\xb8" // U+F0238 fire, aliases: whatshot, flame, gas, natural-gas, hot, tags: Home Automation -#define ICON_MD_FIRE_ALERT "\xf3\xb1\x97\x97" // U+F15D7 fire-alert, aliases: flame-alert, tags: Alert / Error, Home Automation -#define ICON_MD_FIRE_CIRCLE "\xf3\xb1\xa0\x87" // U+F1807 fire-circle, aliases: flame-circle, hot-circle, gas-circle, natural-gas-circle, tags: Home Automation -#define ICON_MD_FIRE_EXTINGUISHER "\xf3\xb0\xbb\xb2" // U+F0EF2 fire-extinguisher, tags: Hardware / Tools, Home Automation -#define ICON_MD_FIRE_HYDRANT "\xf3\xb1\x84\xb7" // U+F1137 fire-hydrant -#define ICON_MD_FIRE_HYDRANT_ALERT "\xf3\xb1\x84\xb8" // U+F1138 fire-hydrant-alert, tags: Alert / Error -#define ICON_MD_FIRE_HYDRANT_OFF "\xf3\xb1\x84\xb9" // U+F1139 fire-hydrant-off -#define ICON_MD_FIRE_OFF "\xf3\xb1\x9c\xa2" // U+F1722 fire-off, aliases: flame-off, tags: Home Automation -#define ICON_MD_FIRE_TRUCK "\xf3\xb0\xa2\xab" // U+F08AB fire-truck, aliases: fire-engine, tags: Transportation + Road -#define ICON_MD_FIREBASE "\xf3\xb0\xa5\xa7" // U+F0967 firebase, tags: Brand / Logo -#define ICON_MD_FIREFOX "\xf3\xb0\x88\xb9" // U+F0239 firefox, aliases: mozilla-firefox, tags: Brand / Logo -#define ICON_MD_FIREPLACE "\xf3\xb0\xb8\xae" // U+F0E2E fireplace, tags: Home Automation -#define ICON_MD_FIREPLACE_OFF "\xf3\xb0\xb8\xaf" // U+F0E2F fireplace-off, tags: Home Automation -#define ICON_MD_FIREWIRE "\xf3\xb0\x96\xbe" // U+F05BE firewire -#define ICON_MD_FIREWORK "\xf3\xb0\xb8\xb0" // U+F0E30 firework, aliases: bottle-rocket, tags: Holiday -#define ICON_MD_FIREWORK_OFF "\xf3\xb1\x9c\xa3" // U+F1723 firework-off -#define ICON_MD_FISH "\xf3\xb0\x88\xba" // U+F023A fish, tags: Animal, Food / Drink -#define ICON_MD_FISH_OFF "\xf3\xb1\x8f\xb3" // U+F13F3 fish-off, tags: Food / Drink -#define ICON_MD_FISHBOWL "\xf3\xb0\xbb\xb3" // U+F0EF3 fishbowl, aliases: aquarium, tags: Animal -#define ICON_MD_FISHBOWL_OUTLINE "\xf3\xb0\xbb\xb4" // U+F0EF4 fishbowl-outline, aliases: aquarium-outline, tags: Animal -#define ICON_MD_FIT_TO_PAGE "\xf3\xb0\xbb\xb5" // U+F0EF5 fit-to-page, tags: Text / Content / Format, Arrow -#define ICON_MD_FIT_TO_PAGE_OUTLINE "\xf3\xb0\xbb\xb6" // U+F0EF6 fit-to-page-outline, tags: Text / Content / Format, Arrow -#define ICON_MD_FIT_TO_SCREEN "\xf3\xb1\xa3\xb4" // U+F18F4 fit-to-screen -#define ICON_MD_FIT_TO_SCREEN_OUTLINE "\xf3\xb1\xa3\xb5" // U+F18F5 fit-to-screen-outline -#define ICON_MD_FLAG "\xf3\xb0\x88\xbb" // U+F023B flag, aliases: assistant-photo -#define ICON_MD_FLAG_CHECKERED "\xf3\xb0\x88\xbc" // U+F023C flag-checkered, aliases: goal, tags: Sport -#define ICON_MD_FLAG_MINUS "\xf3\xb0\xae\x99" // U+F0B99 flag-minus -#define ICON_MD_FLAG_MINUS_OUTLINE "\xf3\xb1\x82\xb2" // U+F10B2 flag-minus-outline -#define ICON_MD_FLAG_OFF "\xf3\xb1\xa3\xae" // U+F18EE flag-off -#define ICON_MD_FLAG_OFF_OUTLINE "\xf3\xb1\xa3\xaf" // U+F18EF flag-off-outline -#define ICON_MD_FLAG_OUTLINE "\xf3\xb0\x88\xbd" // U+F023D flag-outline -#define ICON_MD_FLAG_PLUS "\xf3\xb0\xae\x9a" // U+F0B9A flag-plus, aliases: flag-add -#define ICON_MD_FLAG_PLUS_OUTLINE "\xf3\xb1\x82\xb3" // U+F10B3 flag-plus-outline -#define ICON_MD_FLAG_REMOVE "\xf3\xb0\xae\x9b" // U+F0B9B flag-remove -#define ICON_MD_FLAG_REMOVE_OUTLINE "\xf3\xb1\x82\xb4" // U+F10B4 flag-remove-outline -#define ICON_MD_FLAG_TRIANGLE "\xf3\xb0\x88\xbf" // U+F023F flag-triangle, aliases: milestone -#define ICON_MD_FLAG_VARIANT "\xf3\xb0\x89\x80" // U+F0240 flag-variant -#define ICON_MD_FLAG_VARIANT_MINUS "\xf3\xb1\xae\xb4" // U+F1BB4 flag-variant-minus -#define ICON_MD_FLAG_VARIANT_MINUS_OUTLINE "\xf3\xb1\xae\xb5" // U+F1BB5 flag-variant-minus-outline -#define ICON_MD_FLAG_VARIANT_OFF "\xf3\xb1\xae\xb0" // U+F1BB0 flag-variant-off -#define ICON_MD_FLAG_VARIANT_OFF_OUTLINE "\xf3\xb1\xae\xb1" // U+F1BB1 flag-variant-off-outline -#define ICON_MD_FLAG_VARIANT_OUTLINE "\xf3\xb0\x88\xbe" // U+F023E flag-variant-outline -#define ICON_MD_FLAG_VARIANT_PLUS "\xf3\xb1\xae\xb2" // U+F1BB2 flag-variant-plus -#define ICON_MD_FLAG_VARIANT_PLUS_OUTLINE "\xf3\xb1\xae\xb3" // U+F1BB3 flag-variant-plus-outline -#define ICON_MD_FLAG_VARIANT_REMOVE "\xf3\xb1\xae\xb6" // U+F1BB6 flag-variant-remove -#define ICON_MD_FLAG_VARIANT_REMOVE_OUTLINE "\xf3\xb1\xae\xb7" // U+F1BB7 flag-variant-remove-outline -#define ICON_MD_FLARE "\xf3\xb0\xb5\xb2" // U+F0D72 flare, aliases: star -#define ICON_MD_FLASH "\xf3\xb0\x89\x81" // U+F0241 flash, aliases: lightning-bolt, flash-on, electricity, tags: Weather -#define ICON_MD_FLASH_ALERT "\xf3\xb0\xbb\xb7" // U+F0EF7 flash-alert, aliases: lightning-alert, storm-advisory, tags: Weather, Alert / Error -#define ICON_MD_FLASH_ALERT_OUTLINE "\xf3\xb0\xbb\xb8" // U+F0EF8 flash-alert-outline, aliases: lightning-alert-outline, storm-advisory-outline, tags: Weather, Alert / Error -#define ICON_MD_FLASH_AUTO "\xf3\xb0\x89\x82" // U+F0242 flash-auto -#define ICON_MD_FLASH_OFF "\xf3\xb0\x89\x83" // U+F0243 flash-off -#define ICON_MD_FLASH_OFF_OUTLINE "\xf3\xb1\xad\x85" // U+F1B45 flash-off-outline -#define ICON_MD_FLASH_OUTLINE "\xf3\xb0\x9b\x95" // U+F06D5 flash-outline, aliases: lightning-bolt-outline, tags: Weather -#define ICON_MD_FLASH_RED_EYE "\xf3\xb0\x99\xbb" // U+F067B flash-red-eye -#define ICON_MD_FLASH_TRIANGLE "\xf3\xb1\xac\x9d" // U+F1B1D flash-triangle, aliases: high-voltage, tags: Home Automation -#define ICON_MD_FLASH_TRIANGLE_OUTLINE "\xf3\xb1\xac\x9e" // U+F1B1E flash-triangle-outline, aliases: high-voltage-outline, tags: Home Automation -#define ICON_MD_FLASHLIGHT "\xf3\xb0\x89\x84" // U+F0244 flashlight, aliases: torch -#define ICON_MD_FLASHLIGHT_OFF "\xf3\xb0\x89\x85" // U+F0245 flashlight-off, aliases: torch-off -#define ICON_MD_FLASK "\xf3\xb0\x82\x93" // U+F0093 flask, tags: Science, Gaming / RPG -#define ICON_MD_FLASK_EMPTY "\xf3\xb0\x82\x94" // U+F0094 flask-empty, tags: Science, Gaming / RPG -#define ICON_MD_FLASK_EMPTY_MINUS "\xf3\xb1\x88\xba" // U+F123A flask-empty-minus, tags: Science -#define ICON_MD_FLASK_EMPTY_MINUS_OUTLINE "\xf3\xb1\x88\xbb" // U+F123B flask-empty-minus-outline, tags: Science -#define ICON_MD_FLASK_EMPTY_OFF "\xf3\xb1\x8f\xb4" // U+F13F4 flask-empty-off -#define ICON_MD_FLASK_EMPTY_OFF_OUTLINE "\xf3\xb1\x8f\xb5" // U+F13F5 flask-empty-off-outline -#define ICON_MD_FLASK_EMPTY_OUTLINE "\xf3\xb0\x82\x95" // U+F0095 flask-empty-outline, tags: Science, Gaming / RPG -#define ICON_MD_FLASK_EMPTY_PLUS "\xf3\xb1\x88\xbc" // U+F123C flask-empty-plus, tags: Science -#define ICON_MD_FLASK_EMPTY_PLUS_OUTLINE "\xf3\xb1\x88\xbd" // U+F123D flask-empty-plus-outline, tags: Science -#define ICON_MD_FLASK_EMPTY_REMOVE "\xf3\xb1\x88\xbe" // U+F123E flask-empty-remove, tags: Science -#define ICON_MD_FLASK_EMPTY_REMOVE_OUTLINE "\xf3\xb1\x88\xbf" // U+F123F flask-empty-remove-outline, tags: Science -#define ICON_MD_FLASK_MINUS "\xf3\xb1\x89\x80" // U+F1240 flask-minus, tags: Science -#define ICON_MD_FLASK_MINUS_OUTLINE "\xf3\xb1\x89\x81" // U+F1241 flask-minus-outline, tags: Science -#define ICON_MD_FLASK_OFF "\xf3\xb1\x8f\xb6" // U+F13F6 flask-off -#define ICON_MD_FLASK_OFF_OUTLINE "\xf3\xb1\x8f\xb7" // U+F13F7 flask-off-outline -#define ICON_MD_FLASK_OUTLINE "\xf3\xb0\x82\x96" // U+F0096 flask-outline, tags: Science, Gaming / RPG -#define ICON_MD_FLASK_PLUS "\xf3\xb1\x89\x82" // U+F1242 flask-plus, tags: Science -#define ICON_MD_FLASK_PLUS_OUTLINE "\xf3\xb1\x89\x83" // U+F1243 flask-plus-outline, tags: Science -#define ICON_MD_FLASK_REMOVE "\xf3\xb1\x89\x84" // U+F1244 flask-remove, tags: Science -#define ICON_MD_FLASK_REMOVE_OUTLINE "\xf3\xb1\x89\x85" // U+F1245 flask-remove-outline, tags: Science -#define ICON_MD_FLASK_ROUND_BOTTOM "\xf3\xb1\x89\x8b" // U+F124B flask-round-bottom, tags: Science -#define ICON_MD_FLASK_ROUND_BOTTOM_EMPTY "\xf3\xb1\x89\x8c" // U+F124C flask-round-bottom-empty, tags: Science -#define ICON_MD_FLASK_ROUND_BOTTOM_EMPTY_OUTLINE "\xf3\xb1\x89\x8d" // U+F124D flask-round-bottom-empty-outline, tags: Science -#define ICON_MD_FLASK_ROUND_BOTTOM_OUTLINE "\xf3\xb1\x89\x8e" // U+F124E flask-round-bottom-outline, tags: Science -#define ICON_MD_FLEUR_DE_LIS "\xf3\xb1\x8c\x83" // U+F1303 fleur-de-lis -#define ICON_MD_FLIP_HORIZONTAL "\xf3\xb1\x83\xa7" // U+F10E7 flip-horizontal, tags: Arrange -#define ICON_MD_FLIP_TO_BACK "\xf3\xb0\x89\x87" // U+F0247 flip-to-back, tags: Arrange -#define ICON_MD_FLIP_TO_FRONT "\xf3\xb0\x89\x88" // U+F0248 flip-to-front, tags: Arrange -#define ICON_MD_FLIP_VERTICAL "\xf3\xb1\x83\xa8" // U+F10E8 flip-vertical, tags: Arrange -#define ICON_MD_FLOOR_LAMP "\xf3\xb0\xa3\x9d" // U+F08DD floor-lamp, aliases: floor-light, tags: Home Automation -#define ICON_MD_FLOOR_LAMP_DUAL "\xf3\xb1\x81\x80" // U+F1040 floor-lamp-dual, aliases: floor-light-dual, tags: Home Automation -#define ICON_MD_FLOOR_LAMP_DUAL_OUTLINE "\xf3\xb1\x9f\x8e" // U+F17CE floor-lamp-dual-outline, aliases: floor-light-dual-outline, tags: Home Automation -#define ICON_MD_FLOOR_LAMP_OUTLINE "\xf3\xb1\x9f\x88" // U+F17C8 floor-lamp-outline, aliases: floor-light-outline, tags: Home Automation -#define ICON_MD_FLOOR_LAMP_TORCHIERE "\xf3\xb1\x9d\x87" // U+F1747 floor-lamp-torchiere, aliases: floor-light-torchiere, tags: Home Automation -#define ICON_MD_FLOOR_LAMP_TORCHIERE_OUTLINE "\xf3\xb1\x9f\x96" // U+F17D6 floor-lamp-torchiere-outline, tags: Home Automation -#define ICON_MD_FLOOR_LAMP_TORCHIERE_VARIANT "\xf3\xb1\x81\x81" // U+F1041 floor-lamp-torchiere-variant, aliases: floor-light-torchiere-variant, tags: Home Automation -#define ICON_MD_FLOOR_LAMP_TORCHIERE_VARIANT_OUTLINE "\xf3\xb1\x9f\x8f" // U+F17CF floor-lamp-torchiere-variant-outline, aliases: floor-light-torchiere-variant-outline, tags: Home Automation -#define ICON_MD_FLOOR_PLAN "\xf3\xb0\xa0\xa1" // U+F0821 floor-plan, tags: Home Automation -#define ICON_MD_FLOPPY "\xf3\xb0\x89\x89" // U+F0249 floppy -#define ICON_MD_FLOPPY_VARIANT "\xf3\xb0\xa7\xaf" // U+F09EF floppy-variant -#define ICON_MD_FLOWER "\xf3\xb0\x89\x8a" // U+F024A flower, aliases: local-florist, plant, tags: Nature -#define ICON_MD_FLOWER_OUTLINE "\xf3\xb0\xa7\xb0" // U+F09F0 flower-outline, aliases: local-florist-outline, plant, tags: Nature -#define ICON_MD_FLOWER_POLLEN "\xf3\xb1\xa2\x85" // U+F1885 flower-pollen, aliases: allergy, tags: Nature -#define ICON_MD_FLOWER_POLLEN_OUTLINE "\xf3\xb1\xa2\x86" // U+F1886 flower-pollen-outline, aliases: allergy-outline, tags: Nature -#define ICON_MD_FLOWER_POPPY "\xf3\xb0\xb4\x88" // U+F0D08 flower-poppy, aliases: plant, tags: Nature -#define ICON_MD_FLOWER_TULIP "\xf3\xb0\xa7\xb1" // U+F09F1 flower-tulip, aliases: plant, tags: Nature -#define ICON_MD_FLOWER_TULIP_OUTLINE "\xf3\xb0\xa7\xb2" // U+F09F2 flower-tulip-outline, aliases: plant, tags: Nature -#define ICON_MD_FOCUS_AUTO "\xf3\xb0\xbd\x8e" // U+F0F4E focus-auto, tags: Photography -#define ICON_MD_FOCUS_FIELD "\xf3\xb0\xbd\x8f" // U+F0F4F focus-field, tags: Photography -#define ICON_MD_FOCUS_FIELD_HORIZONTAL "\xf3\xb0\xbd\x90" // U+F0F50 focus-field-horizontal, tags: Photography -#define ICON_MD_FOCUS_FIELD_VERTICAL "\xf3\xb0\xbd\x91" // U+F0F51 focus-field-vertical, tags: Photography -#define ICON_MD_FOLDER "\xf3\xb0\x89\x8b" // U+F024B folder, tags: Files / Folders -#define ICON_MD_FOLDER_ACCOUNT "\xf3\xb0\x89\x8c" // U+F024C folder-account, aliases: folder-user, folder-shared, tags: Account / User, Files / Folders -#define ICON_MD_FOLDER_ACCOUNT_OUTLINE "\xf3\xb0\xae\x9c" // U+F0B9C folder-account-outline, aliases: folder-user-outline, folder-shared-outline, tags: Files / Folders, Account / User -#define ICON_MD_FOLDER_ALERT "\xf3\xb0\xb7\x8c" // U+F0DCC folder-alert, aliases: folder-warning, tags: Files / Folders, Alert / Error -#define ICON_MD_FOLDER_ALERT_OUTLINE "\xf3\xb0\xb7\x8d" // U+F0DCD folder-alert-outline, aliases: folder-warning-outline, tags: Files / Folders, Alert / Error -#define ICON_MD_FOLDER_ARROW_DOWN "\xf3\xb1\xa7\xa8" // U+F19E8 folder-arrow-down, aliases: folder-download, tags: Files / Folders -#define ICON_MD_FOLDER_ARROW_DOWN_OUTLINE "\xf3\xb1\xa7\xa9" // U+F19E9 folder-arrow-down-outline, aliases: folder-download-outline, tags: Files / Folders -#define ICON_MD_FOLDER_ARROW_LEFT "\xf3\xb1\xa7\xaa" // U+F19EA folder-arrow-left, tags: Files / Folders -#define ICON_MD_FOLDER_ARROW_LEFT_OUTLINE "\xf3\xb1\xa7\xab" // U+F19EB folder-arrow-left-outline, tags: Files / Folders -#define ICON_MD_FOLDER_ARROW_LEFT_RIGHT "\xf3\xb1\xa7\xac" // U+F19EC folder-arrow-left-right, tags: Files / Folders -#define ICON_MD_FOLDER_ARROW_LEFT_RIGHT_OUTLINE "\xf3\xb1\xa7\xad" // U+F19ED folder-arrow-left-right-outline, tags: Files / Folders -#define ICON_MD_FOLDER_ARROW_RIGHT "\xf3\xb1\xa7\xae" // U+F19EE folder-arrow-right, tags: Files / Folders -#define ICON_MD_FOLDER_ARROW_RIGHT_OUTLINE "\xf3\xb1\xa7\xaf" // U+F19EF folder-arrow-right-outline, tags: Files / Folders -#define ICON_MD_FOLDER_ARROW_UP "\xf3\xb1\xa7\xb0" // U+F19F0 folder-arrow-up, aliases: folder-upload, tags: Files / Folders -#define ICON_MD_FOLDER_ARROW_UP_DOWN "\xf3\xb1\xa7\xb1" // U+F19F1 folder-arrow-up-down, aliases: folder-transfer, tags: Files / Folders -#define ICON_MD_FOLDER_ARROW_UP_DOWN_OUTLINE "\xf3\xb1\xa7\xb2" // U+F19F2 folder-arrow-up-down-outline, aliases: folder-transfer-outline, tags: Files / Folders -#define ICON_MD_FOLDER_ARROW_UP_OUTLINE "\xf3\xb1\xa7\xb3" // U+F19F3 folder-arrow-up-outline, aliases: folder-upload-outline, tags: Files / Folders -#define ICON_MD_FOLDER_CANCEL "\xf3\xb1\xa7\xb4" // U+F19F4 folder-cancel, tags: Files / Folders -#define ICON_MD_FOLDER_CANCEL_OUTLINE "\xf3\xb1\xa7\xb5" // U+F19F5 folder-cancel-outline, tags: Files / Folders -#define ICON_MD_FOLDER_CHECK "\xf3\xb1\xa5\xbe" // U+F197E folder-check, tags: Files / Folders -#define ICON_MD_FOLDER_CHECK_OUTLINE "\xf3\xb1\xa5\xbf" // U+F197F folder-check-outline, tags: Files / Folders -#define ICON_MD_FOLDER_CLOCK "\xf3\xb0\xaa\xba" // U+F0ABA folder-clock, tags: Files / Folders, Date / Time -#define ICON_MD_FOLDER_CLOCK_OUTLINE "\xf3\xb0\xaa\xbb" // U+F0ABB folder-clock-outline, tags: Files / Folders, Date / Time -#define ICON_MD_FOLDER_COG "\xf3\xb1\x81\xbf" // U+F107F folder-cog, aliases: folder-cog, tags: Settings, Files / Folders -#define ICON_MD_FOLDER_COG_OUTLINE "\xf3\xb1\x82\x80" // U+F1080 folder-cog-outline, aliases: folder-cog-outline, tags: Settings, Files / Folders -#define ICON_MD_FOLDER_DOWNLOAD "\xf3\xb0\x89\x8d" // U+F024D folder-download, tags: Files / Folders -#define ICON_MD_FOLDER_DOWNLOAD_OUTLINE "\xf3\xb1\x83\xa9" // U+F10E9 folder-download-outline, tags: Files / Folders -#define ICON_MD_FOLDER_EDIT "\xf3\xb0\xa3\x9e" // U+F08DE folder-edit, tags: Files / Folders, Edit / Modify -#define ICON_MD_FOLDER_EDIT_OUTLINE "\xf3\xb0\xb7\x8e" // U+F0DCE folder-edit-outline, tags: Edit / Modify, Files / Folders -#define ICON_MD_FOLDER_EYE "\xf3\xb1\x9e\x8a" // U+F178A folder-eye, tags: Files / Folders -#define ICON_MD_FOLDER_EYE_OUTLINE "\xf3\xb1\x9e\x8b" // U+F178B folder-eye-outline, tags: Files / Folders -#define ICON_MD_FOLDER_FILE "\xf3\xb1\xa7\xb6" // U+F19F6 folder-file, tags: Files / Folders -#define ICON_MD_FOLDER_FILE_OUTLINE "\xf3\xb1\xa7\xb7" // U+F19F7 folder-file-outline, tags: Files / Folders -#define ICON_MD_FOLDER_GOOGLE_DRIVE "\xf3\xb0\x89\x8e" // U+F024E folder-google-drive, aliases: folder-mydrive, tags: Files / Folders, Brand / Logo -#define ICON_MD_FOLDER_HEART "\xf3\xb1\x83\xaa" // U+F10EA folder-heart, tags: Files / Folders -#define ICON_MD_FOLDER_HEART_OUTLINE "\xf3\xb1\x83\xab" // U+F10EB folder-heart-outline, tags: Files / Folders -#define ICON_MD_FOLDER_HIDDEN "\xf3\xb1\x9e\x9e" // U+F179E folder-hidden, tags: Files / Folders -#define ICON_MD_FOLDER_HOME "\xf3\xb1\x82\xb5" // U+F10B5 folder-home, aliases: folder-house, tags: Files / Folders, Home Automation -#define ICON_MD_FOLDER_HOME_OUTLINE "\xf3\xb1\x82\xb6" // U+F10B6 folder-home-outline, aliases: folder-house-outline, tags: Files / Folders, Home Automation -#define ICON_MD_FOLDER_IMAGE "\xf3\xb0\x89\x8f" // U+F024F folder-image, tags: Files / Folders -#define ICON_MD_FOLDER_INFORMATION "\xf3\xb1\x82\xb7" // U+F10B7 folder-information, tags: Files / Folders -#define ICON_MD_FOLDER_INFORMATION_OUTLINE "\xf3\xb1\x82\xb8" // U+F10B8 folder-information-outline, tags: Files / Folders -#define ICON_MD_FOLDER_KEY "\xf3\xb0\xa2\xac" // U+F08AC folder-key, tags: Files / Folders -#define ICON_MD_FOLDER_KEY_NETWORK "\xf3\xb0\xa2\xad" // U+F08AD folder-key-network, tags: Files / Folders -#define ICON_MD_FOLDER_KEY_NETWORK_OUTLINE "\xf3\xb0\xb2\x80" // U+F0C80 folder-key-network-outline, tags: Files / Folders -#define ICON_MD_FOLDER_KEY_OUTLINE "\xf3\xb1\x83\xac" // U+F10EC folder-key-outline, tags: Files / Folders -#define ICON_MD_FOLDER_LOCK "\xf3\xb0\x89\x90" // U+F0250 folder-lock, tags: Lock, Files / Folders -#define ICON_MD_FOLDER_LOCK_OPEN "\xf3\xb0\x89\x91" // U+F0251 folder-lock-open, tags: Lock, Files / Folders -#define ICON_MD_FOLDER_LOCK_OPEN_OUTLINE "\xf3\xb1\xaa\xa7" // U+F1AA7 folder-lock-open-outline, tags: Files / Folders, Lock -#define ICON_MD_FOLDER_LOCK_OUTLINE "\xf3\xb1\xaa\xa8" // U+F1AA8 folder-lock-outline, tags: Files / Folders, Lock -#define ICON_MD_FOLDER_MARKER "\xf3\xb1\x89\xad" // U+F126D folder-marker, aliases: folder-location, tags: Geographic Information System, Files / Folders, Navigation -#define ICON_MD_FOLDER_MARKER_OUTLINE "\xf3\xb1\x89\xae" // U+F126E folder-marker-outline, aliases: folder-location-outline, tags: Geographic Information System, Files / Folders, Navigation -#define ICON_MD_FOLDER_MINUS "\xf3\xb1\xad\x89" // U+F1B49 folder-minus, tags: Files / Folders -#define ICON_MD_FOLDER_MINUS_OUTLINE "\xf3\xb1\xad\x8a" // U+F1B4A folder-minus-outline, tags: Files / Folders -#define ICON_MD_FOLDER_MOVE "\xf3\xb0\x89\x92" // U+F0252 folder-move, tags: Files / Folders -#define ICON_MD_FOLDER_MOVE_OUTLINE "\xf3\xb1\x89\x86" // U+F1246 folder-move-outline, tags: Files / Folders -#define ICON_MD_FOLDER_MULTIPLE "\xf3\xb0\x89\x93" // U+F0253 folder-multiple, aliases: folders, tags: Files / Folders -#define ICON_MD_FOLDER_MULTIPLE_IMAGE "\xf3\xb0\x89\x94" // U+F0254 folder-multiple-image, aliases: perm-media, folders-image, tags: Files / Folders -#define ICON_MD_FOLDER_MULTIPLE_OUTLINE "\xf3\xb0\x89\x95" // U+F0255 folder-multiple-outline, aliases: folders-outline, tags: Files / Folders -#define ICON_MD_FOLDER_MULTIPLE_PLUS "\xf3\xb1\x91\xbe" // U+F147E folder-multiple-plus, tags: Files / Folders -#define ICON_MD_FOLDER_MULTIPLE_PLUS_OUTLINE "\xf3\xb1\x91\xbf" // U+F147F folder-multiple-plus-outline, tags: Files / Folders -#define ICON_MD_FOLDER_MUSIC "\xf3\xb1\x8d\x99" // U+F1359 folder-music, tags: Files / Folders, Music -#define ICON_MD_FOLDER_MUSIC_OUTLINE "\xf3\xb1\x8d\x9a" // U+F135A folder-music-outline, tags: Files / Folders, Music -#define ICON_MD_FOLDER_NETWORK "\xf3\xb0\xa1\xb0" // U+F0870 folder-network, tags: Files / Folders -#define ICON_MD_FOLDER_NETWORK_OUTLINE "\xf3\xb0\xb2\x81" // U+F0C81 folder-network-outline, tags: Files / Folders -#define ICON_MD_FOLDER_OFF "\xf3\xb1\xa7\xb8" // U+F19F8 folder-off, tags: Files / Folders -#define ICON_MD_FOLDER_OFF_OUTLINE "\xf3\xb1\xa7\xb9" // U+F19F9 folder-off-outline, tags: Files / Folders -#define ICON_MD_FOLDER_OPEN "\xf3\xb0\x9d\xb0" // U+F0770 folder-open, tags: Files / Folders -#define ICON_MD_FOLDER_OPEN_OUTLINE "\xf3\xb0\xb7\x8f" // U+F0DCF folder-open-outline, tags: Files / Folders -#define ICON_MD_FOLDER_OUTLINE "\xf3\xb0\x89\x96" // U+F0256 folder-outline, aliases: folder-open, tags: Files / Folders -#define ICON_MD_FOLDER_PLAY "\xf3\xb1\xa7\xba" // U+F19FA folder-play, aliases: folder-media, folder-music, folder-video, tags: Files / Folders -#define ICON_MD_FOLDER_PLAY_OUTLINE "\xf3\xb1\xa7\xbb" // U+F19FB folder-play-outline, aliases: folder-media-outline, folder-music-outline, folder-video-outline, tags: Files / Folders -#define ICON_MD_FOLDER_PLUS "\xf3\xb0\x89\x97" // U+F0257 folder-plus, aliases: create-new-folder, folder-add, tags: Files / Folders -#define ICON_MD_FOLDER_PLUS_OUTLINE "\xf3\xb0\xae\x9d" // U+F0B9D folder-plus-outline, aliases: create-new-folder-outline, folder-add-outline, tags: Files / Folders -#define ICON_MD_FOLDER_POUND "\xf3\xb0\xb4\x89" // U+F0D09 folder-pound, aliases: folder-hash, tags: Files / Folders, Developer / Languages -#define ICON_MD_FOLDER_POUND_OUTLINE "\xf3\xb0\xb4\x8a" // U+F0D0A folder-pound-outline, aliases: folder-hash-outline, tags: Files / Folders, Developer / Languages -#define ICON_MD_FOLDER_QUESTION "\xf3\xb1\xa7\x8a" // U+F19CA folder-question, aliases: folder-help, tags: Files / Folders -#define ICON_MD_FOLDER_QUESTION_OUTLINE "\xf3\xb1\xa7\x8b" // U+F19CB folder-question-outline, aliases: folder-help-outline, tags: Files / Folders -#define ICON_MD_FOLDER_REFRESH "\xf3\xb0\x9d\x89" // U+F0749 folder-refresh, tags: Files / Folders -#define ICON_MD_FOLDER_REFRESH_OUTLINE "\xf3\xb0\x95\x82" // U+F0542 folder-refresh-outline, tags: Files / Folders -#define ICON_MD_FOLDER_REMOVE "\xf3\xb0\x89\x98" // U+F0258 folder-remove, tags: Files / Folders -#define ICON_MD_FOLDER_REMOVE_OUTLINE "\xf3\xb0\xae\x9e" // U+F0B9E folder-remove-outline, tags: Files / Folders -#define ICON_MD_FOLDER_SEARCH "\xf3\xb0\xa5\xa8" // U+F0968 folder-search, tags: Files / Folders -#define ICON_MD_FOLDER_SEARCH_OUTLINE "\xf3\xb0\xa5\xa9" // U+F0969 folder-search-outline, tags: Files / Folders -#define ICON_MD_FOLDER_SETTINGS "\xf3\xb1\x81\xbd" // U+F107D folder-settings, tags: Settings, Files / Folders -#define ICON_MD_FOLDER_SETTINGS_OUTLINE "\xf3\xb1\x81\xbe" // U+F107E folder-settings-outline, tags: Settings, Files / Folders -#define ICON_MD_FOLDER_STAR "\xf3\xb0\x9a\x9d" // U+F069D folder-star, aliases: folder-special, folder-favorite, tags: Files / Folders -#define ICON_MD_FOLDER_STAR_MULTIPLE "\xf3\xb1\x8f\x93" // U+F13D3 folder-star-multiple, aliases: folder-favorite-multiple, tags: Files / Folders -#define ICON_MD_FOLDER_STAR_MULTIPLE_OUTLINE "\xf3\xb1\x8f\x94" // U+F13D4 folder-star-multiple-outline, aliases: folder-favorite-multiple-outline, tags: Files / Folders -#define ICON_MD_FOLDER_STAR_OUTLINE "\xf3\xb0\xae\x9f" // U+F0B9F folder-star-outline, aliases: folder-special-outline, folder-favorite-outline, tags: Files / Folders -#define ICON_MD_FOLDER_SWAP "\xf3\xb0\xbe\xb6" // U+F0FB6 folder-swap, aliases: folder-transfer, tags: Files / Folders -#define ICON_MD_FOLDER_SWAP_OUTLINE "\xf3\xb0\xbe\xb7" // U+F0FB7 folder-swap-outline, aliases: folder-transfer-outline, tags: Files / Folders -#define ICON_MD_FOLDER_SYNC "\xf3\xb0\xb4\x8b" // U+F0D0B folder-sync, tags: Files / Folders -#define ICON_MD_FOLDER_SYNC_OUTLINE "\xf3\xb0\xb4\x8c" // U+F0D0C folder-sync-outline, tags: Files / Folders -#define ICON_MD_FOLDER_TABLE "\xf3\xb1\x8b\xa3" // U+F12E3 folder-table, tags: Files / Folders -#define ICON_MD_FOLDER_TABLE_OUTLINE "\xf3\xb1\x8b\xa4" // U+F12E4 folder-table-outline, tags: Files / Folders -#define ICON_MD_FOLDER_TEXT "\xf3\xb0\xb2\x82" // U+F0C82 folder-text, tags: Files / Folders -#define ICON_MD_FOLDER_TEXT_OUTLINE "\xf3\xb0\xb2\x83" // U+F0C83 folder-text-outline, tags: Files / Folders -#define ICON_MD_FOLDER_UPLOAD "\xf3\xb0\x89\x99" // U+F0259 folder-upload, tags: Files / Folders -#define ICON_MD_FOLDER_UPLOAD_OUTLINE "\xf3\xb1\x83\xad" // U+F10ED folder-upload-outline, tags: Files / Folders -#define ICON_MD_FOLDER_WRENCH "\xf3\xb1\xa7\xbc" // U+F19FC folder-wrench, aliases: folder-settings, tags: Files / Folders -#define ICON_MD_FOLDER_WRENCH_OUTLINE "\xf3\xb1\xa7\xbd" // U+F19FD folder-wrench-outline, aliases: folder-settings-outline, tags: Files / Folders -#define ICON_MD_FOLDER_ZIP "\xf3\xb0\x9b\xab" // U+F06EB folder-zip, aliases: compressed-folder, tags: Files / Folders -#define ICON_MD_FOLDER_ZIP_OUTLINE "\xf3\xb0\x9e\xb9" // U+F07B9 folder-zip-outline, aliases: compressed-folder-outline, tags: Files / Folders -#define ICON_MD_FONT_AWESOME "\xf3\xb0\x80\xba" // U+F003A font-awesome, tags: Brand / Logo -#define ICON_MD_FOOD "\xf3\xb0\x89\x9a" // U+F025A food, aliases: fast-food, burger, cup, drink, hamburger, tags: Food / Drink -#define ICON_MD_FOOD_APPLE "\xf3\xb0\x89\x9b" // U+F025B food-apple, tags: Food / Drink, Agriculture -#define ICON_MD_FOOD_APPLE_OUTLINE "\xf3\xb0\xb2\x84" // U+F0C84 food-apple-outline, tags: Food / Drink, Agriculture -#define ICON_MD_FOOD_CROISSANT "\xf3\xb0\x9f\x88" // U+F07C8 food-croissant, tags: Food / Drink -#define ICON_MD_FOOD_DRUMSTICK "\xf3\xb1\x90\x9f" // U+F141F food-drumstick, aliases: chicken-leg, turkey-leg, meat, tags: Food / Drink -#define ICON_MD_FOOD_DRUMSTICK_OFF "\xf3\xb1\x91\xa8" // U+F1468 food-drumstick-off, aliases: chicken-leg-off, turkey-leg-off, meat-off, tags: Food / Drink -#define ICON_MD_FOOD_DRUMSTICK_OFF_OUTLINE "\xf3\xb1\x91\xa9" // U+F1469 food-drumstick-off-outline, aliases: chicken-leg-off-outline, turkey-leg-off-outline, meat-off-outline, tags: Food / Drink -#define ICON_MD_FOOD_DRUMSTICK_OUTLINE "\xf3\xb1\x90\xa0" // U+F1420 food-drumstick-outline, aliases: chicken-leg-outline, turkey-leg-outline, meat-outline, tags: Food / Drink -#define ICON_MD_FOOD_FORK_DRINK "\xf3\xb0\x97\xb2" // U+F05F2 food-fork-drink, aliases: food-fork-cup, tags: Food / Drink -#define ICON_MD_FOOD_HALAL "\xf3\xb1\x95\xb2" // U+F1572 food-halal, aliases: food-muslim, dietary-restriction, tags: Food / Drink -#define ICON_MD_FOOD_HOT_DOG "\xf3\xb1\xa1\x8b" // U+F184B food-hot-dog, aliases: food-weiner, food-frankfurter, tags: Food / Drink -#define ICON_MD_FOOD_KOSHER "\xf3\xb1\x95\xb3" // U+F1573 food-kosher, aliases: food-jewish, dietary-restriction, tags: Food / Drink -#define ICON_MD_FOOD_OFF "\xf3\xb0\x97\xb3" // U+F05F3 food-off, aliases: fast-food-off, burger-off, cup-off, drink-off, hamburger-off, tags: Food / Drink -#define ICON_MD_FOOD_OFF_OUTLINE "\xf3\xb1\xa4\x95" // U+F1915 food-off-outline, tags: Food / Drink -#define ICON_MD_FOOD_OUTLINE "\xf3\xb1\xa4\x96" // U+F1916 food-outline, tags: Food / Drink -#define ICON_MD_FOOD_STEAK "\xf3\xb1\x91\xaa" // U+F146A food-steak, aliases: meat, beef, tags: Food / Drink -#define ICON_MD_FOOD_STEAK_OFF "\xf3\xb1\x91\xab" // U+F146B food-steak-off, aliases: meat-off, beef-off, tags: Food / Drink -#define ICON_MD_FOOD_TAKEOUT_BOX "\xf3\xb1\xa0\xb6" // U+F1836 food-takeout-box, tags: Food / Drink -#define ICON_MD_FOOD_TAKEOUT_BOX_OUTLINE "\xf3\xb1\xa0\xb7" // U+F1837 food-takeout-box-outline, tags: Food / Drink -#define ICON_MD_FOOD_TURKEY "\xf3\xb1\x9c\x9c" // U+F171C food-turkey, aliases: dinner, thanksgiving, tags: Food / Drink, Holiday -#define ICON_MD_FOOD_VARIANT "\xf3\xb0\x89\x9c" // U+F025C food-variant, tags: Food / Drink -#define ICON_MD_FOOD_VARIANT_OFF "\xf3\xb1\x8f\xa5" // U+F13E5 food-variant-off, tags: Food / Drink -#define ICON_MD_FOOT_PRINT "\xf3\xb0\xbd\x92" // U+F0F52 foot-print -#define ICON_MD_FOOTBALL "\xf3\xb0\x89\x9d" // U+F025D football, aliases: football-american, tags: Sport -#define ICON_MD_FOOTBALL_AUSTRALIAN "\xf3\xb0\x89\x9e" // U+F025E football-australian, tags: Sport -#define ICON_MD_FOOTBALL_HELMET "\xf3\xb0\x89\x9f" // U+F025F football-helmet, tags: Sport -#define ICON_MD_FOREST "\xf3\xb1\xa2\x97" // U+F1897 forest, aliases: pine-tree, tags: Nature -#define ICON_MD_FORKLIFT "\xf3\xb0\x9f\x89" // U+F07C9 forklift, tags: Transportation + Road -#define ICON_MD_FORM_DROPDOWN "\xf3\xb1\x90\x80" // U+F1400 form-dropdown, tags: Form -#define ICON_MD_FORM_SELECT "\xf3\xb1\x90\x81" // U+F1401 form-select, tags: Form -#define ICON_MD_FORM_TEXTAREA "\xf3\xb1\x82\x95" // U+F1095 form-textarea, tags: Form -#define ICON_MD_FORM_TEXTBOX "\xf3\xb0\x98\x8e" // U+F060E form-textbox, aliases: rename, tags: Form -#define ICON_MD_FORM_TEXTBOX_LOCK "\xf3\xb1\x8d\x9d" // U+F135D form-textbox-lock, tags: Form, Lock -#define ICON_MD_FORM_TEXTBOX_PASSWORD "\xf3\xb0\x9f\xb5" // U+F07F5 form-textbox-password, tags: Form -#define ICON_MD_FORMAT_ALIGN_BOTTOM "\xf3\xb0\x9d\x93" // U+F0753 format-align-bottom, tags: Text / Content / Format -#define ICON_MD_FORMAT_ALIGN_CENTER "\xf3\xb0\x89\xa0" // U+F0260 format-align-center, aliases: format-align-centre, tags: Text / Content / Format -#define ICON_MD_FORMAT_ALIGN_JUSTIFY "\xf3\xb0\x89\xa1" // U+F0261 format-align-justify, tags: Text / Content / Format -#define ICON_MD_FORMAT_ALIGN_LEFT "\xf3\xb0\x89\xa2" // U+F0262 format-align-left, tags: Text / Content / Format -#define ICON_MD_FORMAT_ALIGN_MIDDLE "\xf3\xb0\x9d\x94" // U+F0754 format-align-middle, tags: Text / Content / Format -#define ICON_MD_FORMAT_ALIGN_RIGHT "\xf3\xb0\x89\xa3" // U+F0263 format-align-right, tags: Text / Content / Format -#define ICON_MD_FORMAT_ALIGN_TOP "\xf3\xb0\x9d\x95" // U+F0755 format-align-top, tags: Text / Content / Format -#define ICON_MD_FORMAT_ANNOTATION_MINUS "\xf3\xb0\xaa\xbc" // U+F0ABC format-annotation-minus, tags: Text / Content / Format -#define ICON_MD_FORMAT_ANNOTATION_PLUS "\xf3\xb0\x99\x86" // U+F0646 format-annotation-plus, aliases: format-annotation-add, tags: Text / Content / Format -#define ICON_MD_FORMAT_BOLD "\xf3\xb0\x89\xa4" // U+F0264 format-bold, tags: Text / Content / Format -#define ICON_MD_FORMAT_CLEAR "\xf3\xb0\x89\xa5" // U+F0265 format-clear, tags: Text / Content / Format -#define ICON_MD_FORMAT_COLOR_FILL "\xf3\xb0\x89\xa6" // U+F0266 format-color-fill, aliases: format-colour-fill, paint, paint-bucket, ink-color, ink-colour, tags: Text / Content / Format, Color -#define ICON_MD_FORMAT_COLOR_HIGHLIGHT "\xf3\xb0\xb8\xb1" // U+F0E31 format-color-highlight, aliases: format-colour-highlight, tags: Color, Text / Content / Format -#define ICON_MD_FORMAT_COLOR_MARKER_CANCEL "\xf3\xb1\x8c\x93" // U+F1313 format-color-marker-cancel, aliases: format-color-redact, tags: Text / Content / Format -#define ICON_MD_FORMAT_COLOR_TEXT "\xf3\xb0\x9a\x9e" // U+F069E format-color-text, aliases: format-colour-text, tags: Text / Content / Format, Color -#define ICON_MD_FORMAT_COLUMNS "\xf3\xb0\xa3\x9f" // U+F08DF format-columns, tags: Text / Content / Format -#define ICON_MD_FORMAT_FLOAT_CENTER "\xf3\xb0\x89\xa7" // U+F0267 format-float-center, aliases: format-float-centre, tags: Text / Content / Format -#define ICON_MD_FORMAT_FLOAT_LEFT "\xf3\xb0\x89\xa8" // U+F0268 format-float-left, tags: Text / Content / Format -#define ICON_MD_FORMAT_FLOAT_NONE "\xf3\xb0\x89\xa9" // U+F0269 format-float-none, tags: Text / Content / Format -#define ICON_MD_FORMAT_FLOAT_RIGHT "\xf3\xb0\x89\xaa" // U+F026A format-float-right, tags: Text / Content / Format -#define ICON_MD_FORMAT_FONT "\xf3\xb0\x9b\x96" // U+F06D6 format-font, tags: Text / Content / Format -#define ICON_MD_FORMAT_FONT_SIZE_DECREASE "\xf3\xb0\xa7\xb3" // U+F09F3 format-font-size-decrease, tags: Text / Content / Format -#define ICON_MD_FORMAT_FONT_SIZE_INCREASE "\xf3\xb0\xa7\xb4" // U+F09F4 format-font-size-increase, tags: Text / Content / Format -#define ICON_MD_FORMAT_HEADER_1 "\xf3\xb0\x89\xab" // U+F026B format-header-1, aliases: format-heading-1, tags: Text / Content / Format -#define ICON_MD_FORMAT_HEADER_2 "\xf3\xb0\x89\xac" // U+F026C format-header-2, aliases: format-heading-2, tags: Text / Content / Format -#define ICON_MD_FORMAT_HEADER_3 "\xf3\xb0\x89\xad" // U+F026D format-header-3, aliases: format-heading-3, tags: Text / Content / Format -#define ICON_MD_FORMAT_HEADER_4 "\xf3\xb0\x89\xae" // U+F026E format-header-4, aliases: format-heading-4, tags: Text / Content / Format -#define ICON_MD_FORMAT_HEADER_5 "\xf3\xb0\x89\xaf" // U+F026F format-header-5, aliases: format-heading-5, tags: Text / Content / Format -#define ICON_MD_FORMAT_HEADER_6 "\xf3\xb0\x89\xb0" // U+F0270 format-header-6, aliases: format-heading-6, tags: Text / Content / Format -#define ICON_MD_FORMAT_HEADER_DECREASE "\xf3\xb0\x89\xb1" // U+F0271 format-header-decrease, aliases: format-heading-decease, tags: Text / Content / Format -#define ICON_MD_FORMAT_HEADER_EQUAL "\xf3\xb0\x89\xb2" // U+F0272 format-header-equal, aliases: format-heading-equal, tags: Text / Content / Format -#define ICON_MD_FORMAT_HEADER_INCREASE "\xf3\xb0\x89\xb3" // U+F0273 format-header-increase, aliases: format-heading-increase, tags: Text / Content / Format -#define ICON_MD_FORMAT_HEADER_POUND "\xf3\xb0\x89\xb4" // U+F0274 format-header-pound, aliases: format-header-hash, format-heading-pound, format-heading-hash, format-heading-markdown, tags: Text / Content / Format -#define ICON_MD_FORMAT_HORIZONTAL_ALIGN_CENTER "\xf3\xb0\x98\x9e" // U+F061E format-horizontal-align-center, aliases: format-horizontal-align-centre, arrow-horizontal-collapse, tags: Text / Content / Format -#define ICON_MD_FORMAT_HORIZONTAL_ALIGN_LEFT "\xf3\xb0\x98\x9f" // U+F061F format-horizontal-align-left, tags: Text / Content / Format -#define ICON_MD_FORMAT_HORIZONTAL_ALIGN_RIGHT "\xf3\xb0\x98\xa0" // U+F0620 format-horizontal-align-right, tags: Text / Content / Format -#define ICON_MD_FORMAT_INDENT_DECREASE "\xf3\xb0\x89\xb5" // U+F0275 format-indent-decrease, tags: Text / Content / Format -#define ICON_MD_FORMAT_INDENT_INCREASE "\xf3\xb0\x89\xb6" // U+F0276 format-indent-increase, tags: Text / Content / Format -#define ICON_MD_FORMAT_ITALIC "\xf3\xb0\x89\xb7" // U+F0277 format-italic, tags: Text / Content / Format -#define ICON_MD_FORMAT_LETTER_CASE "\xf3\xb0\xac\xb4" // U+F0B34 format-letter-case, tags: Text / Content / Format -#define ICON_MD_FORMAT_LETTER_CASE_LOWER "\xf3\xb0\xac\xb5" // U+F0B35 format-letter-case-lower, aliases: format-lowercase, tags: Text / Content / Format -#define ICON_MD_FORMAT_LETTER_CASE_UPPER "\xf3\xb0\xac\xb6" // U+F0B36 format-letter-case-upper, aliases: format-uppercase, tags: Text / Content / Format -#define ICON_MD_FORMAT_LETTER_ENDS_WITH "\xf3\xb0\xbe\xb8" // U+F0FB8 format-letter-ends-with, tags: Text / Content / Format -#define ICON_MD_FORMAT_LETTER_MATCHES "\xf3\xb0\xbe\xb9" // U+F0FB9 format-letter-matches, tags: Text / Content / Format -#define ICON_MD_FORMAT_LETTER_SPACING "\xf3\xb1\xa5\x96" // U+F1956 format-letter-spacing, aliases: format-kerning, tags: Text / Content / Format -#define ICON_MD_FORMAT_LETTER_SPACING_VARIANT "\xf3\xb1\xab\xbb" // U+F1AFB format-letter-spacing-variant, tags: Text / Content / Format -#define ICON_MD_FORMAT_LETTER_STARTS_WITH "\xf3\xb0\xbe\xba" // U+F0FBA format-letter-starts-with, tags: Text / Content / Format -#define ICON_MD_FORMAT_LINE_HEIGHT "\xf3\xb1\xab\xbc" // U+F1AFC format-line-height, tags: Text / Content / Format -#define ICON_MD_FORMAT_LINE_SPACING "\xf3\xb0\x89\xb8" // U+F0278 format-line-spacing, tags: Text / Content / Format -#define ICON_MD_FORMAT_LINE_STYLE "\xf3\xb0\x97\x88" // U+F05C8 format-line-style, tags: Text / Content / Format, Drawing / Art -#define ICON_MD_FORMAT_LINE_WEIGHT "\xf3\xb0\x97\x89" // U+F05C9 format-line-weight, tags: Text / Content / Format, Drawing / Art -#define ICON_MD_FORMAT_LIST_BULLETED "\xf3\xb0\x89\xb9" // U+F0279 format-list-bulleted, tags: Text / Content / Format -#define ICON_MD_FORMAT_LIST_BULLETED_SQUARE "\xf3\xb0\xb7\x90" // U+F0DD0 format-list-bulleted-square, tags: Text / Content / Format -#define ICON_MD_FORMAT_LIST_BULLETED_TRIANGLE "\xf3\xb0\xba\xb2" // U+F0EB2 format-list-bulleted-triangle, tags: Text / Content / Format -#define ICON_MD_FORMAT_LIST_BULLETED_TYPE "\xf3\xb0\x89\xba" // U+F027A format-list-bulleted-type, tags: Text / Content / Format -#define ICON_MD_FORMAT_LIST_CHECKBOX "\xf3\xb0\xa5\xaa" // U+F096A format-list-checkbox, tags: Text / Content / Format -#define ICON_MD_FORMAT_LIST_CHECKS "\xf3\xb0\x9d\x96" // U+F0756 format-list-checks, aliases: to-do, tags: Text / Content / Format -#define ICON_MD_FORMAT_LIST_GROUP "\xf3\xb1\xa1\xa0" // U+F1860 format-list-group, tags: Text / Content / Format -#define ICON_MD_FORMAT_LIST_GROUP_PLUS "\xf3\xb1\xad\x96" // U+F1B56 format-list-group-plus, aliases: format-list-group-add, tags: Text / Content / Format -#define ICON_MD_FORMAT_LIST_NUMBERED "\xf3\xb0\x89\xbb" // U+F027B format-list-numbered, aliases: format-list-numbers, tags: Text / Content / Format -#define ICON_MD_FORMAT_LIST_NUMBERED_RTL "\xf3\xb0\xb4\x8d" // U+F0D0D format-list-numbered-rtl, aliases: format-list-numbered-right-to-left, tags: Text / Content / Format -#define ICON_MD_FORMAT_LIST_TEXT "\xf3\xb1\x89\xaf" // U+F126F format-list-text, tags: Text / Content / Format -#define ICON_MD_FORMAT_OVERLINE "\xf3\xb0\xba\xb3" // U+F0EB3 format-overline, tags: Text / Content / Format -#define ICON_MD_FORMAT_PAGE_BREAK "\xf3\xb0\x9b\x97" // U+F06D7 format-page-break, tags: Text / Content / Format -#define ICON_MD_FORMAT_PAGE_SPLIT "\xf3\xb1\xa4\x97" // U+F1917 format-page-split, tags: Text / Content / Format -#define ICON_MD_FORMAT_PAINT "\xf3\xb0\x89\xbc" // U+F027C format-paint, tags: Text / Content / Format, Color, Drawing / Art -#define ICON_MD_FORMAT_PARAGRAPH "\xf3\xb0\x89\xbd" // U+F027D format-paragraph, tags: Text / Content / Format -#define ICON_MD_FORMAT_PARAGRAPH_SPACING "\xf3\xb1\xab\xbd" // U+F1AFD format-paragraph-spacing, tags: Text / Content / Format -#define ICON_MD_FORMAT_PILCROW "\xf3\xb0\x9b\x98" // U+F06D8 format-pilcrow, tags: Text / Content / Format -#define ICON_MD_FORMAT_PILCROW_ARROW_LEFT "\xf3\xb0\x8a\x86" // U+F0286 format-pilcrow-arrow-left, aliases: format-textdirection-r-to-l, tags: Text / Content / Format -#define ICON_MD_FORMAT_PILCROW_ARROW_RIGHT "\xf3\xb0\x8a\x85" // U+F0285 format-pilcrow-arrow-right, aliases: format-textdirection-l-to-r, tags: Text / Content / Format -#define ICON_MD_FORMAT_QUOTE_CLOSE "\xf3\xb0\x89\xbe" // U+F027E format-quote-close, tags: Text / Content / Format -#define ICON_MD_FORMAT_QUOTE_CLOSE_OUTLINE "\xf3\xb1\x86\xa8" // U+F11A8 format-quote-close-outline, tags: Text / Content / Format -#define ICON_MD_FORMAT_QUOTE_OPEN "\xf3\xb0\x9d\x97" // U+F0757 format-quote-open, tags: Text / Content / Format -#define ICON_MD_FORMAT_QUOTE_OPEN_OUTLINE "\xf3\xb1\x86\xa7" // U+F11A7 format-quote-open-outline, tags: Text / Content / Format -#define ICON_MD_FORMAT_ROTATE_90 "\xf3\xb0\x9a\xaa" // U+F06AA format-rotate-90, aliases: rotate-90-degrees-ccw, format-rotate-ninety, tags: Text / Content / Format -#define ICON_MD_FORMAT_SECTION "\xf3\xb0\x9a\x9f" // U+F069F format-section, tags: Text / Content / Format -#define ICON_MD_FORMAT_SIZE "\xf3\xb0\x89\xbf" // U+F027F format-size, aliases: font-size, tags: Text / Content / Format -#define ICON_MD_FORMAT_STRIKETHROUGH "\xf3\xb0\x8a\x80" // U+F0280 format-strikethrough, tags: Text / Content / Format -#define ICON_MD_FORMAT_STRIKETHROUGH_VARIANT "\xf3\xb0\x8a\x81" // U+F0281 format-strikethrough-variant, aliases: strikethrough-s, tags: Text / Content / Format -#define ICON_MD_FORMAT_SUBSCRIPT "\xf3\xb0\x8a\x82" // U+F0282 format-subscript, tags: Text / Content / Format -#define ICON_MD_FORMAT_SUPERSCRIPT "\xf3\xb0\x8a\x83" // U+F0283 format-superscript, aliases: exponent, tags: Text / Content / Format, Math -#define ICON_MD_FORMAT_TEXT "\xf3\xb0\x8a\x84" // U+F0284 format-text, tags: Text / Content / Format -#define ICON_MD_FORMAT_TEXT_ROTATION_ANGLE_DOWN "\xf3\xb0\xbe\xbb" // U+F0FBB format-text-rotation-angle-down, tags: Text / Content / Format -#define ICON_MD_FORMAT_TEXT_ROTATION_ANGLE_UP "\xf3\xb0\xbe\xbc" // U+F0FBC format-text-rotation-angle-up, tags: Text / Content / Format -#define ICON_MD_FORMAT_TEXT_ROTATION_DOWN "\xf3\xb0\xb5\xb3" // U+F0D73 format-text-rotation-down, tags: Text / Content / Format -#define ICON_MD_FORMAT_TEXT_ROTATION_DOWN_VERTICAL "\xf3\xb0\xbe\xbd" // U+F0FBD format-text-rotation-down-vertical, tags: Text / Content / Format -#define ICON_MD_FORMAT_TEXT_ROTATION_NONE "\xf3\xb0\xb5\xb4" // U+F0D74 format-text-rotation-none, tags: Text / Content / Format -#define ICON_MD_FORMAT_TEXT_ROTATION_UP "\xf3\xb0\xbe\xbe" // U+F0FBE format-text-rotation-up, tags: Text / Content / Format -#define ICON_MD_FORMAT_TEXT_ROTATION_VERTICAL "\xf3\xb0\xbe\xbf" // U+F0FBF format-text-rotation-vertical, tags: Text / Content / Format -#define ICON_MD_FORMAT_TEXT_VARIANT "\xf3\xb0\xb8\xb2" // U+F0E32 format-text-variant, tags: Text / Content / Format -#define ICON_MD_FORMAT_TEXT_VARIANT_OUTLINE "\xf3\xb1\x94\x8f" // U+F150F format-text-variant-outline, tags: Text / Content / Format -#define ICON_MD_FORMAT_TEXT_WRAPPING_CLIP "\xf3\xb0\xb4\x8e" // U+F0D0E format-text-wrapping-clip, tags: Text / Content / Format -#define ICON_MD_FORMAT_TEXT_WRAPPING_OVERFLOW "\xf3\xb0\xb4\x8f" // U+F0D0F format-text-wrapping-overflow, tags: Text / Content / Format -#define ICON_MD_FORMAT_TEXT_WRAPPING_WRAP "\xf3\xb0\xb4\x90" // U+F0D10 format-text-wrapping-wrap, tags: Text / Content / Format -#define ICON_MD_FORMAT_TEXTBOX "\xf3\xb0\xb4\x91" // U+F0D11 format-textbox, tags: Text / Content / Format -#define ICON_MD_FORMAT_TITLE "\xf3\xb0\x97\xb4" // U+F05F4 format-title, tags: Text / Content / Format -#define ICON_MD_FORMAT_UNDERLINE "\xf3\xb0\x8a\x87" // U+F0287 format-underline, aliases: format-underlined, tags: Text / Content / Format -#define ICON_MD_FORMAT_UNDERLINE_WAVY "\xf3\xb1\xa3\xa9" // U+F18E9 format-underline-wavy, tags: Text / Content / Format -#define ICON_MD_FORMAT_VERTICAL_ALIGN_BOTTOM "\xf3\xb0\x98\xa1" // U+F0621 format-vertical-align-bottom, tags: Text / Content / Format -#define ICON_MD_FORMAT_VERTICAL_ALIGN_CENTER "\xf3\xb0\x98\xa2" // U+F0622 format-vertical-align-center, aliases: format-vertical-align-centre, arrow-vertical-collapse, tags: Text / Content / Format -#define ICON_MD_FORMAT_VERTICAL_ALIGN_TOP "\xf3\xb0\x98\xa3" // U+F0623 format-vertical-align-top, tags: Text / Content / Format -#define ICON_MD_FORMAT_WRAP_INLINE "\xf3\xb0\x8a\x88" // U+F0288 format-wrap-inline, tags: Text / Content / Format -#define ICON_MD_FORMAT_WRAP_SQUARE "\xf3\xb0\x8a\x89" // U+F0289 format-wrap-square, tags: Text / Content / Format -#define ICON_MD_FORMAT_WRAP_TIGHT "\xf3\xb0\x8a\x8a" // U+F028A format-wrap-tight, tags: Text / Content / Format -#define ICON_MD_FORMAT_WRAP_TOP_BOTTOM "\xf3\xb0\x8a\x8b" // U+F028B format-wrap-top-bottom, tags: Text / Content / Format -#define ICON_MD_FORUM "\xf3\xb0\x8a\x8c" // U+F028C forum, aliases: message-group, question-answer, chat -#define ICON_MD_FORUM_MINUS "\xf3\xb1\xaa\xa9" // U+F1AA9 forum-minus, aliases: chat-minus, forum-subtract, chat-subtract -#define ICON_MD_FORUM_MINUS_OUTLINE "\xf3\xb1\xaa\xaa" // U+F1AAA forum-minus-outline, aliases: chat-minus-outline, forum-subtract-outline, chat-subtract-outline -#define ICON_MD_FORUM_OUTLINE "\xf3\xb0\xa0\xa2" // U+F0822 forum-outline, aliases: chat-outline -#define ICON_MD_FORUM_PLUS "\xf3\xb1\xaa\xab" // U+F1AAB forum-plus, aliases: chat-plus, forum-add, chat-add -#define ICON_MD_FORUM_PLUS_OUTLINE "\xf3\xb1\xaa\xac" // U+F1AAC forum-plus-outline, aliases: chat-plus-outline, chat-add-outline, forum-add-outline -#define ICON_MD_FORUM_REMOVE "\xf3\xb1\xaa\xad" // U+F1AAD forum-remove, aliases: forum-delete, chat-remove, chat-delete -#define ICON_MD_FORUM_REMOVE_OUTLINE "\xf3\xb1\xaa\xae" // U+F1AAE forum-remove-outline, aliases: forum-delete-outline, chat-remove-outline, chat-delete-outline -#define ICON_MD_FORWARD "\xf3\xb0\x8a\x8d" // U+F028D forward, tags: Arrow -#define ICON_MD_FORWARDBURGER "\xf3\xb0\xb5\xb5" // U+F0D75 forwardburger -#define ICON_MD_FOUNTAIN "\xf3\xb0\xa5\xab" // U+F096B fountain -#define ICON_MD_FOUNTAIN_PEN "\xf3\xb0\xb4\x92" // U+F0D12 fountain-pen, tags: Drawing / Art -#define ICON_MD_FOUNTAIN_PEN_TIP "\xf3\xb0\xb4\x93" // U+F0D13 fountain-pen-tip, tags: Drawing / Art -#define ICON_MD_FRACTION_ONE_HALF "\xf3\xb1\xa6\x92" // U+F1992 fraction-one-half -#define ICON_MD_FREEBSD "\xf3\xb0\xa3\xa0" // U+F08E0 freebsd, tags: Brand / Logo -#define ICON_MD_FRENCH_FRIES "\xf3\xb1\xa5\x97" // U+F1957 french-fries, aliases: chips, finger-chips, french-fry, fried-potatoes, fries, frites, tags: Food / Drink -#define ICON_MD_FREQUENTLY_ASKED_QUESTIONS "\xf3\xb0\xba\xb4" // U+F0EB4 frequently-asked-questions, aliases: faq -#define ICON_MD_FRIDGE "\xf3\xb0\x8a\x90" // U+F0290 fridge, aliases: fridge-filled, refrigerator, kitchen, tags: Home Automation -#define ICON_MD_FRIDGE_ALERT "\xf3\xb1\x86\xb1" // U+F11B1 fridge-alert, tags: Home Automation, Alert / Error -#define ICON_MD_FRIDGE_ALERT_OUTLINE "\xf3\xb1\x86\xb2" // U+F11B2 fridge-alert-outline, tags: Home Automation, Alert / Error -#define ICON_MD_FRIDGE_BOTTOM "\xf3\xb0\x8a\x92" // U+F0292 fridge-bottom, aliases: fridge-filled-top, refrigerator-bottom, tags: Home Automation -#define ICON_MD_FRIDGE_INDUSTRIAL "\xf3\xb1\x97\xae" // U+F15EE fridge-industrial, tags: Home Automation -#define ICON_MD_FRIDGE_INDUSTRIAL_ALERT "\xf3\xb1\x97\xaf" // U+F15EF fridge-industrial-alert, tags: Home Automation, Alert / Error -#define ICON_MD_FRIDGE_INDUSTRIAL_ALERT_OUTLINE "\xf3\xb1\x97\xb0" // U+F15F0 fridge-industrial-alert-outline, tags: Home Automation, Alert / Error -#define ICON_MD_FRIDGE_INDUSTRIAL_OFF "\xf3\xb1\x97\xb1" // U+F15F1 fridge-industrial-off, tags: Home Automation -#define ICON_MD_FRIDGE_INDUSTRIAL_OFF_OUTLINE "\xf3\xb1\x97\xb2" // U+F15F2 fridge-industrial-off-outline, tags: Home Automation -#define ICON_MD_FRIDGE_INDUSTRIAL_OUTLINE "\xf3\xb1\x97\xb3" // U+F15F3 fridge-industrial-outline, tags: Home Automation -#define ICON_MD_FRIDGE_OFF "\xf3\xb1\x86\xaf" // U+F11AF fridge-off, tags: Home Automation -#define ICON_MD_FRIDGE_OFF_OUTLINE "\xf3\xb1\x86\xb0" // U+F11B0 fridge-off-outline, tags: Home Automation -#define ICON_MD_FRIDGE_OUTLINE "\xf3\xb0\x8a\x8f" // U+F028F fridge-outline, aliases: kitchen, refrigerator-outline, tags: Home Automation -#define ICON_MD_FRIDGE_TOP "\xf3\xb0\x8a\x91" // U+F0291 fridge-top, aliases: fridge-filled-bottom, refrigerator-top, tags: Home Automation -#define ICON_MD_FRIDGE_VARIANT "\xf3\xb1\x97\xb4" // U+F15F4 fridge-variant, tags: Home Automation -#define ICON_MD_FRIDGE_VARIANT_ALERT "\xf3\xb1\x97\xb5" // U+F15F5 fridge-variant-alert, tags: Home Automation, Alert / Error -#define ICON_MD_FRIDGE_VARIANT_ALERT_OUTLINE "\xf3\xb1\x97\xb6" // U+F15F6 fridge-variant-alert-outline, tags: Home Automation, Alert / Error -#define ICON_MD_FRIDGE_VARIANT_OFF "\xf3\xb1\x97\xb7" // U+F15F7 fridge-variant-off, tags: Home Automation -#define ICON_MD_FRIDGE_VARIANT_OFF_OUTLINE "\xf3\xb1\x97\xb8" // U+F15F8 fridge-variant-off-outline, tags: Home Automation -#define ICON_MD_FRIDGE_VARIANT_OUTLINE "\xf3\xb1\x97\xb9" // U+F15F9 fridge-variant-outline, tags: Home Automation -#define ICON_MD_FRUIT_CHERRIES "\xf3\xb1\x81\x82" // U+F1042 fruit-cherries, tags: Food / Drink, Agriculture -#define ICON_MD_FRUIT_CHERRIES_OFF "\xf3\xb1\x8f\xb8" // U+F13F8 fruit-cherries-off, tags: Food / Drink, Agriculture -#define ICON_MD_FRUIT_CITRUS "\xf3\xb1\x81\x83" // U+F1043 fruit-citrus, aliases: fruit-lemon, fruit-lime, tags: Food / Drink, Agriculture -#define ICON_MD_FRUIT_CITRUS_OFF "\xf3\xb1\x8f\xb9" // U+F13F9 fruit-citrus-off, tags: Food / Drink, Agriculture -#define ICON_MD_FRUIT_GRAPES "\xf3\xb1\x81\x84" // U+F1044 fruit-grapes, tags: Food / Drink, Agriculture -#define ICON_MD_FRUIT_GRAPES_OUTLINE "\xf3\xb1\x81\x85" // U+F1045 fruit-grapes-outline, tags: Food / Drink, Agriculture -#define ICON_MD_FRUIT_PEAR "\xf3\xb1\xa8\x8e" // U+F1A0E fruit-pear, tags: Food / Drink -#define ICON_MD_FRUIT_PINEAPPLE "\xf3\xb1\x81\x86" // U+F1046 fruit-pineapple, aliases: fruit-ananas, tags: Food / Drink, Agriculture -#define ICON_MD_FRUIT_WATERMELON "\xf3\xb1\x81\x87" // U+F1047 fruit-watermelon, tags: Food / Drink, Agriculture -#define ICON_MD_FUEL "\xf3\xb0\x9f\x8a" // U+F07CA fuel, aliases: petrol, gasoline, tags: Automotive -#define ICON_MD_FUEL_CELL "\xf3\xb1\xa2\xb5" // U+F18B5 fuel-cell, aliases: battery, tags: Automotive -#define ICON_MD_FULLSCREEN "\xf3\xb0\x8a\x93" // U+F0293 fullscreen -#define ICON_MD_FULLSCREEN_EXIT "\xf3\xb0\x8a\x94" // U+F0294 fullscreen-exit -#define ICON_MD_FUNCTION "\xf3\xb0\x8a\x95" // U+F0295 function, tags: Math -#define ICON_MD_FUNCTION_VARIANT "\xf3\xb0\xa1\xb1" // U+F0871 function-variant, tags: Math -#define ICON_MD_FURIGANA_HORIZONTAL "\xf3\xb1\x82\x81" // U+F1081 furigana-horizontal, aliases: ruby-horizontal, tags: Text / Content / Format -#define ICON_MD_FURIGANA_VERTICAL "\xf3\xb1\x82\x82" // U+F1082 furigana-vertical, aliases: zhuyin, ruby-vertical, tags: Text / Content / Format -#define ICON_MD_FUSE "\xf3\xb0\xb2\x85" // U+F0C85 fuse, tags: Automotive -#define ICON_MD_FUSE_ALERT "\xf3\xb1\x90\xad" // U+F142D fuse-alert, tags: Automotive, Alert / Error -#define ICON_MD_FUSE_BLADE "\xf3\xb0\xb2\x86" // U+F0C86 fuse-blade, tags: Automotive -#define ICON_MD_FUSE_OFF "\xf3\xb1\x90\xac" // U+F142C fuse-off, tags: Automotive -#define ICON_MD_GAMEPAD "\xf3\xb0\x8a\x96" // U+F0296 gamepad, aliases: games, controller, tags: Home Automation, Gaming / RPG -#define ICON_MD_GAMEPAD_CIRCLE "\xf3\xb0\xb8\xb3" // U+F0E33 gamepad-circle, aliases: controller-circle, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_CIRCLE_DOWN "\xf3\xb0\xb8\xb4" // U+F0E34 gamepad-circle-down, aliases: controller-circle-down, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_CIRCLE_LEFT "\xf3\xb0\xb8\xb5" // U+F0E35 gamepad-circle-left, aliases: controller-circle-left, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_CIRCLE_OUTLINE "\xf3\xb0\xb8\xb6" // U+F0E36 gamepad-circle-outline, aliases: controller-circle-outline, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_CIRCLE_RIGHT "\xf3\xb0\xb8\xb7" // U+F0E37 gamepad-circle-right, aliases: controller-circle-right, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_CIRCLE_UP "\xf3\xb0\xb8\xb8" // U+F0E38 gamepad-circle-up, aliases: controller-circle-up, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_DOWN "\xf3\xb0\xb8\xb9" // U+F0E39 gamepad-down, aliases: controller-down, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_LEFT "\xf3\xb0\xb8\xba" // U+F0E3A gamepad-left, aliases: controller-left, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_OUTLINE "\xf3\xb1\xa4\x99" // U+F1919 gamepad-outline, aliases: controller-outline, games-outline, tags: Gaming / RPG, Home Automation -#define ICON_MD_GAMEPAD_RIGHT "\xf3\xb0\xb8\xbb" // U+F0E3B gamepad-right, aliases: controller-right, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_ROUND "\xf3\xb0\xb8\xbc" // U+F0E3C gamepad-round, aliases: controller-round, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_ROUND_DOWN "\xf3\xb0\xb8\xbd" // U+F0E3D gamepad-round-down, aliases: controller-round-down, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_ROUND_LEFT "\xf3\xb0\xb8\xbe" // U+F0E3E gamepad-round-left, aliases: controller-round-left, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_ROUND_OUTLINE "\xf3\xb0\xb8\xbf" // U+F0E3F gamepad-round-outline, aliases: controller-round-outline, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_ROUND_RIGHT "\xf3\xb0\xb9\x80" // U+F0E40 gamepad-round-right, aliases: controller-round-right, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_ROUND_UP "\xf3\xb0\xb9\x81" // U+F0E41 gamepad-round-up, aliases: controller-round-up, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_SQUARE "\xf3\xb0\xba\xb5" // U+F0EB5 gamepad-square, aliases: controller-square, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_SQUARE_OUTLINE "\xf3\xb0\xba\xb6" // U+F0EB6 gamepad-square-outline, aliases: controller-square-outline, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_UP "\xf3\xb0\xb9\x82" // U+F0E42 gamepad-up, aliases: controller-up, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_VARIANT "\xf3\xb0\x8a\x97" // U+F0297 gamepad-variant, aliases: controller-variant, tags: Gaming / RPG -#define ICON_MD_GAMEPAD_VARIANT_OUTLINE "\xf3\xb0\xba\xb7" // U+F0EB7 gamepad-variant-outline, aliases: controller-variant-outline, tags: Gaming / RPG -#define ICON_MD_GAMMA "\xf3\xb1\x83\xae" // U+F10EE gamma, tags: Alpha / Numeric -#define ICON_MD_GANTRY_CRANE "\xf3\xb0\xb7\x91" // U+F0DD1 gantry-crane -#define ICON_MD_GARAGE "\xf3\xb0\x9b\x99" // U+F06D9 garage, tags: Home Automation -#define ICON_MD_GARAGE_ALERT "\xf3\xb0\xa1\xb2" // U+F0872 garage-alert, aliases: garage-warning, tags: Home Automation, Alert / Error -#define ICON_MD_GARAGE_ALERT_VARIANT "\xf3\xb1\x8b\x95" // U+F12D5 garage-alert-variant, tags: Home Automation, Alert / Error -#define ICON_MD_GARAGE_LOCK "\xf3\xb1\x9f\xbb" // U+F17FB garage-lock, tags: Home Automation, Lock -#define ICON_MD_GARAGE_OPEN "\xf3\xb0\x9b\x9a" // U+F06DA garage-open, tags: Home Automation -#define ICON_MD_GARAGE_OPEN_VARIANT "\xf3\xb1\x8b\x94" // U+F12D4 garage-open-variant, tags: Home Automation -#define ICON_MD_GARAGE_VARIANT "\xf3\xb1\x8b\x93" // U+F12D3 garage-variant, tags: Home Automation -#define ICON_MD_GARAGE_VARIANT_LOCK "\xf3\xb1\x9f\xbc" // U+F17FC garage-variant-lock, tags: Home Automation, Lock -#define ICON_MD_GAS_BURNER "\xf3\xb1\xa8\x9b" // U+F1A1B gas-burner, aliases: stove-burner, cooktop-burner, grill, tags: Home Automation -#define ICON_MD_GAS_CYLINDER "\xf3\xb0\x99\x87" // U+F0647 gas-cylinder, aliases: tank, oxygen-tank -#define ICON_MD_GAS_STATION "\xf3\xb0\x8a\x98" // U+F0298 gas-station, aliases: gas-pump, petrol-pump, petrol-station, local-gas-station, fuel-station, fuel-pump, tags: Places, Automotive -#define ICON_MD_GAS_STATION_OFF "\xf3\xb1\x90\x89" // U+F1409 gas-station-off -#define ICON_MD_GAS_STATION_OFF_OUTLINE "\xf3\xb1\x90\x8a" // U+F140A gas-station-off-outline -#define ICON_MD_GAS_STATION_OUTLINE "\xf3\xb0\xba\xb8" // U+F0EB8 gas-station-outline, aliases: gas-pump-outline, petrol-pump-outline, petrol-station-outline, fuel-station-outline, fuel-pump-outline -#define ICON_MD_GATE "\xf3\xb0\x8a\x99" // U+F0299 gate, tags: Home Automation -#define ICON_MD_GATE_ALERT "\xf3\xb1\x9f\xb8" // U+F17F8 gate-alert, tags: Home Automation, Alert / Error -#define ICON_MD_GATE_AND "\xf3\xb0\xa3\xa1" // U+F08E1 gate-and, aliases: logic-gate-and -#define ICON_MD_GATE_ARROW_LEFT "\xf3\xb1\x9f\xb7" // U+F17F7 gate-arrow-left, tags: Home Automation -#define ICON_MD_GATE_ARROW_RIGHT "\xf3\xb1\x85\xa9" // U+F1169 gate-arrow-right, tags: Home Automation -#define ICON_MD_GATE_BUFFER "\xf3\xb1\xab\xbe" // U+F1AFE gate-buffer -#define ICON_MD_GATE_NAND "\xf3\xb0\xa3\xa2" // U+F08E2 gate-nand, aliases: logic-gate-nand -#define ICON_MD_GATE_NOR "\xf3\xb0\xa3\xa3" // U+F08E3 gate-nor, aliases: logic-gate-nor -#define ICON_MD_GATE_NOT "\xf3\xb0\xa3\xa4" // U+F08E4 gate-not, aliases: logic-gate-not -#define ICON_MD_GATE_OPEN "\xf3\xb1\x85\xaa" // U+F116A gate-open, tags: Home Automation -#define ICON_MD_GATE_OR "\xf3\xb0\xa3\xa5" // U+F08E5 gate-or, aliases: logic-gate-or -#define ICON_MD_GATE_XNOR "\xf3\xb0\xa3\xa6" // U+F08E6 gate-xnor, aliases: logic-gate-xnor -#define ICON_MD_GATE_XOR "\xf3\xb0\xa3\xa7" // U+F08E7 gate-xor, aliases: logic-gate-xor -#define ICON_MD_GATSBY "\xf3\xb0\xb9\x83" // U+F0E43 gatsby, tags: Developer / Languages, Brand / Logo -#define ICON_MD_GAUGE "\xf3\xb0\x8a\x9a" // U+F029A gauge, aliases: swap-driving-apps-wheel, barometer, tags: Home Automation, Automotive -#define ICON_MD_GAUGE_EMPTY "\xf3\xb0\xa1\xb3" // U+F0873 gauge-empty, tags: Automotive, Home Automation -#define ICON_MD_GAUGE_FULL "\xf3\xb0\xa1\xb4" // U+F0874 gauge-full, tags: Automotive, Home Automation -#define ICON_MD_GAUGE_LOW "\xf3\xb0\xa1\xb5" // U+F0875 gauge-low, tags: Automotive, Home Automation -#define ICON_MD_GAVEL "\xf3\xb0\x8a\x9b" // U+F029B gavel, aliases: court-hammer -#define ICON_MD_GENDER_FEMALE "\xf3\xb0\x8a\x9c" // U+F029C gender-female, aliases: venus -#define ICON_MD_GENDER_MALE "\xf3\xb0\x8a\x9d" // U+F029D gender-male, aliases: mars -#define ICON_MD_GENDER_MALE_FEMALE "\xf3\xb0\x8a\x9e" // U+F029E gender-male-female -#define ICON_MD_GENDER_MALE_FEMALE_VARIANT "\xf3\xb1\x84\xbf" // U+F113F gender-male-female-variant, aliases: mercury -#define ICON_MD_GENDER_NON_BINARY "\xf3\xb1\x85\x80" // U+F1140 gender-non-binary, aliases: gender-enby -#define ICON_MD_GENDER_TRANSGENDER "\xf3\xb0\x8a\x9f" // U+F029F gender-transgender -#define ICON_MD_GENTOO "\xf3\xb0\xa3\xa8" // U+F08E8 gentoo, tags: Brand / Logo -#define ICON_MD_GESTURE "\xf3\xb0\x9f\x8b" // U+F07CB gesture, aliases: freehand-line, tags: Drawing / Art -#define ICON_MD_GESTURE_DOUBLE_TAP "\xf3\xb0\x9c\xbc" // U+F073C gesture-double-tap, aliases: interaction-double-tap, hand-double-tap -#define ICON_MD_GESTURE_PINCH "\xf3\xb0\xaa\xbd" // U+F0ABD gesture-pinch -#define ICON_MD_GESTURE_SPREAD "\xf3\xb0\xaa\xbe" // U+F0ABE gesture-spread -#define ICON_MD_GESTURE_SWIPE "\xf3\xb0\xb5\xb6" // U+F0D76 gesture-swipe -#define ICON_MD_GESTURE_SWIPE_DOWN "\xf3\xb0\x9c\xbd" // U+F073D gesture-swipe-down -#define ICON_MD_GESTURE_SWIPE_HORIZONTAL "\xf3\xb0\xaa\xbf" // U+F0ABF gesture-swipe-horizontal -#define ICON_MD_GESTURE_SWIPE_LEFT "\xf3\xb0\x9c\xbe" // U+F073E gesture-swipe-left -#define ICON_MD_GESTURE_SWIPE_RIGHT "\xf3\xb0\x9c\xbf" // U+F073F gesture-swipe-right -#define ICON_MD_GESTURE_SWIPE_UP "\xf3\xb0\x9d\x80" // U+F0740 gesture-swipe-up -#define ICON_MD_GESTURE_SWIPE_VERTICAL "\xf3\xb0\xab\x80" // U+F0AC0 gesture-swipe-vertical -#define ICON_MD_GESTURE_TAP "\xf3\xb0\x9d\x81" // U+F0741 gesture-tap, aliases: interaction-tap, hand-tap, gesture-touch -#define ICON_MD_GESTURE_TAP_BOX "\xf3\xb1\x8a\xa9" // U+F12A9 gesture-tap-box, aliases: gesture-touch-box -#define ICON_MD_GESTURE_TAP_BUTTON "\xf3\xb1\x8a\xa8" // U+F12A8 gesture-tap-button, aliases: call-to-action, cta, button-pointer, gesture-touch-button, tags: Form -#define ICON_MD_GESTURE_TAP_HOLD "\xf3\xb0\xb5\xb7" // U+F0D77 gesture-tap-hold, aliases: gesture-touch-hold -#define ICON_MD_GESTURE_TWO_DOUBLE_TAP "\xf3\xb0\x9d\x82" // U+F0742 gesture-two-double-tap -#define ICON_MD_GESTURE_TWO_TAP "\xf3\xb0\x9d\x83" // U+F0743 gesture-two-tap -#define ICON_MD_GHOST "\xf3\xb0\x8a\xa0" // U+F02A0 ghost, aliases: inky, blinky, pinky, clyde, tags: Gaming / RPG -#define ICON_MD_GHOST_OFF "\xf3\xb0\xa7\xb5" // U+F09F5 ghost-off, tags: Gaming / RPG -#define ICON_MD_GHOST_OFF_OUTLINE "\xf3\xb1\x99\x9c" // U+F165C ghost-off-outline, tags: Gaming / RPG -#define ICON_MD_GHOST_OUTLINE "\xf3\xb1\x99\x9d" // U+F165D ghost-outline, tags: Gaming / RPG -#define ICON_MD_GIFT "\xf3\xb0\xb9\x84" // U+F0E44 gift, aliases: present, package, donate, tags: Holiday -#define ICON_MD_GIFT_OFF "\xf3\xb1\x9b\xaf" // U+F16EF gift-off, aliases: present-off, package-off, donate-off, tags: Holiday -#define ICON_MD_GIFT_OFF_OUTLINE "\xf3\xb1\x9b\xb0" // U+F16F0 gift-off-outline, aliases: present-off-outline, package-off-outline, donate-off-outline, tags: Holiday -#define ICON_MD_GIFT_OPEN "\xf3\xb1\x9b\xb1" // U+F16F1 gift-open, aliases: present-open, package-open, tags: Holiday -#define ICON_MD_GIFT_OPEN_OUTLINE "\xf3\xb1\x9b\xb2" // U+F16F2 gift-open-outline, aliases: present-open-outline, package-open-outline, tags: Holiday -#define ICON_MD_GIFT_OUTLINE "\xf3\xb0\x8a\xa1" // U+F02A1 gift-outline, aliases: donate-outline, present-outline, package-outline, tags: Shopping, Holiday -#define ICON_MD_GIT "\xf3\xb0\x8a\xa2" // U+F02A2 git, tags: Brand / Logo, Developer / Languages -#define ICON_MD_GITHUB "\xf3\xb0\x8a\xa4" // U+F02A4 github, aliases: microsoft-github, tags: Developer / Languages, Brand / Logo -#define ICON_MD_GITLAB "\xf3\xb0\xae\xa0" // U+F0BA0 gitlab, tags: Developer / Languages, Brand / Logo -#define ICON_MD_GLASS_COCKTAIL "\xf3\xb0\x8d\x96" // U+F0356 glass-cocktail, aliases: local-bar, cocktail, martini, alcohol, bar, cup, drink, tags: Food / Drink -#define ICON_MD_GLASS_COCKTAIL_OFF "\xf3\xb1\x97\xa6" // U+F15E6 glass-cocktail-off, tags: Food / Drink -#define ICON_MD_GLASS_FLUTE "\xf3\xb0\x8a\xa5" // U+F02A5 glass-flute, aliases: alcohol, cocktail, cup, drink, tags: Food / Drink -#define ICON_MD_GLASS_FRAGILE "\xf3\xb1\xa1\xb3" // U+F1873 glass-fragile, aliases: glass-broken, tags: Food / Drink -#define ICON_MD_GLASS_MUG "\xf3\xb0\x8a\xa6" // U+F02A6 glass-mug, aliases: pub, bar, beer, alcohol, cup, drink, local-bar, tags: Food / Drink -#define ICON_MD_GLASS_MUG_OFF "\xf3\xb1\x97\xa7" // U+F15E7 glass-mug-off, tags: Food / Drink -#define ICON_MD_GLASS_MUG_VARIANT "\xf3\xb1\x84\x96" // U+F1116 glass-mug-variant, aliases: pub, bar, beer, drink, alcohol, cup, local-bar, tags: Food / Drink -#define ICON_MD_GLASS_MUG_VARIANT_OFF "\xf3\xb1\x97\xa8" // U+F15E8 glass-mug-variant-off, tags: Food / Drink -#define ICON_MD_GLASS_PINT_OUTLINE "\xf3\xb1\x8c\x8d" // U+F130D glass-pint-outline, tags: Food / Drink -#define ICON_MD_GLASS_STANGE "\xf3\xb0\x8a\xa7" // U+F02A7 glass-stange, aliases: alcohol, bar, cocktail, cup, drink, tags: Food / Drink -#define ICON_MD_GLASS_TULIP "\xf3\xb0\x8a\xa8" // U+F02A8 glass-tulip, aliases: bar, alcohol, cocktail, cup, drink, tags: Food / Drink -#define ICON_MD_GLASS_WINE "\xf3\xb0\xa1\xb6" // U+F0876 glass-wine, aliases: bar, alcohol, cocktail, cup, drink, tags: Food / Drink -#define ICON_MD_GLASSES "\xf3\xb0\x8a\xaa" // U+F02AA glasses, tags: Clothing -#define ICON_MD_GLOBE_LIGHT "\xf3\xb0\x99\xaf" // U+F066F globe-light, tags: Home Automation -#define ICON_MD_GLOBE_LIGHT_OUTLINE "\xf3\xb1\x8b\x97" // U+F12D7 globe-light-outline, tags: Home Automation -#define ICON_MD_GLOBE_MODEL "\xf3\xb0\xa3\xa9" // U+F08E9 globe-model -#define ICON_MD_GMAIL "\xf3\xb0\x8a\xab" // U+F02AB gmail, tags: Brand / Logo -#define ICON_MD_GNOME "\xf3\xb0\x8a\xac" // U+F02AC gnome, tags: Brand / Logo -#define ICON_MD_GO_KART "\xf3\xb0\xb5\xb9" // U+F0D79 go-kart, aliases: cart, tags: Sport -#define ICON_MD_GO_KART_TRACK "\xf3\xb0\xb5\xba" // U+F0D7A go-kart-track -#define ICON_MD_GOG "\xf3\xb0\xae\xa1" // U+F0BA1 gog, aliases: gog-com, tags: Brand / Logo, Gaming / RPG -#define ICON_MD_GOLD "\xf3\xb1\x89\x8f" // U+F124F gold -#define ICON_MD_GOLF "\xf3\xb0\xa0\xa3" // U+F0823 golf, aliases: golf-course, tags: Sport -#define ICON_MD_GOLF_CART "\xf3\xb1\x86\xa4" // U+F11A4 golf-cart, tags: Sport, Transportation + Other -#define ICON_MD_GOLF_TEE "\xf3\xb1\x82\x83" // U+F1083 golf-tee, tags: Sport -#define ICON_MD_GONDOLA "\xf3\xb0\x9a\x86" // U+F0686 gondola, aliases: cable-car, tags: Transportation + Other -#define ICON_MD_GOODREADS "\xf3\xb0\xb5\xbb" // U+F0D7B goodreads, tags: Brand / Logo -#define ICON_MD_GOOGLE "\xf3\xb0\x8a\xad" // U+F02AD google, tags: Brand / Logo -#define ICON_MD_GOOGLE_ADS "\xf3\xb0\xb2\x87" // U+F0C87 google-ads, aliases: google-adwords, tags: Brand / Logo -#define ICON_MD_GOOGLE_ANALYTICS "\xf3\xb0\x9f\x8c" // U+F07CC google-analytics, tags: Brand / Logo -#define ICON_MD_GOOGLE_ASSISTANT "\xf3\xb0\x9f\x8d" // U+F07CD google-assistant, tags: Brand / Logo -#define ICON_MD_GOOGLE_CARDBOARD "\xf3\xb0\x8a\xae" // U+F02AE google-cardboard, tags: Brand / Logo -#define ICON_MD_GOOGLE_CHROME "\xf3\xb0\x8a\xaf" // U+F02AF google-chrome, aliases: chromecast, tags: Brand / Logo -#define ICON_MD_GOOGLE_CIRCLES "\xf3\xb0\x8a\xb0" // U+F02B0 google-circles, tags: Brand / Logo -#define ICON_MD_GOOGLE_CIRCLES_COMMUNITIES "\xf3\xb0\x8a\xb1" // U+F02B1 google-circles-communities, tags: Brand / Logo -#define ICON_MD_GOOGLE_CIRCLES_EXTENDED "\xf3\xb0\x8a\xb2" // U+F02B2 google-circles-extended, tags: Brand / Logo -#define ICON_MD_GOOGLE_CIRCLES_GROUP "\xf3\xb0\x8a\xb3" // U+F02B3 google-circles-group, tags: Brand / Logo -#define ICON_MD_GOOGLE_CLASSROOM "\xf3\xb0\x8b\x80" // U+F02C0 google-classroom, tags: Brand / Logo -#define ICON_MD_GOOGLE_CLOUD "\xf3\xb1\x87\xb6" // U+F11F6 google-cloud, tags: Brand / Logo -#define ICON_MD_GOOGLE_DOWNASAUR "\xf3\xb1\x8d\xa2" // U+F1362 google-downasaur, aliases: dinosaur-pixel, t-rex, tyrannosaurus-rex, tags: Animal, Gaming / RPG -#define ICON_MD_GOOGLE_DRIVE "\xf3\xb0\x8a\xb6" // U+F02B6 google-drive, aliases: attach-drive, tags: Brand / Logo -#define ICON_MD_GOOGLE_EARTH "\xf3\xb0\x8a\xb7" // U+F02B7 google-earth, aliases: marble, tags: Brand / Logo -#define ICON_MD_GOOGLE_FIT "\xf3\xb0\xa5\xac" // U+F096C google-fit, tags: Brand / Logo -#define ICON_MD_GOOGLE_GLASS "\xf3\xb0\x8a\xb8" // U+F02B8 google-glass, tags: Brand / Logo -#define ICON_MD_GOOGLE_HANGOUTS "\xf3\xb0\x8b\x89" // U+F02C9 google-hangouts, tags: Brand / Logo -#define ICON_MD_GOOGLE_KEEP "\xf3\xb0\x9b\x9c" // U+F06DC google-keep, tags: Brand / Logo -#define ICON_MD_GOOGLE_LENS "\xf3\xb0\xa7\xb6" // U+F09F6 google-lens, tags: Brand / Logo -#define ICON_MD_GOOGLE_MAPS "\xf3\xb0\x97\xb5" // U+F05F5 google-maps, tags: Navigation, Brand / Logo -#define ICON_MD_GOOGLE_MY_BUSINESS "\xf3\xb1\x81\x88" // U+F1048 google-my-business -#define ICON_MD_GOOGLE_NEARBY "\xf3\xb0\x8a\xb9" // U+F02B9 google-nearby -#define ICON_MD_GOOGLE_PLAY "\xf3\xb0\x8a\xbc" // U+F02BC google-play, tags: Brand / Logo -#define ICON_MD_GOOGLE_PLUS "\xf3\xb0\x8a\xbd" // U+F02BD google-plus, tags: Brand / Logo, Social Media -#define ICON_MD_GOOGLE_PODCAST "\xf3\xb0\xba\xb9" // U+F0EB9 google-podcast -#define ICON_MD_GOOGLE_SPREADSHEET "\xf3\xb0\xa7\xb7" // U+F09F7 google-spreadsheet -#define ICON_MD_GOOGLE_STREET_VIEW "\xf3\xb0\xb2\x88" // U+F0C88 google-street-view, aliases: pegman -#define ICON_MD_GOOGLE_TRANSLATE "\xf3\xb0\x8a\xbf" // U+F02BF google-translate, aliases: g-translate, tags: Brand / Logo -#define ICON_MD_GRADIENT_HORIZONTAL "\xf3\xb1\x9d\x8a" // U+F174A gradient-horizontal, tags: Drawing / Art -#define ICON_MD_GRADIENT_VERTICAL "\xf3\xb0\x9a\xa0" // U+F06A0 gradient-vertical, tags: Drawing / Art -#define ICON_MD_GRAIN "\xf3\xb0\xb5\xbc" // U+F0D7C grain, tags: Photography, Video / Movie -#define ICON_MD_GRAPH "\xf3\xb1\x81\x89" // U+F1049 graph, aliases: dependency, dependencies -#define ICON_MD_GRAPH_OUTLINE "\xf3\xb1\x81\x8a" // U+F104A graph-outline, aliases: dependency, dependencies -#define ICON_MD_GRAPHQL "\xf3\xb0\xa1\xb7" // U+F0877 graphql, tags: Brand / Logo -#define ICON_MD_GRASS "\xf3\xb1\x94\x90" // U+F1510 grass, aliases: lawn, tags: Nature, Agriculture -#define ICON_MD_GRAVE_STONE "\xf3\xb0\xae\xa2" // U+F0BA2 grave-stone, aliases: headstone, tombstone, cemetery, graveyard, tags: Holiday -#define ICON_MD_GREASE_PENCIL "\xf3\xb0\x99\x88" // U+F0648 grease-pencil, tags: Drawing / Art -#define ICON_MD_GREATER_THAN "\xf3\xb0\xa5\xad" // U+F096D greater-than, tags: Math -#define ICON_MD_GREATER_THAN_OR_EQUAL "\xf3\xb0\xa5\xae" // U+F096E greater-than-or-equal, tags: Math -#define ICON_MD_GREENHOUSE "\xf3\xb0\x80\xad" // U+F002D greenhouse, aliases: glasshouse, hothouse, shed, tags: Home Automation, Agriculture, Nature -#define ICON_MD_GRID "\xf3\xb0\x8b\x81" // U+F02C1 grid, aliases: grid-on -#define ICON_MD_GRID_LARGE "\xf3\xb0\x9d\x98" // U+F0758 grid-large -#define ICON_MD_GRID_OFF "\xf3\xb0\x8b\x82" // U+F02C2 grid-off -#define ICON_MD_GRILL "\xf3\xb0\xb9\x85" // U+F0E45 grill, aliases: bbq, barbecue, charcoal, tags: Food / Drink -#define ICON_MD_GRILL_OUTLINE "\xf3\xb1\x86\x8a" // U+F118A grill-outline, aliases: barbecue-outline, bbq-outline, charcoal-outline, tags: Food / Drink -#define ICON_MD_GROUP "\xf3\xb0\x8b\x83" // U+F02C3 group -#define ICON_MD_GUITAR_ACOUSTIC "\xf3\xb0\x9d\xb1" // U+F0771 guitar-acoustic, tags: Music -#define ICON_MD_GUITAR_ELECTRIC "\xf3\xb0\x8b\x84" // U+F02C4 guitar-electric, tags: Music -#define ICON_MD_GUITAR_PICK "\xf3\xb0\x8b\x85" // U+F02C5 guitar-pick, tags: Music -#define ICON_MD_GUITAR_PICK_OUTLINE "\xf3\xb0\x8b\x86" // U+F02C6 guitar-pick-outline, tags: Music -#define ICON_MD_GUY_FAWKES_MASK "\xf3\xb0\xa0\xa5" // U+F0825 guy-fawkes-mask -#define ICON_MD_GYMNASTICS "\xf3\xb1\xa9\x81" // U+F1A41 gymnastics, tags: Sport -#define ICON_MD_HAIL "\xf3\xb0\xab\x81" // U+F0AC1 hail, aliases: hail-taxi, hail-cab, tags: Transportation + Road, Navigation -#define ICON_MD_HAIR_DRYER "\xf3\xb1\x83\xaf" // U+F10EF hair-dryer, tags: Health / Beauty -#define ICON_MD_HAIR_DRYER_OUTLINE "\xf3\xb1\x83\xb0" // U+F10F0 hair-dryer-outline, tags: Health / Beauty -#define ICON_MD_HALLOWEEN "\xf3\xb0\xae\xa3" // U+F0BA3 halloween, aliases: pumpkin-face, pumpkin-carved, jack-o-lantern, emoji-halloween, emoticon-halloween, tags: Holiday -#define ICON_MD_HAMBURGER "\xf3\xb0\x9a\x85" // U+F0685 hamburger, aliases: burger, fast-food, food, tags: Food / Drink -#define ICON_MD_HAMBURGER_CHECK "\xf3\xb1\x9d\xb6" // U+F1776 hamburger-check, aliases: burger-check, tags: Food / Drink -#define ICON_MD_HAMBURGER_MINUS "\xf3\xb1\x9d\xb7" // U+F1777 hamburger-minus, aliases: burger-minus, tags: Food / Drink -#define ICON_MD_HAMBURGER_OFF "\xf3\xb1\x9d\xb8" // U+F1778 hamburger-off, aliases: burger-off, fast-food-off, food-off, tags: Food / Drink -#define ICON_MD_HAMBURGER_PLUS "\xf3\xb1\x9d\xb9" // U+F1779 hamburger-plus, aliases: burger-plus, burger-add, tags: Food / Drink -#define ICON_MD_HAMBURGER_REMOVE "\xf3\xb1\x9d\xba" // U+F177A hamburger-remove, aliases: burger-remove, tags: Food / Drink -#define ICON_MD_HAMMER "\xf3\xb0\xa3\xaa" // U+F08EA hammer, tags: Hardware / Tools -#define ICON_MD_HAMMER_SCREWDRIVER "\xf3\xb1\x8c\xa2" // U+F1322 hammer-screwdriver, aliases: tools, tags: Hardware / Tools -#define ICON_MD_HAMMER_SICKLE "\xf3\xb1\xa2\x87" // U+F1887 hammer-sickle, aliases: communism -#define ICON_MD_HAMMER_WRENCH "\xf3\xb1\x8c\xa3" // U+F1323 hammer-wrench, aliases: tools, tags: Hardware / Tools -#define ICON_MD_HAND_BACK_LEFT "\xf3\xb0\xb9\x86" // U+F0E46 hand-back-left -#define ICON_MD_HAND_BACK_LEFT_OFF "\xf3\xb1\xa0\xb0" // U+F1830 hand-back-left-off -#define ICON_MD_HAND_BACK_LEFT_OFF_OUTLINE "\xf3\xb1\xa0\xb2" // U+F1832 hand-back-left-off-outline -#define ICON_MD_HAND_BACK_LEFT_OUTLINE "\xf3\xb1\xa0\xac" // U+F182C hand-back-left-outline -#define ICON_MD_HAND_BACK_RIGHT "\xf3\xb0\xb9\x87" // U+F0E47 hand-back-right -#define ICON_MD_HAND_BACK_RIGHT_OFF "\xf3\xb1\xa0\xb1" // U+F1831 hand-back-right-off -#define ICON_MD_HAND_BACK_RIGHT_OFF_OUTLINE "\xf3\xb1\xa0\xb3" // U+F1833 hand-back-right-off-outline -#define ICON_MD_HAND_BACK_RIGHT_OUTLINE "\xf3\xb1\xa0\xad" // U+F182D hand-back-right-outline -#define ICON_MD_HAND_CLAP "\xf3\xb1\xa5\x8b" // U+F194B hand-clap, aliases: applause -#define ICON_MD_HAND_CLAP_OFF "\xf3\xb1\xa9\x82" // U+F1A42 hand-clap-off, aliases: applause-off -#define ICON_MD_HAND_COIN "\xf3\xb1\xa2\x8f" // U+F188F hand-coin, aliases: charity, donation, tags: Banking -#define ICON_MD_HAND_COIN_OUTLINE "\xf3\xb1\xa2\x90" // U+F1890 hand-coin-outline, aliases: charity-outline, donation-outline, tags: Banking -#define ICON_MD_HAND_CYCLE "\xf3\xb1\xae\x9c" // U+F1B9C hand-cycle, aliases: hand-bike, tags: Sport -#define ICON_MD_HAND_EXTENDED "\xf3\xb1\xa2\xb6" // U+F18B6 hand-extended, aliases: hand-open, hand-palm -#define ICON_MD_HAND_EXTENDED_OUTLINE "\xf3\xb1\xa2\xb7" // U+F18B7 hand-extended-outline, aliases: hand-open-outline, hand-palm-outline -#define ICON_MD_HAND_FRONT_LEFT "\xf3\xb1\xa0\xab" // U+F182B hand-front-left -#define ICON_MD_HAND_FRONT_LEFT_OUTLINE "\xf3\xb1\xa0\xae" // U+F182E hand-front-left-outline -#define ICON_MD_HAND_FRONT_RIGHT "\xf3\xb0\xa9\x8f" // U+F0A4F hand-front-right -#define ICON_MD_HAND_FRONT_RIGHT_OUTLINE "\xf3\xb1\xa0\xaf" // U+F182F hand-front-right-outline -#define ICON_MD_HAND_HEART "\xf3\xb1\x83\xb1" // U+F10F1 hand-heart, aliases: volunteer, love, hope -#define ICON_MD_HAND_HEART_OUTLINE "\xf3\xb1\x95\xbe" // U+F157E hand-heart-outline -#define ICON_MD_HAND_OKAY "\xf3\xb0\xa9\x90" // U+F0A50 hand-okay -#define ICON_MD_HAND_PEACE "\xf3\xb0\xa9\x91" // U+F0A51 hand-peace -#define ICON_MD_HAND_PEACE_VARIANT "\xf3\xb0\xa9\x92" // U+F0A52 hand-peace-variant -#define ICON_MD_HAND_POINTING_DOWN "\xf3\xb0\xa9\x93" // U+F0A53 hand-pointing-down -#define ICON_MD_HAND_POINTING_LEFT "\xf3\xb0\xa9\x94" // U+F0A54 hand-pointing-left -#define ICON_MD_HAND_POINTING_RIGHT "\xf3\xb0\x8b\x87" // U+F02C7 hand-pointing-right -#define ICON_MD_HAND_POINTING_UP "\xf3\xb0\xa9\x95" // U+F0A55 hand-pointing-up -#define ICON_MD_HAND_SAW "\xf3\xb0\xb9\x88" // U+F0E48 hand-saw, tags: Hardware / Tools -#define ICON_MD_HAND_WASH "\xf3\xb1\x95\xbf" // U+F157F hand-wash, tags: Medical / Hospital -#define ICON_MD_HAND_WASH_OUTLINE "\xf3\xb1\x96\x80" // U+F1580 hand-wash-outline, tags: Medical / Hospital -#define ICON_MD_HAND_WATER "\xf3\xb1\x8e\x9f" // U+F139F hand-water, aliases: hand-wash, tags: Medical / Hospital -#define ICON_MD_HAND_WAVE "\xf3\xb1\xa0\xa1" // U+F1821 hand-wave, aliases: greeting, farewell -#define ICON_MD_HAND_WAVE_OUTLINE "\xf3\xb1\xa0\xa2" // U+F1822 hand-wave-outline, aliases: greeting-outline, farewell-outline -#define ICON_MD_HANDBALL "\xf3\xb0\xbd\x93" // U+F0F53 handball, aliases: volleyball, human-handball, tags: Sport, People / Family -#define ICON_MD_HANDCUFFS "\xf3\xb1\x84\xbe" // U+F113E handcuffs -#define ICON_MD_HANDS_PRAY "\xf3\xb0\x95\xb9" // U+F0579 hands-pray -#define ICON_MD_HANDSHAKE "\xf3\xb1\x88\x98" // U+F1218 handshake, aliases: business, deal, help, partnership -#define ICON_MD_HANDSHAKE_OUTLINE "\xf3\xb1\x96\xa1" // U+F15A1 handshake-outline, aliases: business-outline, deal-outline, help-outline, partnership-outline -#define ICON_MD_HANGER "\xf3\xb0\x8b\x88" // U+F02C8 hanger, aliases: coat-hanger, clothes-hanger, closet, tags: Clothing, Home Automation -#define ICON_MD_HARD_HAT "\xf3\xb0\xa5\xaf" // U+F096F hard-hat, aliases: helmet, tags: Hardware / Tools, Clothing -#define ICON_MD_HARDDISK "\xf3\xb0\x8b\x8a" // U+F02CA harddisk, aliases: hdd -#define ICON_MD_HARDDISK_PLUS "\xf3\xb1\x81\x8b" // U+F104B harddisk-plus, aliases: hdd-plus -#define ICON_MD_HARDDISK_REMOVE "\xf3\xb1\x81\x8c" // U+F104C harddisk-remove, aliases: hdd-remove -#define ICON_MD_HAT_FEDORA "\xf3\xb0\xae\xa4" // U+F0BA4 hat-fedora, tags: Clothing -#define ICON_MD_HAZARD_LIGHTS "\xf3\xb0\xb2\x89" // U+F0C89 hazard-lights, aliases: warning-lights, tags: Automotive -#define ICON_MD_HDMI_PORT "\xf3\xb1\xae\xb8" // U+F1BB8 hdmi-port, tags: Video / Movie, Home Automation -#define ICON_MD_HDR "\xf3\xb0\xb5\xbd" // U+F0D7D hdr -#define ICON_MD_HDR_OFF "\xf3\xb0\xb5\xbe" // U+F0D7E hdr-off -#define ICON_MD_HEAD "\xf3\xb1\x8d\x9e" // U+F135E head -#define ICON_MD_HEAD_ALERT "\xf3\xb1\x8c\xb8" // U+F1338 head-alert, tags: Alert / Error -#define ICON_MD_HEAD_ALERT_OUTLINE "\xf3\xb1\x8c\xb9" // U+F1339 head-alert-outline, tags: Alert / Error -#define ICON_MD_HEAD_CHECK "\xf3\xb1\x8c\xba" // U+F133A head-check -#define ICON_MD_HEAD_CHECK_OUTLINE "\xf3\xb1\x8c\xbb" // U+F133B head-check-outline -#define ICON_MD_HEAD_COG "\xf3\xb1\x8c\xbc" // U+F133C head-cog, aliases: psychology, tags: Settings -#define ICON_MD_HEAD_COG_OUTLINE "\xf3\xb1\x8c\xbd" // U+F133D head-cog-outline, aliases: psychology-outline, tags: Settings -#define ICON_MD_HEAD_DOTS_HORIZONTAL "\xf3\xb1\x8c\xbe" // U+F133E head-dots-horizontal, aliases: head-thinking -#define ICON_MD_HEAD_DOTS_HORIZONTAL_OUTLINE "\xf3\xb1\x8c\xbf" // U+F133F head-dots-horizontal-outline, aliases: head-thinking-outline -#define ICON_MD_HEAD_FLASH "\xf3\xb1\x8d\x80" // U+F1340 head-flash, aliases: head-ache -#define ICON_MD_HEAD_FLASH_OUTLINE "\xf3\xb1\x8d\x81" // U+F1341 head-flash-outline, aliases: head-ache-outline -#define ICON_MD_HEAD_HEART "\xf3\xb1\x8d\x82" // U+F1342 head-heart, aliases: head-love -#define ICON_MD_HEAD_HEART_OUTLINE "\xf3\xb1\x8d\x83" // U+F1343 head-heart-outline, aliases: head-love-outline -#define ICON_MD_HEAD_LIGHTBULB "\xf3\xb1\x8d\x84" // U+F1344 head-lightbulb, aliases: head-idea, head-bulb -#define ICON_MD_HEAD_LIGHTBULB_OUTLINE "\xf3\xb1\x8d\x85" // U+F1345 head-lightbulb-outline, aliases: head-idea-outline, head-bulb-outline -#define ICON_MD_HEAD_MINUS "\xf3\xb1\x8d\x86" // U+F1346 head-minus -#define ICON_MD_HEAD_MINUS_OUTLINE "\xf3\xb1\x8d\x87" // U+F1347 head-minus-outline -#define ICON_MD_HEAD_OUTLINE "\xf3\xb1\x8d\x9f" // U+F135F head-outline -#define ICON_MD_HEAD_PLUS "\xf3\xb1\x8d\x88" // U+F1348 head-plus -#define ICON_MD_HEAD_PLUS_OUTLINE "\xf3\xb1\x8d\x89" // U+F1349 head-plus-outline -#define ICON_MD_HEAD_QUESTION "\xf3\xb1\x8d\x8a" // U+F134A head-question -#define ICON_MD_HEAD_QUESTION_OUTLINE "\xf3\xb1\x8d\x8b" // U+F134B head-question-outline -#define ICON_MD_HEAD_REMOVE "\xf3\xb1\x8d\x8c" // U+F134C head-remove -#define ICON_MD_HEAD_REMOVE_OUTLINE "\xf3\xb1\x8d\x8d" // U+F134D head-remove-outline -#define ICON_MD_HEAD_SNOWFLAKE "\xf3\xb1\x8d\x8e" // U+F134E head-snowflake, aliases: head-freeze, brain-freeze -#define ICON_MD_HEAD_SNOWFLAKE_OUTLINE "\xf3\xb1\x8d\x8f" // U+F134F head-snowflake-outline, aliases: head-freeze-outline, brain-freeze-outline -#define ICON_MD_HEAD_SYNC "\xf3\xb1\x8d\x90" // U+F1350 head-sync, aliases: head-reload, head-refresh -#define ICON_MD_HEAD_SYNC_OUTLINE "\xf3\xb1\x8d\x91" // U+F1351 head-sync-outline, aliases: head-reload-outline, head-refresh-outline -#define ICON_MD_HEADPHONES "\xf3\xb0\x8b\x8b" // U+F02CB headphones, aliases: headset, tags: Audio, Device / Tech, Music -#define ICON_MD_HEADPHONES_BLUETOOTH "\xf3\xb0\xa5\xb0" // U+F0970 headphones-bluetooth -#define ICON_MD_HEADPHONES_BOX "\xf3\xb0\x8b\x8c" // U+F02CC headphones-box, tags: Audio, Music -#define ICON_MD_HEADPHONES_OFF "\xf3\xb0\x9f\x8e" // U+F07CE headphones-off, tags: Audio, Device / Tech, Music -#define ICON_MD_HEADPHONES_SETTINGS "\xf3\xb0\x8b\x8d" // U+F02CD headphones-settings, tags: Audio, Settings -#define ICON_MD_HEADSET "\xf3\xb0\x8b\x8e" // U+F02CE headset, aliases: headset-mic, tags: Audio, Device / Tech -#define ICON_MD_HEADSET_DOCK "\xf3\xb0\x8b\x8f" // U+F02CF headset-dock, tags: Audio -#define ICON_MD_HEADSET_OFF "\xf3\xb0\x8b\x90" // U+F02D0 headset-off, tags: Audio, Device / Tech -#define ICON_MD_HEART "\xf3\xb0\x8b\x91" // U+F02D1 heart, aliases: favorite, favourite, tags: Shape, Gaming / RPG, Medical / Hospital -#define ICON_MD_HEART_BOX "\xf3\xb0\x8b\x92" // U+F02D2 heart-box -#define ICON_MD_HEART_BOX_OUTLINE "\xf3\xb0\x8b\x93" // U+F02D3 heart-box-outline -#define ICON_MD_HEART_BROKEN "\xf3\xb0\x8b\x94" // U+F02D4 heart-broken -#define ICON_MD_HEART_BROKEN_OUTLINE "\xf3\xb0\xb4\x94" // U+F0D14 heart-broken-outline -#define ICON_MD_HEART_CIRCLE "\xf3\xb0\xa5\xb1" // U+F0971 heart-circle -#define ICON_MD_HEART_CIRCLE_OUTLINE "\xf3\xb0\xa5\xb2" // U+F0972 heart-circle-outline -#define ICON_MD_HEART_COG "\xf3\xb1\x99\xa3" // U+F1663 heart-cog -#define ICON_MD_HEART_COG_OUTLINE "\xf3\xb1\x99\xa4" // U+F1664 heart-cog-outline -#define ICON_MD_HEART_FLASH "\xf3\xb0\xbb\xb9" // U+F0EF9 heart-flash, aliases: aed, defibrillator, tags: Medical / Hospital -#define ICON_MD_HEART_HALF "\xf3\xb0\x9b\x9f" // U+F06DF heart-half, tags: Gaming / RPG -#define ICON_MD_HEART_HALF_FULL "\xf3\xb0\x9b\x9e" // U+F06DE heart-half-full, tags: Gaming / RPG -#define ICON_MD_HEART_HALF_OUTLINE "\xf3\xb0\x9b\xa0" // U+F06E0 heart-half-outline, tags: Gaming / RPG -#define ICON_MD_HEART_MINUS "\xf3\xb1\x90\xaf" // U+F142F heart-minus -#define ICON_MD_HEART_MINUS_OUTLINE "\xf3\xb1\x90\xb2" // U+F1432 heart-minus-outline -#define ICON_MD_HEART_MULTIPLE "\xf3\xb0\xa9\x96" // U+F0A56 heart-multiple, aliases: hearts -#define ICON_MD_HEART_MULTIPLE_OUTLINE "\xf3\xb0\xa9\x97" // U+F0A57 heart-multiple-outline, aliases: hearts-outline -#define ICON_MD_HEART_OFF "\xf3\xb0\x9d\x99" // U+F0759 heart-off, tags: Medical / Hospital -#define ICON_MD_HEART_OFF_OUTLINE "\xf3\xb1\x90\xb4" // U+F1434 heart-off-outline, tags: Medical / Hospital -#define ICON_MD_HEART_OUTLINE "\xf3\xb0\x8b\x95" // U+F02D5 heart-outline, aliases: favorite-border, favourite-border, favorite-outline, favourite-outline, tags: Shape, Gaming / RPG, Medical / Hospital -#define ICON_MD_HEART_PLUS "\xf3\xb1\x90\xae" // U+F142E heart-plus -#define ICON_MD_HEART_PLUS_OUTLINE "\xf3\xb1\x90\xb1" // U+F1431 heart-plus-outline -#define ICON_MD_HEART_PULSE "\xf3\xb0\x97\xb6" // U+F05F6 heart-pulse, aliases: heart-vitals, tags: Medical / Hospital -#define ICON_MD_HEART_REMOVE "\xf3\xb1\x90\xb0" // U+F1430 heart-remove -#define ICON_MD_HEART_REMOVE_OUTLINE "\xf3\xb1\x90\xb3" // U+F1433 heart-remove-outline -#define ICON_MD_HEART_SETTINGS "\xf3\xb1\x99\xa5" // U+F1665 heart-settings, tags: Settings -#define ICON_MD_HEART_SETTINGS_OUTLINE "\xf3\xb1\x99\xa6" // U+F1666 heart-settings-outline, tags: Settings -#define ICON_MD_HEAT_PUMP "\xf3\xb1\xa9\x83" // U+F1A43 heat-pump, tags: Home Automation -#define ICON_MD_HEAT_PUMP_OUTLINE "\xf3\xb1\xa9\x84" // U+F1A44 heat-pump-outline, tags: Home Automation -#define ICON_MD_HEAT_WAVE "\xf3\xb1\xa9\x85" // U+F1A45 heat-wave, aliases: keep-warm, warmth, tags: Home Automation, Weather -#define ICON_MD_HEATING_COIL "\xf3\xb1\xaa\xaf" // U+F1AAF heating-coil, aliases: radiator-coil, heated-floor, tags: Home Automation -#define ICON_MD_HELICOPTER "\xf3\xb0\xab\x82" // U+F0AC2 helicopter, tags: Transportation + Flying -#define ICON_MD_HELP "\xf3\xb0\x8b\x96" // U+F02D6 help, aliases: question-mark -#define ICON_MD_HELP_BOX "\xf3\xb0\x9e\x8b" // U+F078B help-box, aliases: question-mark-box -#define ICON_MD_HELP_CIRCLE "\xf3\xb0\x8b\x97" // U+F02D7 help-circle, aliases: question-mark-circle -#define ICON_MD_HELP_CIRCLE_OUTLINE "\xf3\xb0\x98\xa5" // U+F0625 help-circle-outline, aliases: help-outline, question-mark-circle-outline -#define ICON_MD_HELP_NETWORK "\xf3\xb0\x9b\xb5" // U+F06F5 help-network, aliases: question-network -#define ICON_MD_HELP_NETWORK_OUTLINE "\xf3\xb0\xb2\x8a" // U+F0C8A help-network-outline, aliases: question-network-outline -#define ICON_MD_HELP_RHOMBUS "\xf3\xb0\xae\xa5" // U+F0BA5 help-rhombus, aliases: question-mark-rhombus -#define ICON_MD_HELP_RHOMBUS_OUTLINE "\xf3\xb0\xae\xa6" // U+F0BA6 help-rhombus-outline, aliases: question-mark-rhombus-outline -#define ICON_MD_HEXADECIMAL "\xf3\xb1\x8a\xa7" // U+F12A7 hexadecimal, tags: Developer / Languages -#define ICON_MD_HEXAGON "\xf3\xb0\x8b\x98" // U+F02D8 hexagon, tags: Shape -#define ICON_MD_HEXAGON_MULTIPLE "\xf3\xb0\x9b\xa1" // U+F06E1 hexagon-multiple, aliases: hexagons, tags: Shape -#define ICON_MD_HEXAGON_MULTIPLE_OUTLINE "\xf3\xb1\x83\xb2" // U+F10F2 hexagon-multiple-outline, tags: Nature -#define ICON_MD_HEXAGON_OUTLINE "\xf3\xb0\x8b\x99" // U+F02D9 hexagon-outline, tags: Shape -#define ICON_MD_HEXAGON_SLICE_1 "\xf3\xb0\xab\x83" // U+F0AC3 hexagon-slice-1 -#define ICON_MD_HEXAGON_SLICE_2 "\xf3\xb0\xab\x84" // U+F0AC4 hexagon-slice-2 -#define ICON_MD_HEXAGON_SLICE_3 "\xf3\xb0\xab\x85" // U+F0AC5 hexagon-slice-3 -#define ICON_MD_HEXAGON_SLICE_4 "\xf3\xb0\xab\x86" // U+F0AC6 hexagon-slice-4 -#define ICON_MD_HEXAGON_SLICE_5 "\xf3\xb0\xab\x87" // U+F0AC7 hexagon-slice-5 -#define ICON_MD_HEXAGON_SLICE_6 "\xf3\xb0\xab\x88" // U+F0AC8 hexagon-slice-6 -#define ICON_MD_HEXAGRAM "\xf3\xb0\xab\x89" // U+F0AC9 hexagram, aliases: star, christmas-star, tags: Shape, Holiday -#define ICON_MD_HEXAGRAM_OUTLINE "\xf3\xb0\xab\x8a" // U+F0ACA hexagram-outline, aliases: star-outline, christmas-star-outline, tags: Shape, Holiday -#define ICON_MD_HIGH_DEFINITION "\xf3\xb0\x9f\x8f" // U+F07CF high-definition, aliases: hd, tags: Video / Movie -#define ICON_MD_HIGH_DEFINITION_BOX "\xf3\xb0\xa1\xb8" // U+F0878 high-definition-box, aliases: hd-box, hd, tags: Video / Movie -#define ICON_MD_HIGHWAY "\xf3\xb0\x97\xb7" // U+F05F7 highway, aliases: autobahn, motorway, tags: Transportation + Road -#define ICON_MD_HIKING "\xf3\xb0\xb5\xbf" // U+F0D7F hiking, aliases: human-hiking, tags: Sport, People / Family -#define ICON_MD_HISTORY "\xf3\xb0\x8b\x9a" // U+F02DA history, aliases: recent, latest, clock-arrow, counterclockwise, restore-clock, tags: Date / Time -#define ICON_MD_HOCKEY_PUCK "\xf3\xb0\xa1\xb9" // U+F0879 hockey-puck, tags: Sport -#define ICON_MD_HOCKEY_STICKS "\xf3\xb0\xa1\xba" // U+F087A hockey-sticks, tags: Sport -#define ICON_MD_HOLOLENS "\xf3\xb0\x8b\x9b" // U+F02DB hololens, tags: Gaming / RPG -#define ICON_MD_HOME "\xf3\xb0\x8b\x9c" // U+F02DC home, aliases: house, tags: Home Automation, Places -#define ICON_MD_HOME_ACCOUNT "\xf3\xb0\xa0\xa6" // U+F0826 home-account, aliases: home-user, house-account, house-user, tags: Account / User, Home Automation -#define ICON_MD_HOME_ALERT "\xf3\xb0\xa1\xbb" // U+F087B home-alert, aliases: home-warning, house-alert, house-warning, tags: Home Automation, Alert / Error -#define ICON_MD_HOME_ALERT_OUTLINE "\xf3\xb1\x97\x90" // U+F15D0 home-alert-outline, aliases: house-alert-outline, home-warning-outline, house-warning-outline, tags: Home Automation, Alert / Error -#define ICON_MD_HOME_ANALYTICS "\xf3\xb0\xba\xba" // U+F0EBA home-analytics, aliases: chart-home, home-chart, home-report, house-analytics, house-chart, tags: Home Automation -#define ICON_MD_HOME_ASSISTANT "\xf3\xb0\x9f\x90" // U+F07D0 home-assistant, tags: Brand / Logo, Home Automation -#define ICON_MD_HOME_AUTOMATION "\xf3\xb0\x9f\x91" // U+F07D1 home-automation, aliases: house-automation, home-wireless, house-wireless, tags: Home Automation -#define ICON_MD_HOME_BATTERY "\xf3\xb1\xa4\x81" // U+F1901 home-battery, aliases: home-energy, home-power, home-electricity, house-energy, house-battery, house-power, tags: Home Automation, Battery -#define ICON_MD_HOME_BATTERY_OUTLINE "\xf3\xb1\xa4\x82" // U+F1902 home-battery-outline, aliases: home-energy-outline, home-power-outline, home-electricity-outline, house-battery-outline, house-power-outline, house-energy-outline, tags: Home Automation, Battery -#define ICON_MD_HOME_CIRCLE "\xf3\xb0\x9f\x92" // U+F07D2 home-circle, aliases: house-circle, tags: Home Automation -#define ICON_MD_HOME_CIRCLE_OUTLINE "\xf3\xb1\x81\x8d" // U+F104D home-circle-outline, aliases: house-circle-outline, tags: Home Automation -#define ICON_MD_HOME_CITY "\xf3\xb0\xb4\x95" // U+F0D15 home-city, aliases: house-city, tags: Home Automation -#define ICON_MD_HOME_CITY_OUTLINE "\xf3\xb0\xb4\x96" // U+F0D16 home-city-outline, aliases: house-city-outline, tags: Home Automation -#define ICON_MD_HOME_CLOCK "\xf3\xb1\xa8\x92" // U+F1A12 home-clock, aliases: home-time, home-schedule, house-time, house-clock, house-schedule, tags: Home Automation, Date / Time -#define ICON_MD_HOME_CLOCK_OUTLINE "\xf3\xb1\xa8\x93" // U+F1A13 home-clock-outline, aliases: home-time-outline, home-schedule-outline, house-clock-outline, house-time-outline, house-schedule-outline, tags: Home Automation, Date / Time -#define ICON_MD_HOME_EDIT "\xf3\xb1\x85\x99" // U+F1159 home-edit, aliases: house-edit, tags: Home Automation, Edit / Modify -#define ICON_MD_HOME_EDIT_OUTLINE "\xf3\xb1\x85\x9a" // U+F115A home-edit-outline, aliases: house-edit-outline, tags: Home Automation, Edit / Modify -#define ICON_MD_HOME_EXPORT_OUTLINE "\xf3\xb0\xbe\x9b" // U+F0F9B home-export-outline, aliases: house-export-outline, tags: Home Automation -#define ICON_MD_HOME_FLOOD "\xf3\xb0\xbb\xba" // U+F0EFA home-flood, aliases: house-flood, tags: Weather, Home Automation, Nature -#define ICON_MD_HOME_FLOOR_0 "\xf3\xb0\xb7\x92" // U+F0DD2 home-floor-0, aliases: house-floor-0, home-floor-zero, house-floor-zero, tags: Home Automation -#define ICON_MD_HOME_FLOOR_1 "\xf3\xb0\xb6\x80" // U+F0D80 home-floor-1, aliases: house-floor-1, home-floor-one, house-floor-one, home-floor-first, house-floor-first, tags: Home Automation -#define ICON_MD_HOME_FLOOR_2 "\xf3\xb0\xb6\x81" // U+F0D81 home-floor-2, aliases: house-floor-2, home-floor-two, house-floor-two, home-floor-second, house-floor-second, tags: Home Automation -#define ICON_MD_HOME_FLOOR_3 "\xf3\xb0\xb6\x82" // U+F0D82 home-floor-3, aliases: house-floor-3, home-floor-three, house-floor-three, home-floor-third, house-floor-third, tags: Home Automation -#define ICON_MD_HOME_FLOOR_A "\xf3\xb0\xb6\x83" // U+F0D83 home-floor-a, aliases: home-floor-attic, house-floor-a, house-floor-attic, tags: Home Automation -#define ICON_MD_HOME_FLOOR_B "\xf3\xb0\xb6\x84" // U+F0D84 home-floor-b, aliases: home-floor-basement, house-floor-b, house-floor-basement, tags: Home Automation -#define ICON_MD_HOME_FLOOR_G "\xf3\xb0\xb6\x85" // U+F0D85 home-floor-g, aliases: home-floor-ground, house-floor-g, house-floor-ground, tags: Home Automation -#define ICON_MD_HOME_FLOOR_L "\xf3\xb0\xb6\x86" // U+F0D86 home-floor-l, aliases: home-floor-loft, home-floor-lower, house-floor-l, house-floor-loft, house-floor-lower, tags: Home Automation -#define ICON_MD_HOME_FLOOR_NEGATIVE_1 "\xf3\xb0\xb7\x93" // U+F0DD3 home-floor-negative-1, aliases: house-floor-negative-1, home-floor-negative-one, home-floor-minus-1, home-floor-minus-one, house-floor-negative-one, house-floor-minus-1, house-floor-minus-one, tags: Home Automation -#define ICON_MD_HOME_GROUP "\xf3\xb0\xb7\x94" // U+F0DD4 home-group, aliases: house-group, neighbourhood, estate, housing-estate, tags: Home Automation -#define ICON_MD_HOME_GROUP_MINUS "\xf3\xb1\xa7\x81" // U+F19C1 home-group-minus, aliases: house-group-minus, tags: Home Automation -#define ICON_MD_HOME_GROUP_PLUS "\xf3\xb1\xa7\x80" // U+F19C0 home-group-plus, aliases: house-group-plus, home-group-add, house-group-add, tags: Home Automation -#define ICON_MD_HOME_GROUP_REMOVE "\xf3\xb1\xa7\x82" // U+F19C2 home-group-remove, aliases: house-group-remove, tags: Home Automation -#define ICON_MD_HOME_HEART "\xf3\xb0\xa0\xa7" // U+F0827 home-heart, aliases: family, house-heart, tags: Home Automation, People / Family -#define ICON_MD_HOME_IMPORT_OUTLINE "\xf3\xb0\xbe\x9c" // U+F0F9C home-import-outline, aliases: house-import-outline, tags: Home Automation -#define ICON_MD_HOME_LIGHTBULB "\xf3\xb1\x89\x91" // U+F1251 home-lightbulb, aliases: home-bulb, house-lightbulb, house-bulb, tags: Home Automation -#define ICON_MD_HOME_LIGHTBULB_OUTLINE "\xf3\xb1\x89\x92" // U+F1252 home-lightbulb-outline, aliases: home-bulb-outline, house-lightbulb-outline, house-bulb-outline, tags: Home Automation -#define ICON_MD_HOME_LIGHTNING_BOLT "\xf3\xb1\xa4\x83" // U+F1903 home-lightning-bolt, aliases: home-energy, home-power, home-electricity, home-flash, house-lightning-bolt, house-flash, tags: Home Automation -#define ICON_MD_HOME_LIGHTNING_BOLT_OUTLINE "\xf3\xb1\xa4\x84" // U+F1904 home-lightning-bolt-outline, aliases: home-energy, home-power, home-electricity, home-flash, house-lightning-bolt-outline, house-flash-outline, tags: Home Automation -#define ICON_MD_HOME_LOCK "\xf3\xb0\xa3\xab" // U+F08EB home-lock, aliases: house-lock, home-secure, house-secure, tags: Home Automation, Lock -#define ICON_MD_HOME_LOCK_OPEN "\xf3\xb0\xa3\xac" // U+F08EC home-lock-open, aliases: house-lock-open, tags: Home Automation, Lock -#define ICON_MD_HOME_MAP_MARKER "\xf3\xb0\x97\xb8" // U+F05F8 home-map-marker, aliases: house-map-marker, home-location, tags: Home Automation, Navigation -#define ICON_MD_HOME_MINUS "\xf3\xb0\xa5\xb4" // U+F0974 home-minus, aliases: house-minus, tags: Home Automation -#define ICON_MD_HOME_MINUS_OUTLINE "\xf3\xb1\x8f\x95" // U+F13D5 home-minus-outline, aliases: house-minus-outline, tags: Home Automation -#define ICON_MD_HOME_MODERN "\xf3\xb0\x8b\x9d" // U+F02DD home-modern, aliases: house-modern, tags: Home Automation -#define ICON_MD_HOME_OFF "\xf3\xb1\xa9\x86" // U+F1A46 home-off, aliases: house-off, tags: Home Automation -#define ICON_MD_HOME_OFF_OUTLINE "\xf3\xb1\xa9\x87" // U+F1A47 home-off-outline, aliases: house-off-outline, tags: Home Automation -#define ICON_MD_HOME_OUTLINE "\xf3\xb0\x9a\xa1" // U+F06A1 home-outline, aliases: house-outline, tags: Home Automation, Places -#define ICON_MD_HOME_PLUS "\xf3\xb0\xa5\xb5" // U+F0975 home-plus, aliases: home-add, house-plus, house-add, tags: Home Automation -#define ICON_MD_HOME_PLUS_OUTLINE "\xf3\xb1\x8f\x96" // U+F13D6 home-plus-outline, aliases: house-plus-outline, house-add-outline, tags: Home Automation -#define ICON_MD_HOME_REMOVE "\xf3\xb1\x89\x87" // U+F1247 home-remove, aliases: house-remove, tags: Home Automation -#define ICON_MD_HOME_REMOVE_OUTLINE "\xf3\xb1\x8f\x97" // U+F13D7 home-remove-outline, aliases: house-remove-outline, tags: Home Automation -#define ICON_MD_HOME_ROOF "\xf3\xb1\x84\xab" // U+F112B home-roof, aliases: home-chimney, home-attic, house-roof, house-attic, house-chimney, tags: Home Automation -#define ICON_MD_HOME_SEARCH "\xf3\xb1\x8e\xb0" // U+F13B0 home-search, aliases: house-search, home-find, house-find, tags: Home Automation -#define ICON_MD_HOME_SEARCH_OUTLINE "\xf3\xb1\x8e\xb1" // U+F13B1 home-search-outline, aliases: house-search-outline, home-find-outline, house-find-outline, tags: Home Automation -#define ICON_MD_HOME_SILO "\xf3\xb1\xae\xa0" // U+F1BA0 home-silo, aliases: farm-house, farm-home, tags: Agriculture -#define ICON_MD_HOME_SILO_OUTLINE "\xf3\xb1\xae\xa1" // U+F1BA1 home-silo-outline, aliases: farm-house-outline, farm-home-outline, tags: Agriculture -#define ICON_MD_HOME_SWITCH "\xf3\xb1\x9e\x94" // U+F1794 home-switch, aliases: home-swap, house-switch, house-swap, tags: Home Automation -#define ICON_MD_HOME_SWITCH_OUTLINE "\xf3\xb1\x9e\x95" // U+F1795 home-switch-outline, aliases: home-swap-outline, house-swap-outline, house-switch-outline, tags: Home Automation -#define ICON_MD_HOME_THERMOMETER "\xf3\xb0\xbd\x94" // U+F0F54 home-thermometer, aliases: home-climate, home-temperature, house-thermometer, house-climate, house-temperature, tags: Home Automation -#define ICON_MD_HOME_THERMOMETER_OUTLINE "\xf3\xb0\xbd\x95" // U+F0F55 home-thermometer-outline, aliases: home-climate-outline, home-temperature-outline, house-thermometer-outline, house-climate-outline, house-temperature-outline, tags: Home Automation -#define ICON_MD_HOME_VARIANT "\xf3\xb0\x8b\x9e" // U+F02DE home-variant, aliases: house-variant, tags: Home Automation -#define ICON_MD_HOME_VARIANT_OUTLINE "\xf3\xb0\xae\xa7" // U+F0BA7 home-variant-outline, aliases: house-variant-outline, tags: Home Automation -#define ICON_MD_HOOK "\xf3\xb0\x9b\xa2" // U+F06E2 hook -#define ICON_MD_HOOK_OFF "\xf3\xb0\x9b\xa3" // U+F06E3 hook-off -#define ICON_MD_HOOP_HOUSE "\xf3\xb0\xb9\x96" // U+F0E56 hoop-house, aliases: green-house, tags: Agriculture, Home Automation -#define ICON_MD_HOPS "\xf3\xb0\x8b\x9f" // U+F02DF hops, tags: Food / Drink, Agriculture -#define ICON_MD_HORIZONTAL_ROTATE_CLOCKWISE "\xf3\xb1\x83\xb3" // U+F10F3 horizontal-rotate-clockwise -#define ICON_MD_HORIZONTAL_ROTATE_COUNTERCLOCKWISE "\xf3\xb1\x83\xb4" // U+F10F4 horizontal-rotate-counterclockwise -#define ICON_MD_HORSE "\xf3\xb1\x96\xbf" // U+F15BF horse, aliases: equestrian, tags: Transportation + Other, Animal, Agriculture -#define ICON_MD_HORSE_HUMAN "\xf3\xb1\x97\x80" // U+F15C0 horse-human, aliases: horseback-riding, horse-riding, equestrian, tags: Transportation + Other, Agriculture, People / Family -#define ICON_MD_HORSE_VARIANT "\xf3\xb1\x97\x81" // U+F15C1 horse-variant, aliases: equestrian-variant, tags: Animal, Agriculture -#define ICON_MD_HORSE_VARIANT_FAST "\xf3\xb1\xa1\xae" // U+F186E horse-variant-fast, tags: Animal, Agriculture -#define ICON_MD_HORSESHOE "\xf3\xb0\xa9\x98" // U+F0A58 horseshoe, aliases: luck, tags: Sport, Agriculture -#define ICON_MD_HOSPITAL "\xf3\xb0\xbf\xb6" // U+F0FF6 hospital, aliases: swiss-cross, dispensary, tags: Medical / Hospital -#define ICON_MD_HOSPITAL_BOX "\xf3\xb0\x8b\xa0" // U+F02E0 hospital-box, aliases: local-hospital, swiss-cross-box, dispensary-box, tags: Medical / Hospital -#define ICON_MD_HOSPITAL_BOX_OUTLINE "\xf3\xb0\xbf\xb7" // U+F0FF7 hospital-box-outline, aliases: swiss-cross-box-outline, dispensary-box-outline, tags: Medical / Hospital -#define ICON_MD_HOSPITAL_BUILDING "\xf3\xb0\x8b\xa1" // U+F02E1 hospital-building, tags: Places, Medical / Hospital -#define ICON_MD_HOSPITAL_MARKER "\xf3\xb0\x8b\xa2" // U+F02E2 hospital-marker, aliases: hospital-location, tags: Medical / Hospital, Navigation -#define ICON_MD_HOT_TUB "\xf3\xb0\xa0\xa8" // U+F0828 hot-tub -#define ICON_MD_HOURS_24 "\xf3\xb1\x91\xb8" // U+F1478 hours-24, tags: Date / Time -#define ICON_MD_HUBSPOT "\xf3\xb0\xb4\x97" // U+F0D17 hubspot -#define ICON_MD_HULU "\xf3\xb0\xa0\xa9" // U+F0829 hulu, tags: Brand / Logo -#define ICON_MD_HUMAN "\xf3\xb0\x8b\xa6" // U+F02E6 human, aliases: accessibility, tags: People / Family -#define ICON_MD_HUMAN_BABY_CHANGING_TABLE "\xf3\xb1\x8e\x8b" // U+F138B human-baby-changing-table, tags: People / Family, Medical / Hospital -#define ICON_MD_HUMAN_CANE "\xf3\xb1\x96\x81" // U+F1581 human-cane, aliases: elderly, tags: Medical / Hospital, People / Family -#define ICON_MD_HUMAN_CAPACITY_DECREASE "\xf3\xb1\x96\x9b" // U+F159B human-capacity-decrease, aliases: human-capacity-reduce, tags: Account / User, Transportation + Other, People / Family -#define ICON_MD_HUMAN_CAPACITY_INCREASE "\xf3\xb1\x96\x9c" // U+F159C human-capacity-increase, tags: Account / User, Transportation + Other, People / Family -#define ICON_MD_HUMAN_CHILD "\xf3\xb0\x8b\xa7" // U+F02E7 human-child, tags: People / Family -#define ICON_MD_HUMAN_DOLLY "\xf3\xb1\xa6\x80" // U+F1980 human-dolly, aliases: human-hand-truck, human-trolley, tags: People / Family -#define ICON_MD_HUMAN_EDIT "\xf3\xb1\x93\xa8" // U+F14E8 human-edit, tags: People / Family, Edit / Modify -#define ICON_MD_HUMAN_FEMALE "\xf3\xb0\x99\x89" // U+F0649 human-female, aliases: woman, tags: People / Family -#define ICON_MD_HUMAN_FEMALE_BOY "\xf3\xb0\xa9\x99" // U+F0A59 human-female-boy, aliases: mother, mom, woman-child, mum, tags: People / Family -#define ICON_MD_HUMAN_FEMALE_DANCE "\xf3\xb1\x97\x89" // U+F15C9 human-female-dance, aliases: ballet, tags: People / Family -#define ICON_MD_HUMAN_FEMALE_FEMALE "\xf3\xb0\xa9\x9a" // U+F0A5A human-female-female, aliases: woman-woman, women, tags: People / Family -#define ICON_MD_HUMAN_FEMALE_GIRL "\xf3\xb0\xa9\x9b" // U+F0A5B human-female-girl, aliases: mother, mom, woman-child, mum, tags: People / Family -#define ICON_MD_HUMAN_GREETING "\xf3\xb1\x9f\x84" // U+F17C4 human-greeting, aliases: human-hello, human-welcome, tags: People / Family -#define ICON_MD_HUMAN_GREETING_PROXIMITY "\xf3\xb1\x96\x9d" // U+F159D human-greeting-proximity, aliases: connect-without-contact, tags: Account / User, People / Family -#define ICON_MD_HUMAN_GREETING_VARIANT "\xf3\xb0\x99\x8a" // U+F064A human-greeting-variant, aliases: human-hello-variant, tags: People / Family -#define ICON_MD_HUMAN_HANDSDOWN "\xf3\xb0\x99\x8b" // U+F064B human-handsdown, tags: People / Family -#define ICON_MD_HUMAN_HANDSUP "\xf3\xb0\x99\x8c" // U+F064C human-handsup, tags: People / Family -#define ICON_MD_HUMAN_MALE "\xf3\xb0\x99\x8d" // U+F064D human-male, aliases: man, tags: People / Family -#define ICON_MD_HUMAN_MALE_BOARD "\xf3\xb0\xa2\x90" // U+F0890 human-male-board, aliases: teacher, teaching, lecture, college, blackboard, whiteboard, human-man-board, tags: People / Family -#define ICON_MD_HUMAN_MALE_BOARD_POLL "\xf3\xb0\xa1\x86" // U+F0846 human-male-board-poll, aliases: teach-poll, tags: People / Family -#define ICON_MD_HUMAN_MALE_BOY "\xf3\xb0\xa9\x9c" // U+F0A5C human-male-boy, aliases: father, dad, man-child, tags: People / Family -#define ICON_MD_HUMAN_MALE_CHILD "\xf3\xb1\x8e\x8c" // U+F138C human-male-child, tags: People / Family -#define ICON_MD_HUMAN_MALE_FEMALE "\xf3\xb0\x8b\xa8" // U+F02E8 human-male-female, aliases: wc, man-woman, tags: People / Family -#define ICON_MD_HUMAN_MALE_FEMALE_CHILD "\xf3\xb1\xa0\xa3" // U+F1823 human-male-female-child, aliases: family, mom-dad-child, tags: People / Family -#define ICON_MD_HUMAN_MALE_GIRL "\xf3\xb0\xa9\x9d" // U+F0A5D human-male-girl, aliases: father, dad, man-child, tags: People / Family -#define ICON_MD_HUMAN_MALE_HEIGHT "\xf3\xb0\xbb\xbb" // U+F0EFB human-male-height, tags: Medical / Hospital, People / Family -#define ICON_MD_HUMAN_MALE_HEIGHT_VARIANT "\xf3\xb0\xbb\xbc" // U+F0EFC human-male-height-variant, tags: Medical / Hospital, People / Family -#define ICON_MD_HUMAN_MALE_MALE "\xf3\xb0\xa9\x9e" // U+F0A5E human-male-male, aliases: man-man, men, tags: People / Family -#define ICON_MD_HUMAN_NON_BINARY "\xf3\xb1\xa1\x88" // U+F1848 human-non-binary, aliases: human-genderless, human-transgender, tags: People / Family -#define ICON_MD_HUMAN_PREGNANT "\xf3\xb0\x97\x8f" // U+F05CF human-pregnant, aliases: pregnant-woman, tags: People / Family -#define ICON_MD_HUMAN_QUEUE "\xf3\xb1\x95\xb1" // U+F1571 human-queue, aliases: human-line, tags: People / Family -#define ICON_MD_HUMAN_SCOOTER "\xf3\xb1\x87\xa9" // U+F11E9 human-scooter, tags: Sport, Transportation + Other, People / Family -#define ICON_MD_HUMAN_WALKER "\xf3\xb1\xad\xb1" // U+F1B71 human-walker, tags: People / Family, Medical / Hospital -#define ICON_MD_HUMAN_WHEELCHAIR "\xf3\xb1\x8e\x8d" // U+F138D human-wheelchair, aliases: human-accessible, tags: People / Family, Medical / Hospital -#define ICON_MD_HUMAN_WHITE_CANE "\xf3\xb1\xa6\x81" // U+F1981 human-white-cane, aliases: human-blind, tags: People / Family, Medical / Hospital -#define ICON_MD_HUMBLE_BUNDLE "\xf3\xb0\x9d\x84" // U+F0744 humble-bundle, tags: Brand / Logo -#define ICON_MD_HVAC "\xf3\xb1\x8d\x92" // U+F1352 hvac, aliases: heating, ventilation, air-conditioning, tags: Home Automation -#define ICON_MD_HVAC_OFF "\xf3\xb1\x96\x9e" // U+F159E hvac-off, aliases: heating-off, ventilation-off, air-conditioning-off, tags: Home Automation -#define ICON_MD_HYDRAULIC_OIL_LEVEL "\xf3\xb1\x8c\xa4" // U+F1324 hydraulic-oil-level, tags: Automotive -#define ICON_MD_HYDRAULIC_OIL_TEMPERATURE "\xf3\xb1\x8c\xa5" // U+F1325 hydraulic-oil-temperature, tags: Automotive -#define ICON_MD_HYDRO_POWER "\xf3\xb1\x8b\xa5" // U+F12E5 hydro-power, aliases: hydraulic-turbine, water-turbine, watermill, tags: Device / Tech -#define ICON_MD_HYDROGEN_STATION "\xf3\xb1\xa2\x94" // U+F1894 hydrogen-station, tags: Automotive -#define ICON_MD_ICE_CREAM "\xf3\xb0\xa0\xaa" // U+F082A ice-cream, tags: Food / Drink -#define ICON_MD_ICE_CREAM_OFF "\xf3\xb0\xb9\x92" // U+F0E52 ice-cream-off, tags: Food / Drink -#define ICON_MD_ICE_POP "\xf3\xb0\xbb\xbd" // U+F0EFD ice-pop, aliases: popsicle, tags: Food / Drink -#define ICON_MD_ID_CARD "\xf3\xb0\xbf\x80" // U+F0FC0 id-card -#define ICON_MD_IDENTIFIER "\xf3\xb0\xbb\xbe" // U+F0EFE identifier, aliases: key, tags: Developer / Languages -#define ICON_MD_IDEOGRAM_CJK "\xf3\xb1\x8c\xb1" // U+F1331 ideogram-cjk, aliases: ideogram-chinese-japanese-korean, writing-system-cjk, tags: Alpha / Numeric -#define ICON_MD_IDEOGRAM_CJK_VARIANT "\xf3\xb1\x8c\xb2" // U+F1332 ideogram-cjk-variant, aliases: ideogram-chinese-japanese-korean-variant, writing-system-cjk-variant, tags: Alpha / Numeric -#define ICON_MD_IMAGE "\xf3\xb0\x8b\xa9" // U+F02E9 image, aliases: insert-photo -#define ICON_MD_IMAGE_ALBUM "\xf3\xb0\x8b\xaa" // U+F02EA image-album, aliases: photo-album, book-image -#define ICON_MD_IMAGE_AREA "\xf3\xb0\x8b\xab" // U+F02EB image-area -#define ICON_MD_IMAGE_AREA_CLOSE "\xf3\xb0\x8b\xac" // U+F02EC image-area-close -#define ICON_MD_IMAGE_AUTO_ADJUST "\xf3\xb0\xbf\x81" // U+F0FC1 image-auto-adjust, aliases: image-filter, tags: Photography -#define ICON_MD_IMAGE_BROKEN "\xf3\xb0\x8b\xad" // U+F02ED image-broken -#define ICON_MD_IMAGE_BROKEN_VARIANT "\xf3\xb0\x8b\xae" // U+F02EE image-broken-variant, aliases: broken-image -#define ICON_MD_IMAGE_CHECK "\xf3\xb1\xac\xa5" // U+F1B25 image-check -#define ICON_MD_IMAGE_CHECK_OUTLINE "\xf3\xb1\xac\xa6" // U+F1B26 image-check-outline -#define ICON_MD_IMAGE_EDIT "\xf3\xb1\x87\xa3" // U+F11E3 image-edit, tags: Edit / Modify -#define ICON_MD_IMAGE_EDIT_OUTLINE "\xf3\xb1\x87\xa4" // U+F11E4 image-edit-outline, tags: Edit / Modify -#define ICON_MD_IMAGE_FILTER_BLACK_WHITE "\xf3\xb0\x8b\xb0" // U+F02F0 image-filter-black-white, aliases: filter-b-and-w, tags: Photography -#define ICON_MD_IMAGE_FILTER_CENTER_FOCUS "\xf3\xb0\x8b\xb1" // U+F02F1 image-filter-center-focus, aliases: image-filter-centre-focus, tags: Photography -#define ICON_MD_IMAGE_FILTER_CENTER_FOCUS_STRONG "\xf3\xb0\xbb\xbf" // U+F0EFF image-filter-center-focus-strong, tags: Photography -#define ICON_MD_IMAGE_FILTER_CENTER_FOCUS_STRONG_OUTLINE "\xf3\xb0\xbc\x80" // U+F0F00 image-filter-center-focus-strong-outline, tags: Photography -#define ICON_MD_IMAGE_FILTER_CENTER_FOCUS_WEAK "\xf3\xb0\x8b\xb2" // U+F02F2 image-filter-center-focus-weak, aliases: image-filter-centre-focus-weak, tags: Photography -#define ICON_MD_IMAGE_FILTER_DRAMA "\xf3\xb0\x8b\xb3" // U+F02F3 image-filter-drama, tags: Photography, Nature -#define ICON_MD_IMAGE_FILTER_FRAMES "\xf3\xb0\x8b\xb4" // U+F02F4 image-filter-frames, tags: Photography -#define ICON_MD_IMAGE_FILTER_HDR "\xf3\xb0\x8b\xb5" // U+F02F5 image-filter-hdr, aliases: mountain, landscape, tags: Photography, Nature -#define ICON_MD_IMAGE_FILTER_NONE "\xf3\xb0\x8b\xb6" // U+F02F6 image-filter-none, tags: Photography -#define ICON_MD_IMAGE_FILTER_TILT_SHIFT "\xf3\xb0\x8b\xb7" // U+F02F7 image-filter-tilt-shift, tags: Photography -#define ICON_MD_IMAGE_FILTER_VINTAGE "\xf3\xb0\x8b\xb8" // U+F02F8 image-filter-vintage, tags: Photography, Nature -#define ICON_MD_IMAGE_FRAME "\xf3\xb0\xb9\x89" // U+F0E49 image-frame, aliases: hallway, foyer, entry-room, tags: Home Automation -#define ICON_MD_IMAGE_LOCK "\xf3\xb1\xaa\xb0" // U+F1AB0 image-lock, aliases: image-secure, tags: Lock, Photography -#define ICON_MD_IMAGE_LOCK_OUTLINE "\xf3\xb1\xaa\xb1" // U+F1AB1 image-lock-outline, aliases: image-secure-outline, tags: Photography, Lock -#define ICON_MD_IMAGE_MARKER "\xf3\xb1\x9d\xbb" // U+F177B image-marker, aliases: image-location, tags: Navigation -#define ICON_MD_IMAGE_MARKER_OUTLINE "\xf3\xb1\x9d\xbc" // U+F177C image-marker-outline, aliases: image-location-outline, tags: Navigation -#define ICON_MD_IMAGE_MINUS "\xf3\xb1\x90\x99" // U+F1419 image-minus -#define ICON_MD_IMAGE_MINUS_OUTLINE "\xf3\xb1\xad\x87" // U+F1B47 image-minus-outline -#define ICON_MD_IMAGE_MOVE "\xf3\xb0\xa7\xb8" // U+F09F8 image-move -#define ICON_MD_IMAGE_MULTIPLE "\xf3\xb0\x8b\xb9" // U+F02F9 image-multiple, aliases: collections, photo-library, images -#define ICON_MD_IMAGE_MULTIPLE_OUTLINE "\xf3\xb0\x8b\xaf" // U+F02EF image-multiple-outline, aliases: image-filter, images-outline, tags: Photography -#define ICON_MD_IMAGE_OFF "\xf3\xb0\xa0\xab" // U+F082B image-off -#define ICON_MD_IMAGE_OFF_OUTLINE "\xf3\xb1\x87\x91" // U+F11D1 image-off-outline -#define ICON_MD_IMAGE_OUTLINE "\xf3\xb0\xa5\xb6" // U+F0976 image-outline -#define ICON_MD_IMAGE_PLUS "\xf3\xb0\xa1\xbc" // U+F087C image-plus, aliases: image-add -#define ICON_MD_IMAGE_PLUS_OUTLINE "\xf3\xb1\xad\x86" // U+F1B46 image-plus-outline, aliases: image-add-outline -#define ICON_MD_IMAGE_REFRESH "\xf3\xb1\xa7\xbe" // U+F19FE image-refresh, tags: Photography -#define ICON_MD_IMAGE_REFRESH_OUTLINE "\xf3\xb1\xa7\xbf" // U+F19FF image-refresh-outline, tags: Photography -#define ICON_MD_IMAGE_REMOVE "\xf3\xb1\x90\x98" // U+F1418 image-remove -#define ICON_MD_IMAGE_REMOVE_OUTLINE "\xf3\xb1\xad\x88" // U+F1B48 image-remove-outline -#define ICON_MD_IMAGE_SEARCH "\xf3\xb0\xa5\xb7" // U+F0977 image-search -#define ICON_MD_IMAGE_SEARCH_OUTLINE "\xf3\xb0\xa5\xb8" // U+F0978 image-search-outline -#define ICON_MD_IMAGE_SIZE_SELECT_ACTUAL "\xf3\xb0\xb2\x8d" // U+F0C8D image-size-select-actual -#define ICON_MD_IMAGE_SIZE_SELECT_LARGE "\xf3\xb0\xb2\x8e" // U+F0C8E image-size-select-large -#define ICON_MD_IMAGE_SIZE_SELECT_SMALL "\xf3\xb0\xb2\x8f" // U+F0C8F image-size-select-small -#define ICON_MD_IMAGE_SYNC "\xf3\xb1\xa8\x80" // U+F1A00 image-sync, tags: Photography -#define ICON_MD_IMAGE_SYNC_OUTLINE "\xf3\xb1\xa8\x81" // U+F1A01 image-sync-outline, tags: Photography -#define ICON_MD_IMAGE_TEXT "\xf3\xb1\x98\x8d" // U+F160D image-text, aliases: image-description -#define ICON_MD_IMPORT "\xf3\xb0\x8b\xba" // U+F02FA import, aliases: input -#define ICON_MD_INBOX "\xf3\xb0\x9a\x87" // U+F0687 inbox -#define ICON_MD_INBOX_ARROW_DOWN "\xf3\xb0\x8b\xbb" // U+F02FB inbox-arrow-down, aliases: move-to-inbox -#define ICON_MD_INBOX_ARROW_DOWN_OUTLINE "\xf3\xb1\x89\xb0" // U+F1270 inbox-arrow-down-outline -#define ICON_MD_INBOX_ARROW_UP "\xf3\xb0\x8f\x91" // U+F03D1 inbox-arrow-up, aliases: move-from-inbox -#define ICON_MD_INBOX_ARROW_UP_OUTLINE "\xf3\xb1\x89\xb1" // U+F1271 inbox-arrow-up-outline -#define ICON_MD_INBOX_FULL "\xf3\xb1\x89\xb2" // U+F1272 inbox-full -#define ICON_MD_INBOX_FULL_OUTLINE "\xf3\xb1\x89\xb3" // U+F1273 inbox-full-outline -#define ICON_MD_INBOX_MULTIPLE "\xf3\xb0\xa2\xb0" // U+F08B0 inbox-multiple, aliases: inboxes -#define ICON_MD_INBOX_MULTIPLE_OUTLINE "\xf3\xb0\xae\xa8" // U+F0BA8 inbox-multiple-outline, aliases: inboxes-outline -#define ICON_MD_INBOX_OUTLINE "\xf3\xb1\x89\xb4" // U+F1274 inbox-outline -#define ICON_MD_INBOX_REMOVE "\xf3\xb1\x96\x9f" // U+F159F inbox-remove -#define ICON_MD_INBOX_REMOVE_OUTLINE "\xf3\xb1\x96\xa0" // U+F15A0 inbox-remove-outline -#define ICON_MD_INCOGNITO "\xf3\xb0\x97\xb9" // U+F05F9 incognito, aliases: anonymous, spy -#define ICON_MD_INCOGNITO_CIRCLE "\xf3\xb1\x90\xa1" // U+F1421 incognito-circle, aliases: anonymous-circle, spy-circle -#define ICON_MD_INCOGNITO_CIRCLE_OFF "\xf3\xb1\x90\xa2" // U+F1422 incognito-circle-off, aliases: anonymous-circle-off, spy-circle-off -#define ICON_MD_INCOGNITO_OFF "\xf3\xb0\x81\xb5" // U+F0075 incognito-off, aliases: spy-off, anonymous-off -#define ICON_MD_INDUCTION "\xf3\xb1\xa1\x8c" // U+F184C induction, aliases: ignition, tags: Home Automation, Automotive -#define ICON_MD_INFINITY "\xf3\xb0\x9b\xa4" // U+F06E4 infinity, tags: Math -#define ICON_MD_INFORMATION "\xf3\xb0\x8b\xbc" // U+F02FC information, aliases: about, information-circle, info-circle, about-circle -#define ICON_MD_INFORMATION_OFF "\xf3\xb1\x9e\x8c" // U+F178C information-off -#define ICON_MD_INFORMATION_OFF_OUTLINE "\xf3\xb1\x9e\x8d" // U+F178D information-off-outline -#define ICON_MD_INFORMATION_OUTLINE "\xf3\xb0\x8b\xbd" // U+F02FD information-outline, aliases: info-outline, about-outline, information-circle-outline, info-circle-outline, about-circle-outline -#define ICON_MD_INFORMATION_VARIANT "\xf3\xb0\x99\x8e" // U+F064E information-variant, aliases: info-variant, about-variant -#define ICON_MD_INSTAGRAM "\xf3\xb0\x8b\xbe" // U+F02FE instagram, tags: Brand / Logo -#define ICON_MD_INSTRUMENT_TRIANGLE "\xf3\xb1\x81\x8e" // U+F104E instrument-triangle, aliases: dinner-bell, tags: Music -#define ICON_MD_INTEGRATED_CIRCUIT_CHIP "\xf3\xb1\xa4\x93" // U+F1913 integrated-circuit-chip, aliases: icc, chip, tags: Banking -#define ICON_MD_INVERT_COLORS "\xf3\xb0\x8c\x81" // U+F0301 invert-colors, aliases: invert-colours, tags: Color -#define ICON_MD_INVERT_COLORS_OFF "\xf3\xb0\xb9\x8a" // U+F0E4A invert-colors-off, aliases: invert-colours-off, tags: Color -#define ICON_MD_IOBROKER "\xf3\xb1\x8b\xa8" // U+F12E8 iobroker, tags: Brand / Logo -#define ICON_MD_IP "\xf3\xb0\xa9\x9f" // U+F0A5F ip, aliases: internet-protocol -#define ICON_MD_IP_NETWORK "\xf3\xb0\xa9\xa0" // U+F0A60 ip-network -#define ICON_MD_IP_NETWORK_OUTLINE "\xf3\xb0\xb2\x90" // U+F0C90 ip-network-outline -#define ICON_MD_IP_OUTLINE "\xf3\xb1\xa6\x82" // U+F1982 ip-outline, aliases: internet-protocol-outline -#define ICON_MD_IPOD "\xf3\xb0\xb2\x91" // U+F0C91 ipod, aliases: apple-ipod -#define ICON_MD_IRON "\xf3\xb1\xa0\xa4" // U+F1824 iron, aliases: flatiron, smoothing-iron, tags: Home Automation, Clothing -#define ICON_MD_IRON_BOARD "\xf3\xb1\xa0\xb8" // U+F1838 iron-board, tags: Home Automation, Clothing -#define ICON_MD_IRON_OUTLINE "\xf3\xb1\xa0\xa5" // U+F1825 iron-outline, aliases: flatiron-outline, smoothing-iron-outline, tags: Home Automation, Clothing -#define ICON_MD_ISLAND "\xf3\xb1\x81\x8f" // U+F104F island, tags: Places -#define ICON_MD_IV_BAG "\xf3\xb1\x82\xb9" // U+F10B9 iv-bag, tags: Medical / Hospital -#define ICON_MD_JABBER "\xf3\xb0\xb7\x95" // U+F0DD5 jabber, tags: Brand / Logo -#define ICON_MD_JEEPNEY "\xf3\xb0\x8c\x82" // U+F0302 jeepney, tags: Transportation + Road -#define ICON_MD_JELLYFISH "\xf3\xb0\xbc\x81" // U+F0F01 jellyfish, tags: Animal -#define ICON_MD_JELLYFISH_OUTLINE "\xf3\xb0\xbc\x82" // U+F0F02 jellyfish-outline, tags: Animal -#define ICON_MD_JIRA "\xf3\xb0\x8c\x83" // U+F0303 jira, tags: Brand / Logo -#define ICON_MD_JQUERY "\xf3\xb0\xa1\xbd" // U+F087D jquery, tags: Brand / Logo -#define ICON_MD_JSFIDDLE "\xf3\xb0\x8c\x84" // U+F0304 jsfiddle, tags: Brand / Logo -#define ICON_MD_JUMP_ROPE "\xf3\xb1\x8b\xbf" // U+F12FF jump-rope, tags: Sport -#define ICON_MD_KABADDI "\xf3\xb0\xb6\x87" // U+F0D87 kabaddi, aliases: wrestling, human-kabaddi, tags: Sport, People / Family -#define ICON_MD_KANGAROO "\xf3\xb1\x95\x98" // U+F1558 kangaroo, aliases: marsupial, tags: Animal -#define ICON_MD_KARATE "\xf3\xb0\xa0\xac" // U+F082C karate, aliases: martial-arts, kickboxing, human-karate, tags: Sport, People / Family -#define ICON_MD_KAYAKING "\xf3\xb0\xa2\xaf" // U+F08AF kayaking, aliases: human-kayaking, tags: Sport, People / Family -#define ICON_MD_KEG "\xf3\xb0\x8c\x85" // U+F0305 keg, tags: Food / Drink -#define ICON_MD_KETTLE "\xf3\xb0\x97\xba" // U+F05FA kettle, aliases: tea-kettle, kettle-full, tea-kettle-full, tags: Home Automation, Food / Drink -#define ICON_MD_KETTLE_ALERT "\xf3\xb1\x8c\x97" // U+F1317 kettle-alert, aliases: tea-kettle-alert, kettle-full-alert, tea-kettle-full-alert, tags: Home Automation, Alert / Error, Food / Drink -#define ICON_MD_KETTLE_ALERT_OUTLINE "\xf3\xb1\x8c\x98" // U+F1318 kettle-alert-outline, aliases: tea-kettle-alert-outline, kettle-empty-alert, tea-kettle-empty-alert, tags: Home Automation, Alert / Error, Food / Drink -#define ICON_MD_KETTLE_OFF "\xf3\xb1\x8c\x9b" // U+F131B kettle-off, aliases: tea-kettle-off, tea-kettle-full-off, kettle-full-off, tags: Home Automation, Food / Drink -#define ICON_MD_KETTLE_OFF_OUTLINE "\xf3\xb1\x8c\x9c" // U+F131C kettle-off-outline, aliases: tea-kettle-off-outline, kettle-empty-off, tea-kettle-empty-off, tags: Home Automation, Food / Drink -#define ICON_MD_KETTLE_OUTLINE "\xf3\xb0\xbd\x96" // U+F0F56 kettle-outline, aliases: tea-kettle-outline, kettle-empty, tea-kettle-empty, tags: Food / Drink, Home Automation -#define ICON_MD_KETTLE_POUR_OVER "\xf3\xb1\x9c\xbc" // U+F173C kettle-pour-over -#define ICON_MD_KETTLE_STEAM "\xf3\xb1\x8c\x99" // U+F1319 kettle-steam, aliases: tea-kettle-steam, kettle-full-steam, tea-kettle-full-steam, tags: Home Automation, Food / Drink -#define ICON_MD_KETTLE_STEAM_OUTLINE "\xf3\xb1\x8c\x9a" // U+F131A kettle-steam-outline, aliases: tea-kettle-steam-outline, kettle-empty-steam, tea-kettle-empty-steam, tags: Home Automation, Food / Drink -#define ICON_MD_KETTLEBELL "\xf3\xb1\x8c\x80" // U+F1300 kettlebell, tags: Sport -#define ICON_MD_KEY "\xf3\xb0\x8c\x86" // U+F0306 key, aliases: vpn-key, tags: Automotive -#define ICON_MD_KEY_ALERT "\xf3\xb1\xa6\x83" // U+F1983 key-alert, tags: Alert / Error -#define ICON_MD_KEY_ALERT_OUTLINE "\xf3\xb1\xa6\x84" // U+F1984 key-alert-outline, tags: Alert / Error -#define ICON_MD_KEY_ARROW_RIGHT "\xf3\xb1\x8c\x92" // U+F1312 key-arrow-right -#define ICON_MD_KEY_CHAIN "\xf3\xb1\x95\xb4" // U+F1574 key-chain, tags: Automotive, Home Automation -#define ICON_MD_KEY_CHAIN_VARIANT "\xf3\xb1\x95\xb5" // U+F1575 key-chain-variant, tags: Automotive, Home Automation -#define ICON_MD_KEY_CHANGE "\xf3\xb0\x8c\x87" // U+F0307 key-change -#define ICON_MD_KEY_LINK "\xf3\xb1\x86\x9f" // U+F119F key-link, aliases: foreign-key, sql-foreign-key -#define ICON_MD_KEY_MINUS "\xf3\xb0\x8c\x88" // U+F0308 key-minus -#define ICON_MD_KEY_OUTLINE "\xf3\xb0\xb7\x96" // U+F0DD6 key-outline -#define ICON_MD_KEY_PLUS "\xf3\xb0\x8c\x89" // U+F0309 key-plus, aliases: key-add -#define ICON_MD_KEY_REMOVE "\xf3\xb0\x8c\x8a" // U+F030A key-remove -#define ICON_MD_KEY_STAR "\xf3\xb1\x86\x9e" // U+F119E key-star, aliases: primary-key, sql-primary-key, key-favorite -#define ICON_MD_KEY_VARIANT "\xf3\xb0\x8c\x8b" // U+F030B key-variant, tags: Automotive -#define ICON_MD_KEY_WIRELESS "\xf3\xb0\xbf\x82" // U+F0FC2 key-wireless -#define ICON_MD_KEYBOARD "\xf3\xb0\x8c\x8c" // U+F030C keyboard -#define ICON_MD_KEYBOARD_BACKSPACE "\xf3\xb0\x8c\x8d" // U+F030D keyboard-backspace, aliases: keyboard-clear, keyboard-erase -#define ICON_MD_KEYBOARD_CAPS "\xf3\xb0\x8c\x8e" // U+F030E keyboard-caps, aliases: keyboard-capslock -#define ICON_MD_KEYBOARD_CLOSE "\xf3\xb0\x8c\x8f" // U+F030F keyboard-close, aliases: keyboard-hide -#define ICON_MD_KEYBOARD_ESC "\xf3\xb1\x8a\xb7" // U+F12B7 keyboard-esc -#define ICON_MD_KEYBOARD_F1 "\xf3\xb1\x8a\xab" // U+F12AB keyboard-f1 -#define ICON_MD_KEYBOARD_F10 "\xf3\xb1\x8a\xb4" // U+F12B4 keyboard-f10 -#define ICON_MD_KEYBOARD_F11 "\xf3\xb1\x8a\xb5" // U+F12B5 keyboard-f11 -#define ICON_MD_KEYBOARD_F12 "\xf3\xb1\x8a\xb6" // U+F12B6 keyboard-f12 -#define ICON_MD_KEYBOARD_F2 "\xf3\xb1\x8a\xac" // U+F12AC keyboard-f2 -#define ICON_MD_KEYBOARD_F3 "\xf3\xb1\x8a\xad" // U+F12AD keyboard-f3 -#define ICON_MD_KEYBOARD_F4 "\xf3\xb1\x8a\xae" // U+F12AE keyboard-f4 -#define ICON_MD_KEYBOARD_F5 "\xf3\xb1\x8a\xaf" // U+F12AF keyboard-f5 -#define ICON_MD_KEYBOARD_F6 "\xf3\xb1\x8a\xb0" // U+F12B0 keyboard-f6 -#define ICON_MD_KEYBOARD_F7 "\xf3\xb1\x8a\xb1" // U+F12B1 keyboard-f7 -#define ICON_MD_KEYBOARD_F8 "\xf3\xb1\x8a\xb2" // U+F12B2 keyboard-f8 -#define ICON_MD_KEYBOARD_F9 "\xf3\xb1\x8a\xb3" // U+F12B3 keyboard-f9 -#define ICON_MD_KEYBOARD_OFF "\xf3\xb0\x8c\x90" // U+F0310 keyboard-off -#define ICON_MD_KEYBOARD_OFF_OUTLINE "\xf3\xb0\xb9\x8b" // U+F0E4B keyboard-off-outline -#define ICON_MD_KEYBOARD_OUTLINE "\xf3\xb0\xa5\xbb" // U+F097B keyboard-outline -#define ICON_MD_KEYBOARD_RETURN "\xf3\xb0\x8c\x91" // U+F0311 keyboard-return -#define ICON_MD_KEYBOARD_SETTINGS "\xf3\xb0\xa7\xb9" // U+F09F9 keyboard-settings, tags: Settings -#define ICON_MD_KEYBOARD_SETTINGS_OUTLINE "\xf3\xb0\xa7\xba" // U+F09FA keyboard-settings-outline, tags: Settings -#define ICON_MD_KEYBOARD_SPACE "\xf3\xb1\x81\x90" // U+F1050 keyboard-space -#define ICON_MD_KEYBOARD_TAB "\xf3\xb0\x8c\x92" // U+F0312 keyboard-tab -#define ICON_MD_KEYBOARD_TAB_REVERSE "\xf3\xb0\x8c\xa5" // U+F0325 keyboard-tab-reverse -#define ICON_MD_KEYBOARD_VARIANT "\xf3\xb0\x8c\x93" // U+F0313 keyboard-variant -#define ICON_MD_KHANDA "\xf3\xb1\x83\xbd" // U+F10FD khanda, aliases: sikh, tags: Religion -#define ICON_MD_KICKSTARTER "\xf3\xb0\x9d\x85" // U+F0745 kickstarter, tags: Brand / Logo -#define ICON_MD_KITE "\xf3\xb1\xa6\x85" // U+F1985 kite, tags: Sport -#define ICON_MD_KITE_OUTLINE "\xf3\xb1\xa6\x86" // U+F1986 kite-outline, tags: Sport -#define ICON_MD_KITESURFING "\xf3\xb1\x9d\x84" // U+F1744 kitesurfing -#define ICON_MD_KLINGON "\xf3\xb1\x8d\x9b" // U+F135B klingon -#define ICON_MD_KNIFE "\xf3\xb0\xa7\xbb" // U+F09FB knife, aliases: silverware-knife, cutlery-knife -#define ICON_MD_KNIFE_MILITARY "\xf3\xb0\xa7\xbc" // U+F09FC knife-military, aliases: dagger, tags: Gaming / RPG -#define ICON_MD_KNOB "\xf3\xb1\xae\x96" // U+F1B96 knob, aliases: volume-knob, volume-control, dial, tuner, switch, adjuster, tags: Audio -#define ICON_MD_KOALA "\xf3\xb1\x9c\xbf" // U+F173F koala, aliases: marsupial, emoji-koala, emoticon-koala, tags: Animal -#define ICON_MD_KODI "\xf3\xb0\x8c\x94" // U+F0314 kodi, tags: Brand / Logo -#define ICON_MD_KUBERNETES "\xf3\xb1\x83\xbe" // U+F10FE kubernetes, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LABEL "\xf3\xb0\x8c\x95" // U+F0315 label -#define ICON_MD_LABEL_MULTIPLE "\xf3\xb1\x8d\xb5" // U+F1375 label-multiple -#define ICON_MD_LABEL_MULTIPLE_OUTLINE "\xf3\xb1\x8d\xb6" // U+F1376 label-multiple-outline -#define ICON_MD_LABEL_OFF "\xf3\xb0\xab\x8b" // U+F0ACB label-off -#define ICON_MD_LABEL_OFF_OUTLINE "\xf3\xb0\xab\x8c" // U+F0ACC label-off-outline -#define ICON_MD_LABEL_OUTLINE "\xf3\xb0\x8c\x96" // U+F0316 label-outline -#define ICON_MD_LABEL_PERCENT "\xf3\xb1\x8b\xaa" // U+F12EA label-percent -#define ICON_MD_LABEL_PERCENT_OUTLINE "\xf3\xb1\x8b\xab" // U+F12EB label-percent-outline -#define ICON_MD_LABEL_VARIANT "\xf3\xb0\xab\x8d" // U+F0ACD label-variant -#define ICON_MD_LABEL_VARIANT_OUTLINE "\xf3\xb0\xab\x8e" // U+F0ACE label-variant-outline -#define ICON_MD_LADDER "\xf3\xb1\x96\xa2" // U+F15A2 ladder, tags: Hardware / Tools -#define ICON_MD_LADYBUG "\xf3\xb0\xa0\xad" // U+F082D ladybug, aliases: bugfood, ladybird, tags: Nature -#define ICON_MD_LAMBDA "\xf3\xb0\x98\xa7" // U+F0627 lambda, tags: Gaming / RPG, Math -#define ICON_MD_LAMP "\xf3\xb0\x9a\xb5" // U+F06B5 lamp, tags: Home Automation -#define ICON_MD_LAMP_OUTLINE "\xf3\xb1\x9f\x90" // U+F17D0 lamp-outline, tags: Home Automation -#define ICON_MD_LAMPS "\xf3\xb1\x95\xb6" // U+F1576 lamps, aliases: lights, tags: Home Automation -#define ICON_MD_LAMPS_OUTLINE "\xf3\xb1\x9f\x91" // U+F17D1 lamps-outline, aliases: lights-outline, tags: Home Automation -#define ICON_MD_LAN "\xf3\xb0\x8c\x97" // U+F0317 lan, aliases: local-area-network -#define ICON_MD_LAN_CHECK "\xf3\xb1\x8a\xaa" // U+F12AA lan-check -#define ICON_MD_LAN_CONNECT "\xf3\xb0\x8c\x98" // U+F0318 lan-connect, aliases: local-area-network-connect -#define ICON_MD_LAN_DISCONNECT "\xf3\xb0\x8c\x99" // U+F0319 lan-disconnect, aliases: local-area-network-disconnect -#define ICON_MD_LAN_PENDING "\xf3\xb0\x8c\x9a" // U+F031A lan-pending, aliases: local-area-network-pending -#define ICON_MD_LAND_FIELDS "\xf3\xb1\xaa\xb2" // U+F1AB2 land-fields, tags: Agriculture -#define ICON_MD_LAND_PLOTS "\xf3\xb1\xaa\xb3" // U+F1AB3 land-plots, tags: Agriculture -#define ICON_MD_LAND_PLOTS_CIRCLE "\xf3\xb1\xaa\xb4" // U+F1AB4 land-plots-circle, tags: Agriculture -#define ICON_MD_LAND_PLOTS_CIRCLE_VARIANT "\xf3\xb1\xaa\xb5" // U+F1AB5 land-plots-circle-variant, tags: Agriculture -#define ICON_MD_LAND_ROWS_HORIZONTAL "\xf3\xb1\xaa\xb6" // U+F1AB6 land-rows-horizontal, tags: Agriculture -#define ICON_MD_LAND_ROWS_VERTICAL "\xf3\xb1\xaa\xb7" // U+F1AB7 land-rows-vertical, tags: Agriculture -#define ICON_MD_LANDSLIDE "\xf3\xb1\xa9\x88" // U+F1A48 landslide, aliases: avalanche, mudslide, tags: Nature -#define ICON_MD_LANDSLIDE_OUTLINE "\xf3\xb1\xa9\x89" // U+F1A49 landslide-outline, aliases: avalanche-outline, mudslide-outline, tags: Nature -#define ICON_MD_LANGUAGE_C "\xf3\xb0\x99\xb1" // U+F0671 language-c, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_CPP "\xf3\xb0\x99\xb2" // U+F0672 language-cpp, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_CSHARP "\xf3\xb0\x8c\x9b" // U+F031B language-csharp, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_CSS3 "\xf3\xb0\x8c\x9c" // U+F031C language-css3, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_FORTRAN "\xf3\xb1\x88\x9a" // U+F121A language-fortran, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_GO "\xf3\xb0\x9f\x93" // U+F07D3 language-go, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_HASKELL "\xf3\xb0\xb2\x92" // U+F0C92 language-haskell, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_HTML5 "\xf3\xb0\x8c\x9d" // U+F031D language-html5, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_JAVA "\xf3\xb0\xac\xb7" // U+F0B37 language-java, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_JAVASCRIPT "\xf3\xb0\x8c\x9e" // U+F031E language-javascript, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_KOTLIN "\xf3\xb1\x88\x99" // U+F1219 language-kotlin, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_LUA "\xf3\xb0\xa2\xb1" // U+F08B1 language-lua, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_MARKDOWN "\xf3\xb0\x8d\x94" // U+F0354 language-markdown, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_MARKDOWN_OUTLINE "\xf3\xb0\xbd\x9b" // U+F0F5B language-markdown-outline, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_PHP "\xf3\xb0\x8c\x9f" // U+F031F language-php, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_PYTHON "\xf3\xb0\x8c\xa0" // U+F0320 language-python, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_R "\xf3\xb0\x9f\x94" // U+F07D4 language-r, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_RUBY "\xf3\xb0\xb4\xad" // U+F0D2D language-ruby, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_RUBY_ON_RAILS "\xf3\xb0\xab\x8f" // U+F0ACF language-ruby-on-rails, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_RUST "\xf3\xb1\x98\x97" // U+F1617 language-rust, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_SWIFT "\xf3\xb0\x9b\xa5" // U+F06E5 language-swift, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_TYPESCRIPT "\xf3\xb0\x9b\xa6" // U+F06E6 language-typescript, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LANGUAGE_XAML "\xf3\xb0\x99\xb3" // U+F0673 language-xaml, aliases: xaml, microsoft-xaml, tags: Developer / Languages, Brand / Logo -#define ICON_MD_LAPTOP "\xf3\xb0\x8c\xa2" // U+F0322 laptop, aliases: computer, tags: Device / Tech, Home Automation -#define ICON_MD_LAPTOP_ACCOUNT "\xf3\xb1\xa9\x8a" // U+F1A4A laptop-account, aliases: teleconference, virtual-meeting, video-chat, tags: Account / User, Device / Tech -#define ICON_MD_LAPTOP_OFF "\xf3\xb0\x9b\xa7" // U+F06E7 laptop-off, tags: Device / Tech -#define ICON_MD_LARAVEL "\xf3\xb0\xab\x90" // U+F0AD0 laravel, tags: Brand / Logo -#define ICON_MD_LASER_POINTER "\xf3\xb1\x92\x84" // U+F1484 laser-pointer -#define ICON_MD_LASSO "\xf3\xb0\xbc\x83" // U+F0F03 lasso -#define ICON_MD_LASTPASS "\xf3\xb0\x91\x86" // U+F0446 lastpass, tags: Brand / Logo -#define ICON_MD_LATITUDE "\xf3\xb0\xbd\x97" // U+F0F57 latitude, tags: Navigation, Geographic Information System -#define ICON_MD_LAUNCH "\xf3\xb0\x8c\xa7" // U+F0327 launch -#define ICON_MD_LAVA_LAMP "\xf3\xb0\x9f\x95" // U+F07D5 lava-lamp, tags: Home Automation -#define ICON_MD_LAYERS "\xf3\xb0\x8c\xa8" // U+F0328 layers, tags: Geographic Information System -#define ICON_MD_LAYERS_EDIT "\xf3\xb1\xa2\x92" // U+F1892 layers-edit, tags: Geographic Information System, Edit / Modify -#define ICON_MD_LAYERS_MINUS "\xf3\xb0\xb9\x8c" // U+F0E4C layers-minus, tags: Geographic Information System -#define ICON_MD_LAYERS_OFF "\xf3\xb0\x8c\xa9" // U+F0329 layers-off, aliases: layers-clear, tags: Geographic Information System -#define ICON_MD_LAYERS_OFF_OUTLINE "\xf3\xb0\xa7\xbd" // U+F09FD layers-off-outline, tags: Geographic Information System -#define ICON_MD_LAYERS_OUTLINE "\xf3\xb0\xa7\xbe" // U+F09FE layers-outline, tags: Geographic Information System -#define ICON_MD_LAYERS_PLUS "\xf3\xb0\xb9\x8d" // U+F0E4D layers-plus, tags: Geographic Information System -#define ICON_MD_LAYERS_REMOVE "\xf3\xb0\xb9\x8e" // U+F0E4E layers-remove, tags: Geographic Information System -#define ICON_MD_LAYERS_SEARCH "\xf3\xb1\x88\x86" // U+F1206 layers-search, tags: Geographic Information System -#define ICON_MD_LAYERS_SEARCH_OUTLINE "\xf3\xb1\x88\x87" // U+F1207 layers-search-outline, tags: Geographic Information System -#define ICON_MD_LAYERS_TRIPLE "\xf3\xb0\xbd\x98" // U+F0F58 layers-triple -#define ICON_MD_LAYERS_TRIPLE_OUTLINE "\xf3\xb0\xbd\x99" // U+F0F59 layers-triple-outline -#define ICON_MD_LEAD_PENCIL "\xf3\xb0\x99\x8f" // U+F064F lead-pencil, tags: Drawing / Art -#define ICON_MD_LEAF "\xf3\xb0\x8c\xaa" // U+F032A leaf, tags: Nature, Food / Drink, Agriculture -#define ICON_MD_LEAF_CIRCLE "\xf3\xb1\xa4\x85" // U+F1905 leaf-circle, aliases: green-circle, tags: Nature, Agriculture -#define ICON_MD_LEAF_CIRCLE_OUTLINE "\xf3\xb1\xa4\x86" // U+F1906 leaf-circle-outline, aliases: green-circle-outline, tags: Agriculture, Nature -#define ICON_MD_LEAF_MAPLE "\xf3\xb0\xb2\x93" // U+F0C93 leaf-maple, tags: Nature -#define ICON_MD_LEAF_MAPLE_OFF "\xf3\xb1\x8b\x9a" // U+F12DA leaf-maple-off, tags: Nature -#define ICON_MD_LEAF_OFF "\xf3\xb1\x8b\x99" // U+F12D9 leaf-off, tags: Nature, Food / Drink, Agriculture -#define ICON_MD_LEAK "\xf3\xb0\xb7\x97" // U+F0DD7 leak, aliases: proximity-sensor -#define ICON_MD_LEAK_OFF "\xf3\xb0\xb7\x98" // U+F0DD8 leak-off, aliases: proximity-sensor-off -#define ICON_MD_LECTERN "\xf3\xb1\xab\xb0" // U+F1AF0 lectern, aliases: podium, dais, rostrum, lecturn -#define ICON_MD_LED_OFF "\xf3\xb0\x8c\xab" // U+F032B led-off, tags: Home Automation -#define ICON_MD_LED_ON "\xf3\xb0\x8c\xac" // U+F032C led-on, tags: Home Automation -#define ICON_MD_LED_OUTLINE "\xf3\xb0\x8c\xad" // U+F032D led-outline, tags: Home Automation -#define ICON_MD_LED_STRIP "\xf3\xb0\x9f\x96" // U+F07D6 led-strip, aliases: light-strip, tags: Home Automation -#define ICON_MD_LED_STRIP_VARIANT "\xf3\xb1\x81\x91" // U+F1051 led-strip-variant, aliases: light-strip-variant, tags: Home Automation -#define ICON_MD_LED_STRIP_VARIANT_OFF "\xf3\xb1\xa9\x8b" // U+F1A4B led-strip-variant-off, aliases: light-strip-variant-off, tags: Home Automation -#define ICON_MD_LED_VARIANT_OFF "\xf3\xb0\x8c\xae" // U+F032E led-variant-off, tags: Home Automation -#define ICON_MD_LED_VARIANT_ON "\xf3\xb0\x8c\xaf" // U+F032F led-variant-on, tags: Home Automation -#define ICON_MD_LED_VARIANT_OUTLINE "\xf3\xb0\x8c\xb0" // U+F0330 led-variant-outline, tags: Home Automation -#define ICON_MD_LEEK "\xf3\xb1\x85\xbd" // U+F117D leek, tags: Food / Drink -#define ICON_MD_LESS_THAN "\xf3\xb0\xa5\xbc" // U+F097C less-than, tags: Math -#define ICON_MD_LESS_THAN_OR_EQUAL "\xf3\xb0\xa5\xbd" // U+F097D less-than-or-equal, tags: Math -#define ICON_MD_LIBRARY "\xf3\xb0\x8c\xb1" // U+F0331 library, aliases: local-library, tags: Places -#define ICON_MD_LIBRARY_OUTLINE "\xf3\xb1\xa8\xa2" // U+F1A22 library-outline, aliases: local-library-outline, tags: Places -#define ICON_MD_LIBRARY_SHELVES "\xf3\xb0\xae\xa9" // U+F0BA9 library-shelves -#define ICON_MD_LICENSE "\xf3\xb0\xbf\x83" // U+F0FC3 license, aliases: ribbon, prize, award, seal -#define ICON_MD_LIFEBUOY "\xf3\xb0\xa1\xbe" // U+F087E lifebuoy, aliases: life-preserver, support, help, overboard, tags: Transportation + Water -#define ICON_MD_LIGHT_FLOOD_DOWN "\xf3\xb1\xa6\x87" // U+F1987 light-flood-down, aliases: floodlight-down, tags: Home Automation -#define ICON_MD_LIGHT_FLOOD_UP "\xf3\xb1\xa6\x88" // U+F1988 light-flood-up, aliases: floodlight-up, tags: Home Automation -#define ICON_MD_LIGHT_RECESSED "\xf3\xb1\x9e\x9b" // U+F179B light-recessed, aliases: can-light, pot-light, high-hat-light, hi-hat-light, downlight, tags: Home Automation -#define ICON_MD_LIGHT_SWITCH "\xf3\xb0\xa5\xbe" // U+F097E light-switch, aliases: toggle-switch, rocker-switch, tags: Home Automation -#define ICON_MD_LIGHT_SWITCH_OFF "\xf3\xb1\xa8\xa4" // U+F1A24 light-switch-off, aliases: toggle-switch-off, rocker-switch-off, tags: Home Automation -#define ICON_MD_LIGHTBULB "\xf3\xb0\x8c\xb5" // U+F0335 lightbulb, aliases: idea, bulb, tags: Home Automation -#define ICON_MD_LIGHTBULB_ALERT "\xf3\xb1\xa7\xa1" // U+F19E1 lightbulb-alert, aliases: lightbulb-error, tags: Home Automation, Alert / Error -#define ICON_MD_LIGHTBULB_ALERT_OUTLINE "\xf3\xb1\xa7\xa2" // U+F19E2 lightbulb-alert-outline, aliases: lightbulb-error-outline, tags: Home Automation, Alert / Error -#define ICON_MD_LIGHTBULB_AUTO "\xf3\xb1\xa0\x80" // U+F1800 lightbulb-auto, aliases: lightbulb-automatic, lightbulb-motion, tags: Home Automation -#define ICON_MD_LIGHTBULB_AUTO_OUTLINE "\xf3\xb1\xa0\x81" // U+F1801 lightbulb-auto-outline, aliases: lightbulb-automatic-outline, lightbulb-motion-outline, tags: Home Automation -#define ICON_MD_LIGHTBULB_CFL "\xf3\xb1\x88\x88" // U+F1208 lightbulb-cfl, aliases: bulb-cfl, tags: Home Automation -#define ICON_MD_LIGHTBULB_CFL_OFF "\xf3\xb1\x88\x89" // U+F1209 lightbulb-cfl-off, aliases: bulb-cfl-off, tags: Home Automation -#define ICON_MD_LIGHTBULB_CFL_SPIRAL "\xf3\xb1\x89\xb5" // U+F1275 lightbulb-cfl-spiral, aliases: bulb-cfl-spiral, tags: Home Automation -#define ICON_MD_LIGHTBULB_CFL_SPIRAL_OFF "\xf3\xb1\x8b\x83" // U+F12C3 lightbulb-cfl-spiral-off, aliases: bulb-cfl-spiral-off, tags: Home Automation -#define ICON_MD_LIGHTBULB_FLUORESCENT_TUBE "\xf3\xb1\xa0\x84" // U+F1804 lightbulb-fluorescent-tube, tags: Home Automation -#define ICON_MD_LIGHTBULB_FLUORESCENT_TUBE_OUTLINE "\xf3\xb1\xa0\x85" // U+F1805 lightbulb-fluorescent-tube-outline, tags: Home Automation -#define ICON_MD_LIGHTBULB_GROUP "\xf3\xb1\x89\x93" // U+F1253 lightbulb-group, aliases: bulb-group, tags: Home Automation -#define ICON_MD_LIGHTBULB_GROUP_OFF "\xf3\xb1\x8b\x8d" // U+F12CD lightbulb-group-off, aliases: bulb-group-off, tags: Home Automation -#define ICON_MD_LIGHTBULB_GROUP_OFF_OUTLINE "\xf3\xb1\x8b\x8e" // U+F12CE lightbulb-group-off-outline, aliases: bulb-group-off-outline, tags: Home Automation -#define ICON_MD_LIGHTBULB_GROUP_OUTLINE "\xf3\xb1\x89\x94" // U+F1254 lightbulb-group-outline, aliases: bulb-group-outline, tags: Home Automation -#define ICON_MD_LIGHTBULB_MULTIPLE "\xf3\xb1\x89\x95" // U+F1255 lightbulb-multiple, aliases: lightbulbs, bulb-multiple, bulbs, tags: Home Automation -#define ICON_MD_LIGHTBULB_MULTIPLE_OFF "\xf3\xb1\x8b\x8f" // U+F12CF lightbulb-multiple-off, aliases: lightbulbs-off, bulb-multiple-off, bulbs-off, tags: Home Automation -#define ICON_MD_LIGHTBULB_MULTIPLE_OFF_OUTLINE "\xf3\xb1\x8b\x90" // U+F12D0 lightbulb-multiple-off-outline, aliases: lightbulbs-off-outline, bulb-multiple-off-outline, bulbs-off-outline, tags: Home Automation -#define ICON_MD_LIGHTBULB_MULTIPLE_OUTLINE "\xf3\xb1\x89\x96" // U+F1256 lightbulb-multiple-outline, aliases: lightbulbs-outline, bulb-multiple-outline, bulbs-outline, tags: Home Automation -#define ICON_MD_LIGHTBULB_NIGHT "\xf3\xb1\xa9\x8c" // U+F1A4C lightbulb-night, aliases: night-light, nite-light, lightbulb-moon-star, tags: Home Automation -#define ICON_MD_LIGHTBULB_NIGHT_OUTLINE "\xf3\xb1\xa9\x8d" // U+F1A4D lightbulb-night-outline, aliases: night-light-outline, nite-light-outline, lightbulb-moon-star-outline, tags: Home Automation -#define ICON_MD_LIGHTBULB_OFF "\xf3\xb0\xb9\x8f" // U+F0E4F lightbulb-off, aliases: bulb-off, tags: Home Automation -#define ICON_MD_LIGHTBULB_OFF_OUTLINE "\xf3\xb0\xb9\x90" // U+F0E50 lightbulb-off-outline, aliases: bulb-off-outline, tags: Home Automation -#define ICON_MD_LIGHTBULB_ON "\xf3\xb0\x9b\xa8" // U+F06E8 lightbulb-on, aliases: idea, bulb-on, lightbulb-dimmer-100, tags: Home Automation -#define ICON_MD_LIGHTBULB_ON_10 "\xf3\xb1\xa9\x8e" // U+F1A4E lightbulb-on-10, aliases: lightbulb-dimmer-10, tags: Home Automation -#define ICON_MD_LIGHTBULB_ON_20 "\xf3\xb1\xa9\x8f" // U+F1A4F lightbulb-on-20, aliases: lightbulb-dimmer-20, tags: Home Automation -#define ICON_MD_LIGHTBULB_ON_30 "\xf3\xb1\xa9\x90" // U+F1A50 lightbulb-on-30, aliases: lightbulb-dimmer-30, tags: Home Automation -#define ICON_MD_LIGHTBULB_ON_40 "\xf3\xb1\xa9\x91" // U+F1A51 lightbulb-on-40, aliases: lightbulb-dimmer-40, tags: Home Automation -#define ICON_MD_LIGHTBULB_ON_50 "\xf3\xb1\xa9\x92" // U+F1A52 lightbulb-on-50, aliases: lightbulb-dimmer-50, tags: Home Automation -#define ICON_MD_LIGHTBULB_ON_60 "\xf3\xb1\xa9\x93" // U+F1A53 lightbulb-on-60, aliases: lightbulb-dimmer-60, tags: Home Automation -#define ICON_MD_LIGHTBULB_ON_70 "\xf3\xb1\xa9\x94" // U+F1A54 lightbulb-on-70, aliases: lightbulb-dimmer-70, tags: Home Automation -#define ICON_MD_LIGHTBULB_ON_80 "\xf3\xb1\xa9\x95" // U+F1A55 lightbulb-on-80, aliases: lightbulb-dimmer-80, tags: Home Automation -#define ICON_MD_LIGHTBULB_ON_90 "\xf3\xb1\xa9\x96" // U+F1A56 lightbulb-on-90, aliases: lightbulb-dimmer-90, tags: Home Automation -#define ICON_MD_LIGHTBULB_ON_OUTLINE "\xf3\xb0\x9b\xa9" // U+F06E9 lightbulb-on-outline, aliases: idea, bulb-on-outline, tags: Home Automation -#define ICON_MD_LIGHTBULB_OUTLINE "\xf3\xb0\x8c\xb6" // U+F0336 lightbulb-outline, aliases: idea, bulb-outline, tags: Home Automation -#define ICON_MD_LIGHTBULB_QUESTION "\xf3\xb1\xa7\xa3" // U+F19E3 lightbulb-question, aliases: lightbulb-help, tags: Home Automation -#define ICON_MD_LIGHTBULB_QUESTION_OUTLINE "\xf3\xb1\xa7\xa4" // U+F19E4 lightbulb-question-outline, aliases: lightbulb-help-outline, tags: Home Automation -#define ICON_MD_LIGHTBULB_SPOT "\xf3\xb1\x9f\xb4" // U+F17F4 lightbulb-spot, aliases: lightbulb-halogen, lightbulb-gu10, tags: Home Automation -#define ICON_MD_LIGHTBULB_SPOT_OFF "\xf3\xb1\x9f\xb5" // U+F17F5 lightbulb-spot-off, aliases: lightbulb-halogen-off, lightbulb-gu10-off, tags: Home Automation -#define ICON_MD_LIGHTBULB_VARIANT "\xf3\xb1\xa0\x82" // U+F1802 lightbulb-variant, aliases: lightbulb-edison, lightbulb-filament, tags: Home Automation -#define ICON_MD_LIGHTBULB_VARIANT_OUTLINE "\xf3\xb1\xa0\x83" // U+F1803 lightbulb-variant-outline, aliases: lightbulb-edison-outline, lightbulb-filament-outline, tags: Home Automation -#define ICON_MD_LIGHTHOUSE "\xf3\xb0\xa7\xbf" // U+F09FF lighthouse, aliases: beacon -#define ICON_MD_LIGHTHOUSE_ON "\xf3\xb0\xa8\x80" // U+F0A00 lighthouse-on, aliases: beacon -#define ICON_MD_LIGHTNING_BOLT "\xf3\xb1\x90\x8b" // U+F140B lightning-bolt, aliases: thunder, storm, energy, electricity, tags: Home Automation, Weather -#define ICON_MD_LIGHTNING_BOLT_CIRCLE "\xf3\xb0\xa0\xa0" // U+F0820 lightning-bolt-circle, aliases: amp, offline-bolt, flash-circle, electricity-circle, energy-circle, thunder-circle, storm-circle, tags: Home Automation -#define ICON_MD_LIGHTNING_BOLT_OUTLINE "\xf3\xb1\x90\x8c" // U+F140C lightning-bolt-outline, aliases: thunder-outline, storm-outline, energy-outline, electricity-outline, tags: Home Automation, Weather -#define ICON_MD_LINE_SCAN "\xf3\xb0\x98\xa4" // U+F0624 line-scan -#define ICON_MD_LINGERIE "\xf3\xb1\x91\xb6" // U+F1476 lingerie, aliases: underwear, bra, panties, tags: Clothing -#define ICON_MD_LINK "\xf3\xb0\x8c\xb7" // U+F0337 link, aliases: insert-link -#define ICON_MD_LINK_BOX "\xf3\xb0\xb4\x9a" // U+F0D1A link-box -#define ICON_MD_LINK_BOX_OUTLINE "\xf3\xb0\xb4\x9b" // U+F0D1B link-box-outline -#define ICON_MD_LINK_BOX_VARIANT "\xf3\xb0\xb4\x9c" // U+F0D1C link-box-variant -#define ICON_MD_LINK_BOX_VARIANT_OUTLINE "\xf3\xb0\xb4\x9d" // U+F0D1D link-box-variant-outline -#define ICON_MD_LINK_LOCK "\xf3\xb1\x82\xba" // U+F10BA link-lock, aliases: block-chain, tags: Lock -#define ICON_MD_LINK_OFF "\xf3\xb0\x8c\xb8" // U+F0338 link-off -#define ICON_MD_LINK_PLUS "\xf3\xb0\xb2\x94" // U+F0C94 link-plus, aliases: link-add -#define ICON_MD_LINK_VARIANT "\xf3\xb0\x8c\xb9" // U+F0339 link-variant -#define ICON_MD_LINK_VARIANT_MINUS "\xf3\xb1\x83\xbf" // U+F10FF link-variant-minus -#define ICON_MD_LINK_VARIANT_OFF "\xf3\xb0\x8c\xba" // U+F033A link-variant-off -#define ICON_MD_LINK_VARIANT_PLUS "\xf3\xb1\x84\x80" // U+F1100 link-variant-plus -#define ICON_MD_LINK_VARIANT_REMOVE "\xf3\xb1\x84\x81" // U+F1101 link-variant-remove -#define ICON_MD_LINKEDIN "\xf3\xb0\x8c\xbb" // U+F033B linkedin, tags: Brand / Logo, Social Media -#define ICON_MD_LINUX "\xf3\xb0\x8c\xbd" // U+F033D linux, aliases: tux, tags: Animal, Brand / Logo -#define ICON_MD_LINUX_MINT "\xf3\xb0\xa3\xad" // U+F08ED linux-mint, tags: Brand / Logo -#define ICON_MD_LIPSTICK "\xf3\xb1\x8e\xb5" // U+F13B5 lipstick, tags: Health / Beauty -#define ICON_MD_LIQUID_SPOT "\xf3\xb1\xa0\xa6" // U+F1826 liquid-spot, aliases: ink-spot, puddle, water, blood, spill, oil, dirty, tags: Automotive, Medical / Hospital -#define ICON_MD_LIQUOR "\xf3\xb1\xa4\x9e" // U+F191E liquor, aliases: booze, alcohol, beverages, whiskey, rum, wine, tequila, beer, spirits, tags: Food / Drink -#define ICON_MD_LIST_BOX "\xf3\xb1\xad\xbb" // U+F1B7B list-box, aliases: form -#define ICON_MD_LIST_BOX_OUTLINE "\xf3\xb1\xad\xbc" // U+F1B7C list-box-outline, aliases: form-outline -#define ICON_MD_LIST_STATUS "\xf3\xb1\x96\xab" // U+F15AB list-status, tags: Text / Content / Format -#define ICON_MD_LITECOIN "\xf3\xb0\xa9\xa1" // U+F0A61 litecoin, tags: Banking, Brand / Logo, Currency -#define ICON_MD_LOADING "\xf3\xb0\x9d\xb2" // U+F0772 loading -#define ICON_MD_LOCATION_ENTER "\xf3\xb0\xbf\x84" // U+F0FC4 location-enter, aliases: presence-enter, tags: Home Automation -#define ICON_MD_LOCATION_EXIT "\xf3\xb0\xbf\x85" // U+F0FC5 location-exit, aliases: presence-exit, tags: Home Automation -#define ICON_MD_LOCK "\xf3\xb0\x8c\xbe" // U+F033E lock, aliases: https, password, secure, protected, encryption, tags: Lock, Home Automation, Automotive -#define ICON_MD_LOCK_ALERT "\xf3\xb0\xa3\xae" // U+F08EE lock-alert, aliases: lock-warning, password-alert, encryption-alert, password-warning, encryption-warning, tags: Lock, Alert / Error, Home Automation -#define ICON_MD_LOCK_ALERT_OUTLINE "\xf3\xb1\x97\x91" // U+F15D1 lock-alert-outline, aliases: lock-warning-outline, password-alert-outline, encryption-alert-outline, password-warning-outline, encryption-warning-outline, tags: Home Automation, Alert / Error, Lock -#define ICON_MD_LOCK_CHECK "\xf3\xb1\x8e\x9a" // U+F139A lock-check, aliases: password-check, password-secure, encryption-check, encryption-secure, password-verified, encryption-verified, tags: Lock -#define ICON_MD_LOCK_CHECK_OUTLINE "\xf3\xb1\x9a\xa8" // U+F16A8 lock-check-outline, aliases: password-check-outline, password-secure-outline, encryption-check-outline, encryption-secure-outline, password-verified-outline, encryption-verified-outline, tags: Lock -#define ICON_MD_LOCK_CLOCK "\xf3\xb0\xa5\xbf" // U+F097F lock-clock, aliases: confidential-mode, password-clock, password-expiration, encryption-expiration, tags: Lock, Date / Time -#define ICON_MD_LOCK_MINUS "\xf3\xb1\x9a\xa9" // U+F16A9 lock-minus, aliases: password-minus, encryption-minus, tags: Lock -#define ICON_MD_LOCK_MINUS_OUTLINE "\xf3\xb1\x9a\xaa" // U+F16AA lock-minus-outline, aliases: password-minus-outline, encryption-minus, tags: Lock -#define ICON_MD_LOCK_OFF "\xf3\xb1\x99\xb1" // U+F1671 lock-off, aliases: password-off, not-protected, unsecure, encryption-off, tags: Lock -#define ICON_MD_LOCK_OFF_OUTLINE "\xf3\xb1\x99\xb2" // U+F1672 lock-off-outline, aliases: password-off-outline, unsecure-outline, not-protected-outline, encryption-off-outline, tags: Lock -#define ICON_MD_LOCK_OPEN "\xf3\xb0\x8c\xbf" // U+F033F lock-open, aliases: unlocked, decrypted, tags: Lock, Home Automation, Automotive -#define ICON_MD_LOCK_OPEN_ALERT "\xf3\xb1\x8e\x9b" // U+F139B lock-open-alert, aliases: unlocked-alert, decrypted-alert, lock-open-warning, unlocked-warning, decrypted-warning, tags: Alert / Error, Home Automation, Lock -#define ICON_MD_LOCK_OPEN_ALERT_OUTLINE "\xf3\xb1\x97\x92" // U+F15D2 lock-open-alert-outline, aliases: unlocked-alert-outline, lock-open-warning-outline, decrypted-alert-outline, unlocked-warning-outline, decrypted-warning-outline, tags: Home Automation, Alert / Error, Lock -#define ICON_MD_LOCK_OPEN_CHECK "\xf3\xb1\x8e\x9c" // U+F139C lock-open-check, aliases: unlocked-check, decrypted-check, tags: Lock -#define ICON_MD_LOCK_OPEN_CHECK_OUTLINE "\xf3\xb1\x9a\xab" // U+F16AB lock-open-check-outline, aliases: unlocked-check-outline, decrypted-check-outline, tags: Lock -#define ICON_MD_LOCK_OPEN_MINUS "\xf3\xb1\x9a\xac" // U+F16AC lock-open-minus, aliases: unlocked-minus, decrypted-minus, tags: Lock -#define ICON_MD_LOCK_OPEN_MINUS_OUTLINE "\xf3\xb1\x9a\xad" // U+F16AD lock-open-minus-outline, aliases: unlocked-minus-outline, decrypted-minus-outline, tags: Lock -#define ICON_MD_LOCK_OPEN_OUTLINE "\xf3\xb0\x8d\x80" // U+F0340 lock-open-outline, aliases: unlocked-outline, decrypted-outline, tags: Lock, Home Automation, Automotive -#define ICON_MD_LOCK_OPEN_PLUS "\xf3\xb1\x9a\xae" // U+F16AE lock-open-plus, aliases: unlocked-plus, decrypted-plus, lock-open-add, unlocked-add, decrypted-add, tags: Lock -#define ICON_MD_LOCK_OPEN_PLUS_OUTLINE "\xf3\xb1\x9a\xaf" // U+F16AF lock-open-plus-outline, aliases: unlocked-plus-outline, lock-open-add-outline, unlocked-add-outline, decrypted-plus-outline, decrypted-add-outline, tags: Lock -#define ICON_MD_LOCK_OPEN_REMOVE "\xf3\xb1\x9a\xb0" // U+F16B0 lock-open-remove, aliases: unlocked-remove, decrypted-remove, tags: Lock -#define ICON_MD_LOCK_OPEN_REMOVE_OUTLINE "\xf3\xb1\x9a\xb1" // U+F16B1 lock-open-remove-outline, aliases: unlocked-remove-outline, decrypted-remove-outline, tags: Lock -#define ICON_MD_LOCK_OPEN_VARIANT "\xf3\xb0\xbf\x86" // U+F0FC6 lock-open-variant, aliases: unlocked-variant, decrypted-variant, tags: Lock, Home Automation -#define ICON_MD_LOCK_OPEN_VARIANT_OUTLINE "\xf3\xb0\xbf\x87" // U+F0FC7 lock-open-variant-outline, aliases: unlocked-variant-outline, decrypted-variant-outline, tags: Lock, Home Automation -#define ICON_MD_LOCK_OUTLINE "\xf3\xb0\x8d\x81" // U+F0341 lock-outline, aliases: password-outline, secure-outline, https-outline, protected-outline, encryption-outline, tags: Lock, Home Automation, Automotive -#define ICON_MD_LOCK_PATTERN "\xf3\xb0\x9b\xaa" // U+F06EA lock-pattern -#define ICON_MD_LOCK_PLUS "\xf3\xb0\x97\xbb" // U+F05FB lock-plus, aliases: enhanced-encryption, lock-add, encryption-add, password-add, password-plus, encryption-plus, tags: Lock -#define ICON_MD_LOCK_PLUS_OUTLINE "\xf3\xb1\x9a\xb2" // U+F16B2 lock-plus-outline, aliases: lock-add-outline, password-plus-outline, password-add-outline, encryption-plus-outline, encryption-add-outline, tags: Lock -#define ICON_MD_LOCK_QUESTION "\xf3\xb0\xa3\xaf" // U+F08EF lock-question, aliases: forgot-password, password-question, encryption-question, tags: Lock -#define ICON_MD_LOCK_REMOVE "\xf3\xb1\x9a\xb3" // U+F16B3 lock-remove, aliases: password-remove, encryption-remove, tags: Lock -#define ICON_MD_LOCK_REMOVE_OUTLINE "\xf3\xb1\x9a\xb4" // U+F16B4 lock-remove-outline, aliases: password-remove-outline, encryption-remove-outline, tags: Lock -#define ICON_MD_LOCK_RESET "\xf3\xb0\x9d\xb3" // U+F0773 lock-reset, aliases: password-reset, encryption-reset, tags: Lock -#define ICON_MD_LOCK_SMART "\xf3\xb0\xa2\xb2" // U+F08B2 lock-smart, tags: Home Automation -#define ICON_MD_LOCKER "\xf3\xb0\x9f\x97" // U+F07D7 locker -#define ICON_MD_LOCKER_MULTIPLE "\xf3\xb0\x9f\x98" // U+F07D8 locker-multiple, aliases: lockers -#define ICON_MD_LOGIN "\xf3\xb0\x8d\x82" // U+F0342 login, aliases: log-in, sign-in -#define ICON_MD_LOGIN_VARIANT "\xf3\xb0\x97\xbc" // U+F05FC login-variant, aliases: log-in-variant, sign-in-variant -#define ICON_MD_LOGOUT "\xf3\xb0\x8d\x83" // U+F0343 logout, aliases: log-out, sign-out -#define ICON_MD_LOGOUT_VARIANT "\xf3\xb0\x97\xbd" // U+F05FD logout-variant, aliases: log-out-variant, sign-out-variant -#define ICON_MD_LONGITUDE "\xf3\xb0\xbd\x9a" // U+F0F5A longitude, tags: Navigation, Geographic Information System -#define ICON_MD_LOOKS "\xf3\xb0\x8d\x84" // U+F0344 looks, aliases: rainbow, tags: Weather, Color -#define ICON_MD_LOTION "\xf3\xb1\x96\x82" // U+F1582 lotion, tags: Medical / Hospital, Health / Beauty -#define ICON_MD_LOTION_OUTLINE "\xf3\xb1\x96\x83" // U+F1583 lotion-outline, tags: Medical / Hospital, Health / Beauty -#define ICON_MD_LOTION_PLUS "\xf3\xb1\x96\x84" // U+F1584 lotion-plus, aliases: hand-sanitizer, tags: Medical / Hospital -#define ICON_MD_LOTION_PLUS_OUTLINE "\xf3\xb1\x96\x85" // U+F1585 lotion-plus-outline, aliases: hand-sanitizer-outline, tags: Medical / Hospital -#define ICON_MD_LOUPE "\xf3\xb0\x8d\x85" // U+F0345 loupe, aliases: zoom-plus, circle-plus-outline, magnify -#define ICON_MD_LUMX "\xf3\xb0\x8d\x86" // U+F0346 lumx, tags: Brand / Logo -#define ICON_MD_LUNGS "\xf3\xb1\x82\x84" // U+F1084 lungs, tags: Medical / Hospital -#define ICON_MD_MACE "\xf3\xb1\xa1\x83" // U+F1843 mace, tags: Gaming / RPG -#define ICON_MD_MAGAZINE_PISTOL "\xf3\xb0\x8c\xa4" // U+F0324 magazine-pistol, aliases: ammunition-pistol -#define ICON_MD_MAGAZINE_RIFLE "\xf3\xb0\x8c\xa3" // U+F0323 magazine-rifle, aliases: ammunition-rifle -#define ICON_MD_MAGIC_STAFF "\xf3\xb1\xa1\x84" // U+F1844 magic-staff, aliases: staff-shimmer, magic-wand, tags: Gaming / RPG -#define ICON_MD_MAGNET "\xf3\xb0\x8d\x87" // U+F0347 magnet -#define ICON_MD_MAGNET_ON "\xf3\xb0\x8d\x88" // U+F0348 magnet-on -#define ICON_MD_MAGNIFY "\xf3\xb0\x8d\x89" // U+F0349 magnify, aliases: search, tags: Geographic Information System -#define ICON_MD_MAGNIFY_CLOSE "\xf3\xb0\xa6\x80" // U+F0980 magnify-close -#define ICON_MD_MAGNIFY_EXPAND "\xf3\xb1\xa1\xb4" // U+F1874 magnify-expand, aliases: search-expand, tags: Geographic Information System -#define ICON_MD_MAGNIFY_MINUS "\xf3\xb0\x8d\x8a" // U+F034A magnify-minus, aliases: zoom-out, search-minus -#define ICON_MD_MAGNIFY_MINUS_CURSOR "\xf3\xb0\xa9\xa2" // U+F0A62 magnify-minus-cursor, aliases: zoom-out-cursor -#define ICON_MD_MAGNIFY_MINUS_OUTLINE "\xf3\xb0\x9b\xac" // U+F06EC magnify-minus-outline, aliases: zoom-out-outline, search-minus-outline, tags: Geographic Information System -#define ICON_MD_MAGNIFY_PLUS "\xf3\xb0\x8d\x8b" // U+F034B magnify-plus, aliases: zoom-in, magnify-add, search-plus, search-add -#define ICON_MD_MAGNIFY_PLUS_CURSOR "\xf3\xb0\xa9\xa3" // U+F0A63 magnify-plus-cursor, aliases: zoom-in-cursor, magnify-add-cursor -#define ICON_MD_MAGNIFY_PLUS_OUTLINE "\xf3\xb0\x9b\xad" // U+F06ED magnify-plus-outline, aliases: zoom-in-outline, magnify-add-outline, search-plus-outline, search-add-outline, tags: Geographic Information System -#define ICON_MD_MAGNIFY_REMOVE_CURSOR "\xf3\xb1\x88\x8c" // U+F120C magnify-remove-cursor -#define ICON_MD_MAGNIFY_REMOVE_OUTLINE "\xf3\xb1\x88\x8d" // U+F120D magnify-remove-outline, tags: Geographic Information System -#define ICON_MD_MAGNIFY_SCAN "\xf3\xb1\x89\xb6" // U+F1276 magnify-scan -#define ICON_MD_MAIL "\xf3\xb0\xba\xbb" // U+F0EBB mail -#define ICON_MD_MAILBOX "\xf3\xb0\x9b\xae" // U+F06EE mailbox -#define ICON_MD_MAILBOX_OPEN "\xf3\xb0\xb6\x88" // U+F0D88 mailbox-open -#define ICON_MD_MAILBOX_OPEN_OUTLINE "\xf3\xb0\xb6\x89" // U+F0D89 mailbox-open-outline -#define ICON_MD_MAILBOX_OPEN_UP "\xf3\xb0\xb6\x8a" // U+F0D8A mailbox-open-up -#define ICON_MD_MAILBOX_OPEN_UP_OUTLINE "\xf3\xb0\xb6\x8b" // U+F0D8B mailbox-open-up-outline -#define ICON_MD_MAILBOX_OUTLINE "\xf3\xb0\xb6\x8c" // U+F0D8C mailbox-outline -#define ICON_MD_MAILBOX_UP "\xf3\xb0\xb6\x8d" // U+F0D8D mailbox-up -#define ICON_MD_MAILBOX_UP_OUTLINE "\xf3\xb0\xb6\x8e" // U+F0D8E mailbox-up-outline -#define ICON_MD_MANJARO "\xf3\xb1\x98\x8a" // U+F160A manjaro, tags: Brand / Logo -#define ICON_MD_MAP "\xf3\xb0\x8d\x8d" // U+F034D map, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_CHECK "\xf3\xb0\xba\xbc" // U+F0EBC map-check, aliases: map-tick, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_CHECK_OUTLINE "\xf3\xb0\xba\xbd" // U+F0EBD map-check-outline, aliases: map-tick-outline, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_CLOCK "\xf3\xb0\xb4\x9e" // U+F0D1E map-clock, aliases: timezone, tags: Navigation, Geographic Information System, Date / Time -#define ICON_MD_MAP_CLOCK_OUTLINE "\xf3\xb0\xb4\x9f" // U+F0D1F map-clock-outline, aliases: timezone-outline, tags: Navigation, Geographic Information System, Date / Time -#define ICON_MD_MAP_LEGEND "\xf3\xb0\xa8\x81" // U+F0A01 map-legend, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER "\xf3\xb0\x8d\x8e" // U+F034E map-marker, aliases: location, address-marker, location-on, place, room, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_ACCOUNT "\xf3\xb1\xa3\xa3" // U+F18E3 map-marker-account, tags: Navigation, Account / User -#define ICON_MD_MAP_MARKER_ACCOUNT_OUTLINE "\xf3\xb1\xa3\xa4" // U+F18E4 map-marker-account-outline, tags: Navigation, Account / User -#define ICON_MD_MAP_MARKER_ALERT "\xf3\xb0\xbc\x85" // U+F0F05 map-marker-alert, aliases: location-alert, location-warning, tags: Navigation, Alert / Error, Geographic Information System -#define ICON_MD_MAP_MARKER_ALERT_OUTLINE "\xf3\xb0\xbc\x86" // U+F0F06 map-marker-alert-outline, aliases: location-alert-outline, location-warning-outline, tags: Navigation, Alert / Error, Geographic Information System -#define ICON_MD_MAP_MARKER_CHECK "\xf3\xb0\xb2\x95" // U+F0C95 map-marker-check, aliases: map-marker-tick, where-to-vote, location-check, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_CHECK_OUTLINE "\xf3\xb1\x8b\xbb" // U+F12FB map-marker-check-outline, aliases: location-check-outline, where-to-vote-outline, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_CIRCLE "\xf3\xb0\x8d\x8f" // U+F034F map-marker-circle, aliases: explore-nearby, location-circle, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_DISTANCE "\xf3\xb0\xa3\xb0" // U+F08F0 map-marker-distance, aliases: location-distance, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_DOWN "\xf3\xb1\x84\x82" // U+F1102 map-marker-down, aliases: location-down, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_LEFT "\xf3\xb1\x8b\x9b" // U+F12DB map-marker-left, aliases: location-left, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_LEFT_OUTLINE "\xf3\xb1\x8b\x9d" // U+F12DD map-marker-left-outline, aliases: location-left-outline, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_MINUS "\xf3\xb0\x99\x90" // U+F0650 map-marker-minus, aliases: location-minus, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_MINUS_OUTLINE "\xf3\xb1\x8b\xb9" // U+F12F9 map-marker-minus-outline, aliases: location-minus-outline, tags: Geographic Information System, Navigation -#define ICON_MD_MAP_MARKER_MULTIPLE "\xf3\xb0\x8d\x90" // U+F0350 map-marker-multiple, aliases: map-markers, location-multiple, locations, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_MULTIPLE_OUTLINE "\xf3\xb1\x89\xb7" // U+F1277 map-marker-multiple-outline, aliases: locations-outline, location-multiple-outline, map-markers-outline, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_OFF "\xf3\xb0\x8d\x91" // U+F0351 map-marker-off, aliases: location-off, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_OFF_OUTLINE "\xf3\xb1\x8b\xbd" // U+F12FD map-marker-off-outline, aliases: location-off-outline, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_OUTLINE "\xf3\xb0\x9f\x99" // U+F07D9 map-marker-outline, aliases: location-outline, address-marker-outline, location-on-outline, place-outline, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_PATH "\xf3\xb0\xb4\xa0" // U+F0D20 map-marker-path, aliases: location-path, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_PLUS "\xf3\xb0\x99\x91" // U+F0651 map-marker-plus, aliases: location-plus, map-marker-add, location-add, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_PLUS_OUTLINE "\xf3\xb1\x8b\xb8" // U+F12F8 map-marker-plus-outline, aliases: map-marker-add-outline, location-plus-outline, location-add-outline, tags: Geographic Information System, Navigation -#define ICON_MD_MAP_MARKER_QUESTION "\xf3\xb0\xbc\x87" // U+F0F07 map-marker-question, aliases: location-question, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_QUESTION_OUTLINE "\xf3\xb0\xbc\x88" // U+F0F08 map-marker-question-outline, aliases: location-question-outline, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_RADIUS "\xf3\xb0\x8d\x92" // U+F0352 map-marker-radius, aliases: location-radius, tags: Navigation, Geographic Information System, Home Automation -#define ICON_MD_MAP_MARKER_RADIUS_OUTLINE "\xf3\xb1\x8b\xbc" // U+F12FC map-marker-radius-outline, aliases: location-radius-outline, tags: Navigation, Geographic Information System, Home Automation -#define ICON_MD_MAP_MARKER_REMOVE "\xf3\xb0\xbc\x89" // U+F0F09 map-marker-remove, aliases: location-remove, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_REMOVE_OUTLINE "\xf3\xb1\x8b\xba" // U+F12FA map-marker-remove-outline, aliases: location-remove-outline, tags: Geographic Information System, Navigation -#define ICON_MD_MAP_MARKER_REMOVE_VARIANT "\xf3\xb0\xbc\x8a" // U+F0F0A map-marker-remove-variant, aliases: location-remove-variant-outline, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_RIGHT "\xf3\xb1\x8b\x9c" // U+F12DC map-marker-right, aliases: location-right, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_RIGHT_OUTLINE "\xf3\xb1\x8b\x9e" // U+F12DE map-marker-right-outline, aliases: location-right-outline, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MARKER_STAR "\xf3\xb1\x98\x88" // U+F1608 map-marker-star, aliases: map-marker-favorite, location-star, location-favorite, tags: Navigation -#define ICON_MD_MAP_MARKER_STAR_OUTLINE "\xf3\xb1\x98\x89" // U+F1609 map-marker-star-outline, aliases: map-marker-favorite-outline, location-star-outline, location-favorite-outline, tags: Navigation -#define ICON_MD_MAP_MARKER_UP "\xf3\xb1\x84\x83" // U+F1103 map-marker-up, aliases: location-up, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_MINUS "\xf3\xb0\xa6\x81" // U+F0981 map-minus, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_OUTLINE "\xf3\xb0\xa6\x82" // U+F0982 map-outline, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_PLUS "\xf3\xb0\xa6\x83" // U+F0983 map-plus, aliases: map-add, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_SEARCH "\xf3\xb0\xa6\x84" // U+F0984 map-search, tags: Navigation, Geographic Information System -#define ICON_MD_MAP_SEARCH_OUTLINE "\xf3\xb0\xa6\x85" // U+F0985 map-search-outline, tags: Navigation, Geographic Information System -#define ICON_MD_MAPBOX "\xf3\xb0\xae\xaa" // U+F0BAA mapbox, tags: Brand / Logo -#define ICON_MD_MARGIN "\xf3\xb0\x8d\x93" // U+F0353 margin -#define ICON_MD_MARKER "\xf3\xb0\x99\x92" // U+F0652 marker, aliases: highlighter, tags: Text / Content / Format -#define ICON_MD_MARKER_CANCEL "\xf3\xb0\xb7\x99" // U+F0DD9 marker-cancel, tags: Text / Content / Format -#define ICON_MD_MARKER_CHECK "\xf3\xb0\x8d\x95" // U+F0355 marker-check, aliases: beenhere, marker-tick -#define ICON_MD_MASTODON "\xf3\xb0\xab\x91" // U+F0AD1 mastodon, tags: Brand / Logo -#define ICON_MD_MATERIAL_DESIGN "\xf3\xb0\xa6\x86" // U+F0986 material-design, tags: Brand / Logo -#define ICON_MD_MATERIAL_UI "\xf3\xb0\x8d\x97" // U+F0357 material-ui, tags: Brand / Logo -#define ICON_MD_MATH_COMPASS "\xf3\xb0\x8d\x98" // U+F0358 math-compass, aliases: maths-compass, tags: Math, Drawing / Art, Navigation -#define ICON_MD_MATH_COS "\xf3\xb0\xb2\x96" // U+F0C96 math-cos, aliases: math-cosine, maths-cos, tags: Math -#define ICON_MD_MATH_INTEGRAL "\xf3\xb0\xbf\x88" // U+F0FC8 math-integral, tags: Math -#define ICON_MD_MATH_INTEGRAL_BOX "\xf3\xb0\xbf\x89" // U+F0FC9 math-integral-box, tags: Math -#define ICON_MD_MATH_LOG "\xf3\xb1\x82\x85" // U+F1085 math-log, tags: Math -#define ICON_MD_MATH_NORM "\xf3\xb0\xbf\x8a" // U+F0FCA math-norm, aliases: code-or, parallel, tags: Math, Developer / Languages -#define ICON_MD_MATH_NORM_BOX "\xf3\xb0\xbf\x8b" // U+F0FCB math-norm-box, aliases: code-or-box, parallel-box, tags: Math, Developer / Languages -#define ICON_MD_MATH_SIN "\xf3\xb0\xb2\x97" // U+F0C97 math-sin, aliases: math-sine, maths-sin, tags: Math -#define ICON_MD_MATH_TAN "\xf3\xb0\xb2\x98" // U+F0C98 math-tan, aliases: math-tangent, maths-tan, tags: Math -#define ICON_MD_MATRIX "\xf3\xb0\x98\xa8" // U+F0628 matrix -#define ICON_MD_MEDAL "\xf3\xb0\xa6\x87" // U+F0987 medal, aliases: award, tags: Gaming / RPG, Sport -#define ICON_MD_MEDAL_OUTLINE "\xf3\xb1\x8c\xa6" // U+F1326 medal-outline, tags: Sport -#define ICON_MD_MEDICAL_BAG "\xf3\xb0\x9b\xaf" // U+F06EF medical-bag, aliases: first-aid-kit, medicine, tags: Medical / Hospital -#define ICON_MD_MEDICAL_COTTON_SWAB "\xf3\xb1\xaa\xb8" // U+F1AB8 medical-cotton-swab, aliases: covid-test, medicine, tags: Medical / Hospital -#define ICON_MD_MEDICATION "\xf3\xb1\xac\x94" // U+F1B14 medication, aliases: pill-bottle, medicine-bottle, bottle-plus, tags: Health / Beauty, Medical / Hospital -#define ICON_MD_MEDICATION_OUTLINE "\xf3\xb1\xac\x95" // U+F1B15 medication-outline, aliases: pill-bottle-outline, medicine-bottle-outline, bottle-plus-outline, tags: Health / Beauty, Medical / Hospital -#define ICON_MD_MEDITATION "\xf3\xb1\x85\xbb" // U+F117B meditation, aliases: human-meditation, tags: Sport, People / Family -#define ICON_MD_MEMORY "\xf3\xb0\x8d\x9b" // U+F035B memory, aliases: chip -#define ICON_MD_MENORAH "\xf3\xb1\x9f\x94" // U+F17D4 menorah, aliases: candelabrum, candelabra, candle, tags: Religion, Holiday -#define ICON_MD_MENORAH_FIRE "\xf3\xb1\x9f\x95" // U+F17D5 menorah-fire, aliases: menorah-flame, candle-flame, candelabra-flame, candelabra-fire, candle-fire, candelabrum-fire, candelabrum-flame, tags: Religion, Holiday -#define ICON_MD_MENU "\xf3\xb0\x8d\x9c" // U+F035C menu, aliases: hamburger-menu -#define ICON_MD_MENU_DOWN "\xf3\xb0\x8d\x9d" // U+F035D menu-down, aliases: arrow-drop-down, caret-down, tags: Arrow -#define ICON_MD_MENU_DOWN_OUTLINE "\xf3\xb0\x9a\xb6" // U+F06B6 menu-down-outline, aliases: caret-down-outline, tags: Arrow -#define ICON_MD_MENU_LEFT "\xf3\xb0\x8d\x9e" // U+F035E menu-left, aliases: arrow-left, tags: Arrow -#define ICON_MD_MENU_LEFT_OUTLINE "\xf3\xb0\xa8\x82" // U+F0A02 menu-left-outline -#define ICON_MD_MENU_OPEN "\xf3\xb0\xae\xab" // U+F0BAB menu-open -#define ICON_MD_MENU_RIGHT "\xf3\xb0\x8d\x9f" // U+F035F menu-right, aliases: arrow-right, tags: Arrow -#define ICON_MD_MENU_RIGHT_OUTLINE "\xf3\xb0\xa8\x83" // U+F0A03 menu-right-outline -#define ICON_MD_MENU_SWAP "\xf3\xb0\xa9\xa4" // U+F0A64 menu-swap, tags: Arrow -#define ICON_MD_MENU_SWAP_OUTLINE "\xf3\xb0\xa9\xa5" // U+F0A65 menu-swap-outline, tags: Arrow -#define ICON_MD_MENU_UP "\xf3\xb0\x8d\xa0" // U+F0360 menu-up, aliases: arrow-drop-up, caret-up, tags: Arrow -#define ICON_MD_MENU_UP_OUTLINE "\xf3\xb0\x9a\xb7" // U+F06B7 menu-up-outline, aliases: caret-up-outline, tags: Arrow -#define ICON_MD_MERGE "\xf3\xb0\xbd\x9c" // U+F0F5C merge -#define ICON_MD_MESSAGE "\xf3\xb0\x8d\xa1" // U+F0361 message, aliases: chat-bubble -#define ICON_MD_MESSAGE_ALERT "\xf3\xb0\x8d\xa2" // U+F0362 message-alert, aliases: feedback, message-warning, announcement, sms-failed, tags: Alert / Error -#define ICON_MD_MESSAGE_ALERT_OUTLINE "\xf3\xb0\xa8\x84" // U+F0A04 message-alert-outline, aliases: announcement-outline, feedback-outline, message-warning-outline, sms-failed-outline, tags: Alert / Error -#define ICON_MD_MESSAGE_ARROW_LEFT "\xf3\xb1\x8b\xb2" // U+F12F2 message-arrow-left -#define ICON_MD_MESSAGE_ARROW_LEFT_OUTLINE "\xf3\xb1\x8b\xb3" // U+F12F3 message-arrow-left-outline -#define ICON_MD_MESSAGE_ARROW_RIGHT "\xf3\xb1\x8b\xb4" // U+F12F4 message-arrow-right -#define ICON_MD_MESSAGE_ARROW_RIGHT_OUTLINE "\xf3\xb1\x8b\xb5" // U+F12F5 message-arrow-right-outline -#define ICON_MD_MESSAGE_BADGE "\xf3\xb1\xa5\x81" // U+F1941 message-badge, aliases: message-unread, message-notification, tags: Notification -#define ICON_MD_MESSAGE_BADGE_OUTLINE "\xf3\xb1\xa5\x82" // U+F1942 message-badge-outline, aliases: message-unread-outline, message-notification-outline, tags: Notification -#define ICON_MD_MESSAGE_BOOKMARK "\xf3\xb1\x96\xac" // U+F15AC message-bookmark -#define ICON_MD_MESSAGE_BOOKMARK_OUTLINE "\xf3\xb1\x96\xad" // U+F15AD message-bookmark-outline -#define ICON_MD_MESSAGE_BULLETED "\xf3\xb0\x9a\xa2" // U+F06A2 message-bulleted, aliases: speaker-notes -#define ICON_MD_MESSAGE_BULLETED_OFF "\xf3\xb0\x9a\xa3" // U+F06A3 message-bulleted-off, aliases: speaker-notes-off -#define ICON_MD_MESSAGE_CHECK "\xf3\xb1\xae\x8a" // U+F1B8A message-check -#define ICON_MD_MESSAGE_CHECK_OUTLINE "\xf3\xb1\xae\x8b" // U+F1B8B message-check-outline -#define ICON_MD_MESSAGE_COG "\xf3\xb0\x9b\xb1" // U+F06F1 message-cog, tags: Settings -#define ICON_MD_MESSAGE_COG_OUTLINE "\xf3\xb1\x85\xb2" // U+F1172 message-cog-outline, tags: Settings -#define ICON_MD_MESSAGE_DRAW "\xf3\xb0\x8d\xa3" // U+F0363 message-draw, aliases: rate-review -#define ICON_MD_MESSAGE_FAST "\xf3\xb1\xa7\x8c" // U+F19CC message-fast -#define ICON_MD_MESSAGE_FAST_OUTLINE "\xf3\xb1\xa7\x8d" // U+F19CD message-fast-outline -#define ICON_MD_MESSAGE_FLASH "\xf3\xb1\x96\xa9" // U+F15A9 message-flash, aliases: message-quick -#define ICON_MD_MESSAGE_FLASH_OUTLINE "\xf3\xb1\x96\xaa" // U+F15AA message-flash-outline, aliases: message-quick-outline -#define ICON_MD_MESSAGE_IMAGE "\xf3\xb0\x8d\xa4" // U+F0364 message-image, aliases: mms -#define ICON_MD_MESSAGE_IMAGE_OUTLINE "\xf3\xb1\x85\xac" // U+F116C message-image-outline -#define ICON_MD_MESSAGE_LOCK "\xf3\xb0\xbf\x8c" // U+F0FCC message-lock, aliases: message-secure, tags: Lock -#define ICON_MD_MESSAGE_LOCK_OUTLINE "\xf3\xb1\x85\xad" // U+F116D message-lock-outline, tags: Lock -#define ICON_MD_MESSAGE_MINUS "\xf3\xb1\x85\xae" // U+F116E message-minus -#define ICON_MD_MESSAGE_MINUS_OUTLINE "\xf3\xb1\x85\xaf" // U+F116F message-minus-outline -#define ICON_MD_MESSAGE_OFF "\xf3\xb1\x99\x8d" // U+F164D message-off -#define ICON_MD_MESSAGE_OFF_OUTLINE "\xf3\xb1\x99\x8e" // U+F164E message-off-outline -#define ICON_MD_MESSAGE_OUTLINE "\xf3\xb0\x8d\xa5" // U+F0365 message-outline, aliases: chat-bubble-outline -#define ICON_MD_MESSAGE_PLUS "\xf3\xb0\x99\x93" // U+F0653 message-plus, aliases: message-add -#define ICON_MD_MESSAGE_PLUS_OUTLINE "\xf3\xb1\x82\xbb" // U+F10BB message-plus-outline -#define ICON_MD_MESSAGE_PROCESSING "\xf3\xb0\x8d\xa6" // U+F0366 message-processing, aliases: sms, textsms -#define ICON_MD_MESSAGE_PROCESSING_OUTLINE "\xf3\xb1\x85\xb0" // U+F1170 message-processing-outline -#define ICON_MD_MESSAGE_QUESTION "\xf3\xb1\x9c\xba" // U+F173A message-question -#define ICON_MD_MESSAGE_QUESTION_OUTLINE "\xf3\xb1\x9c\xbb" // U+F173B message-question-outline -#define ICON_MD_MESSAGE_REPLY "\xf3\xb0\x8d\xa7" // U+F0367 message-reply, aliases: mode-comment -#define ICON_MD_MESSAGE_REPLY_OUTLINE "\xf3\xb1\x9c\xbd" // U+F173D message-reply-outline -#define ICON_MD_MESSAGE_REPLY_TEXT "\xf3\xb0\x8d\xa8" // U+F0368 message-reply-text, aliases: comment, insert-comment -#define ICON_MD_MESSAGE_REPLY_TEXT_OUTLINE "\xf3\xb1\x9c\xbe" // U+F173E message-reply-text-outline -#define ICON_MD_MESSAGE_SETTINGS "\xf3\xb0\x9b\xb0" // U+F06F0 message-settings, tags: Settings -#define ICON_MD_MESSAGE_SETTINGS_OUTLINE "\xf3\xb1\x85\xb1" // U+F1171 message-settings-outline, tags: Settings -#define ICON_MD_MESSAGE_STAR "\xf3\xb0\x9a\x9a" // U+F069A message-star -#define ICON_MD_MESSAGE_STAR_OUTLINE "\xf3\xb1\x89\x90" // U+F1250 message-star-outline -#define ICON_MD_MESSAGE_TEXT "\xf3\xb0\x8d\xa9" // U+F0369 message-text, aliases: chat -#define ICON_MD_MESSAGE_TEXT_CLOCK "\xf3\xb1\x85\xb3" // U+F1173 message-text-clock, tags: Date / Time -#define ICON_MD_MESSAGE_TEXT_CLOCK_OUTLINE "\xf3\xb1\x85\xb4" // U+F1174 message-text-clock-outline, tags: Date / Time -#define ICON_MD_MESSAGE_TEXT_FAST "\xf3\xb1\xa7\x8e" // U+F19CE message-text-fast -#define ICON_MD_MESSAGE_TEXT_FAST_OUTLINE "\xf3\xb1\xa7\x8f" // U+F19CF message-text-fast-outline -#define ICON_MD_MESSAGE_TEXT_LOCK "\xf3\xb0\xbf\x8d" // U+F0FCD message-text-lock, aliases: message-text-secure, tags: Lock -#define ICON_MD_MESSAGE_TEXT_LOCK_OUTLINE "\xf3\xb1\x85\xb5" // U+F1175 message-text-lock-outline, tags: Lock -#define ICON_MD_MESSAGE_TEXT_OUTLINE "\xf3\xb0\x8d\xaa" // U+F036A message-text-outline -#define ICON_MD_MESSAGE_VIDEO "\xf3\xb0\x8d\xab" // U+F036B message-video, aliases: voice-chat, tags: Video / Movie -#define ICON_MD_METEOR "\xf3\xb0\x98\xa9" // U+F0629 meteor, tags: Brand / Logo -#define ICON_MD_METER_ELECTRIC "\xf3\xb1\xa9\x97" // U+F1A57 meter-electric, aliases: power-meter, electricity, tags: Home Automation -#define ICON_MD_METER_ELECTRIC_OUTLINE "\xf3\xb1\xa9\x98" // U+F1A58 meter-electric-outline, aliases: power-meter-outline, electricity-outline, tags: Home Automation -#define ICON_MD_METER_GAS "\xf3\xb1\xa9\x99" // U+F1A59 meter-gas, aliases: natural-gas, tags: Home Automation -#define ICON_MD_METER_GAS_OUTLINE "\xf3\xb1\xa9\x9a" // U+F1A5A meter-gas-outline, aliases: natural-gas-outline, tags: Home Automation -#define ICON_MD_METRONOME "\xf3\xb0\x9f\x9a" // U+F07DA metronome, aliases: tempo, bpm, beats-per-minute, tags: Music -#define ICON_MD_METRONOME_TICK "\xf3\xb0\x9f\x9b" // U+F07DB metronome-tick, aliases: tempo-tick, bpm-tick, beats-per-minute-tick, tags: Music -#define ICON_MD_MICRO_SD "\xf3\xb0\x9f\x9c" // U+F07DC micro-sd -#define ICON_MD_MICROPHONE "\xf3\xb0\x8d\xac" // U+F036C microphone, aliases: keyboard-voice, tags: Music -#define ICON_MD_MICROPHONE_MESSAGE "\xf3\xb0\x94\x8a" // U+F050A microphone-message, aliases: tts, text-to-speech -#define ICON_MD_MICROPHONE_MESSAGE_OFF "\xf3\xb0\x94\x8b" // U+F050B microphone-message-off, aliases: tts-off, text-to-speech-off -#define ICON_MD_MICROPHONE_MINUS "\xf3\xb0\xa2\xb3" // U+F08B3 microphone-minus, aliases: microphone-remove -#define ICON_MD_MICROPHONE_OFF "\xf3\xb0\x8d\xad" // U+F036D microphone-off, aliases: mic-off, tags: Music -#define ICON_MD_MICROPHONE_OUTLINE "\xf3\xb0\x8d\xae" // U+F036E microphone-outline, aliases: mic-none, tags: Music -#define ICON_MD_MICROPHONE_PLUS "\xf3\xb0\xa2\xb4" // U+F08B4 microphone-plus, aliases: microphone-add -#define ICON_MD_MICROPHONE_QUESTION "\xf3\xb1\xa6\x89" // U+F1989 microphone-question, aliases: microphone-help, tags: Audio, Music -#define ICON_MD_MICROPHONE_QUESTION_OUTLINE "\xf3\xb1\xa6\x8a" // U+F198A microphone-question-outline, aliases: microphone-help-outline, tags: Audio, Music -#define ICON_MD_MICROPHONE_SETTINGS "\xf3\xb0\x8d\xaf" // U+F036F microphone-settings, aliases: settings-voice, tags: Settings -#define ICON_MD_MICROPHONE_VARIANT "\xf3\xb0\x8d\xb0" // U+F0370 microphone-variant, tags: Music -#define ICON_MD_MICROPHONE_VARIANT_OFF "\xf3\xb0\x8d\xb1" // U+F0371 microphone-variant-off, tags: Music -#define ICON_MD_MICROSCOPE "\xf3\xb0\x99\x94" // U+F0654 microscope, tags: Science -#define ICON_MD_MICROSOFT "\xf3\xb0\x8d\xb2" // U+F0372 microsoft, tags: Brand / Logo -#define ICON_MD_MICROSOFT_ACCESS "\xf3\xb1\x8e\x8e" // U+F138E microsoft-access, tags: Brand / Logo -#define ICON_MD_MICROSOFT_AZURE "\xf3\xb0\xa0\x85" // U+F0805 microsoft-azure, tags: Brand / Logo -#define ICON_MD_MICROSOFT_AZURE_DEVOPS "\xf3\xb0\xbf\x95" // U+F0FD5 microsoft-azure-devops, tags: Brand / Logo -#define ICON_MD_MICROSOFT_BING "\xf3\xb0\x82\xa4" // U+F00A4 microsoft-bing, tags: Brand / Logo -#define ICON_MD_MICROSOFT_DYNAMICS_365 "\xf3\xb0\xa6\x88" // U+F0988 microsoft-dynamics-365, tags: Brand / Logo -#define ICON_MD_MICROSOFT_EDGE "\xf3\xb0\x87\xa9" // U+F01E9 microsoft-edge, aliases: microsoft-edge, tags: Brand / Logo -#define ICON_MD_MICROSOFT_EXCEL "\xf3\xb1\x8e\x8f" // U+F138F microsoft-excel, tags: Brand / Logo -#define ICON_MD_MICROSOFT_INTERNET_EXPLORER "\xf3\xb0\x8c\x80" // U+F0300 microsoft-internet-explorer, tags: Brand / Logo -#define ICON_MD_MICROSOFT_OFFICE "\xf3\xb0\x8f\x86" // U+F03C6 microsoft-office, tags: Brand / Logo -#define ICON_MD_MICROSOFT_ONEDRIVE "\xf3\xb0\x8f\x8a" // U+F03CA microsoft-onedrive, tags: Brand / Logo -#define ICON_MD_MICROSOFT_ONENOTE "\xf3\xb0\x9d\x87" // U+F0747 microsoft-onenote, tags: Brand / Logo -#define ICON_MD_MICROSOFT_OUTLOOK "\xf3\xb0\xb4\xa2" // U+F0D22 microsoft-outlook, tags: Brand / Logo -#define ICON_MD_MICROSOFT_POWERPOINT "\xf3\xb1\x8e\x90" // U+F1390 microsoft-powerpoint, tags: Brand / Logo -#define ICON_MD_MICROSOFT_SHAREPOINT "\xf3\xb1\x8e\x91" // U+F1391 microsoft-sharepoint, tags: Brand / Logo -#define ICON_MD_MICROSOFT_TEAMS "\xf3\xb0\x8a\xbb" // U+F02BB microsoft-teams, tags: Brand / Logo -#define ICON_MD_MICROSOFT_VISUAL_STUDIO "\xf3\xb0\x98\x90" // U+F0610 microsoft-visual-studio, aliases: visualstudio, tags: Brand / Logo -#define ICON_MD_MICROSOFT_VISUAL_STUDIO_CODE "\xf3\xb0\xa8\x9e" // U+F0A1E microsoft-visual-studio-code, aliases: vs-code, tags: Developer / Languages, Brand / Logo -#define ICON_MD_MICROSOFT_WINDOWS "\xf3\xb0\x96\xb3" // U+F05B3 microsoft-windows, aliases: microsoft-windows, tags: Brand / Logo, Gaming / RPG -#define ICON_MD_MICROSOFT_WINDOWS_CLASSIC "\xf3\xb0\xa8\xa1" // U+F0A21 microsoft-windows-classic, tags: Brand / Logo -#define ICON_MD_MICROSOFT_WORD "\xf3\xb1\x8e\x92" // U+F1392 microsoft-word, tags: Brand / Logo -#define ICON_MD_MICROSOFT_XBOX "\xf3\xb0\x96\xb9" // U+F05B9 microsoft-xbox, aliases: xbox-live, microsoft, tags: Social Media, Brand / Logo, Gaming / RPG -#define ICON_MD_MICROSOFT_XBOX_CONTROLLER "\xf3\xb0\x96\xba" // U+F05BA microsoft-xbox-controller, aliases: microsoft-xbox-gamepad, tags: Gaming / RPG -#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_BATTERY_ALERT "\xf3\xb0\x9d\x8b" // U+F074B microsoft-xbox-controller-battery-alert, aliases: xbox-controller-battery-warning, microsoft-xbox-gamepad-battery-alert, tags: Battery, Gaming / RPG, Alert / Error -#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_BATTERY_CHARGING "\xf3\xb0\xa8\xa2" // U+F0A22 microsoft-xbox-controller-battery-charging, aliases: microsoft-xbox-gamepad-battery-charging, tags: Gaming / RPG, Battery -#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_BATTERY_EMPTY "\xf3\xb0\x9d\x8c" // U+F074C microsoft-xbox-controller-battery-empty, aliases: microsoft-xbox-gamepad-battery-empty, tags: Battery, Gaming / RPG -#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_BATTERY_FULL "\xf3\xb0\x9d\x8d" // U+F074D microsoft-xbox-controller-battery-full, aliases: microsoft-xbox-gamepad-battery-full, tags: Battery, Gaming / RPG -#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_BATTERY_LOW "\xf3\xb0\x9d\x8e" // U+F074E microsoft-xbox-controller-battery-low, aliases: microsoft-xbox-gamepad-battery-low, tags: Battery, Gaming / RPG -#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_BATTERY_MEDIUM "\xf3\xb0\x9d\x8f" // U+F074F microsoft-xbox-controller-battery-medium, aliases: microsoft-xbox-gamepad-battery-medium, tags: Battery, Gaming / RPG -#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_BATTERY_UNKNOWN "\xf3\xb0\x9d\x90" // U+F0750 microsoft-xbox-controller-battery-unknown, aliases: microsoft-xbox-gamepad-battery-unknown, tags: Battery, Gaming / RPG -#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_MENU "\xf3\xb0\xb9\xaf" // U+F0E6F microsoft-xbox-controller-menu, tags: Gaming / RPG -#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_OFF "\xf3\xb0\x96\xbb" // U+F05BB microsoft-xbox-controller-off, aliases: microsoft-xbox-gamepad-off, tags: Gaming / RPG -#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_VIEW "\xf3\xb0\xb9\xb0" // U+F0E70 microsoft-xbox-controller-view, tags: Gaming / RPG -#define ICON_MD_MICROWAVE "\xf3\xb0\xb2\x99" // U+F0C99 microwave, aliases: microwave-oven, tags: Home Automation, Food / Drink -#define ICON_MD_MICROWAVE_OFF "\xf3\xb1\x90\xa3" // U+F1423 microwave-off, tags: Home Automation -#define ICON_MD_MIDDLEWARE "\xf3\xb0\xbd\x9d" // U+F0F5D middleware, tags: Arrow -#define ICON_MD_MIDDLEWARE_OUTLINE "\xf3\xb0\xbd\x9e" // U+F0F5E middleware-outline, tags: Arrow -#define ICON_MD_MIDI "\xf3\xb0\xa3\xb1" // U+F08F1 midi, tags: Brand / Logo, Music -#define ICON_MD_MIDI_PORT "\xf3\xb0\xa3\xb2" // U+F08F2 midi-port, tags: Music -#define ICON_MD_MINE "\xf3\xb0\xb7\x9a" // U+F0DDA mine -#define ICON_MD_MINECRAFT "\xf3\xb0\x8d\xb3" // U+F0373 minecraft, aliases: microsoft-minecraft, tags: Brand / Logo -#define ICON_MD_MINI_SD "\xf3\xb0\xa8\x85" // U+F0A05 mini-sd -#define ICON_MD_MINIDISC "\xf3\xb0\xa8\x86" // U+F0A06 minidisc -#define ICON_MD_MINUS "\xf3\xb0\x8d\xb4" // U+F0374 minus, aliases: remove, horizontal-line, minimize, tags: Math -#define ICON_MD_MINUS_BOX "\xf3\xb0\x8d\xb5" // U+F0375 minus-box, aliases: indeterminate-check-box, tags: Math -#define ICON_MD_MINUS_BOX_MULTIPLE "\xf3\xb1\x85\x81" // U+F1141 minus-box-multiple, aliases: library-minus -#define ICON_MD_MINUS_BOX_MULTIPLE_OUTLINE "\xf3\xb1\x85\x82" // U+F1142 minus-box-multiple-outline, aliases: library-minus-outline -#define ICON_MD_MINUS_BOX_OUTLINE "\xf3\xb0\x9b\xb2" // U+F06F2 minus-box-outline, aliases: checkbox-indeterminate-outline, tags: Math -#define ICON_MD_MINUS_CIRCLE "\xf3\xb0\x8d\xb6" // U+F0376 minus-circle, aliases: do-not-disturb-on, remove-circle, do-not-enter, pill-tablet, medicine, pharmaceutical, tags: Transportation + Road, Medical / Hospital -#define ICON_MD_MINUS_CIRCLE_MULTIPLE "\xf3\xb0\x8d\x9a" // U+F035A minus-circle-multiple, aliases: coins-minus -#define ICON_MD_MINUS_CIRCLE_MULTIPLE_OUTLINE "\xf3\xb0\xab\x93" // U+F0AD3 minus-circle-multiple-outline, aliases: coins-minus-outline -#define ICON_MD_MINUS_CIRCLE_OFF "\xf3\xb1\x91\x99" // U+F1459 minus-circle-off, aliases: do-not-disturb-off, remove-circle-off, do-not-enter-off -#define ICON_MD_MINUS_CIRCLE_OFF_OUTLINE "\xf3\xb1\x91\x9a" // U+F145A minus-circle-off-outline, aliases: do-not-disturb-off-outline, remove-circle-off-outline, do-not-enter-off-outline -#define ICON_MD_MINUS_CIRCLE_OUTLINE "\xf3\xb0\x8d\xb7" // U+F0377 minus-circle-outline, aliases: remove-circle-outline, do-not-enter-outline, do-not-disturb-outline, pill-tablet-outline, medicine-outline, pharmaceutical, tags: Transportation + Road, Medical / Hospital -#define ICON_MD_MINUS_NETWORK "\xf3\xb0\x8d\xb8" // U+F0378 minus-network -#define ICON_MD_MINUS_NETWORK_OUTLINE "\xf3\xb0\xb2\x9a" // U+F0C9A minus-network-outline -#define ICON_MD_MINUS_THICK "\xf3\xb1\x98\xb9" // U+F1639 minus-thick -#define ICON_MD_MIRROR "\xf3\xb1\x87\xbd" // U+F11FD mirror, tags: Home Automation -#define ICON_MD_MIRROR_RECTANGLE "\xf3\xb1\x9e\x9f" // U+F179F mirror-rectangle, tags: Home Automation -#define ICON_MD_MIRROR_VARIANT "\xf3\xb1\x9e\xa0" // U+F17A0 mirror-variant, tags: Home Automation -#define ICON_MD_MIXED_MARTIAL_ARTS "\xf3\xb0\xb6\x8f" // U+F0D8F mixed-martial-arts, aliases: mma, glove, tags: Sport -#define ICON_MD_MIXED_REALITY "\xf3\xb0\xa1\xbf" // U+F087F mixed-reality -#define ICON_MD_MOLECULE "\xf3\xb0\xae\xac" // U+F0BAC molecule, tags: Science -#define ICON_MD_MOLECULE_CO "\xf3\xb1\x8b\xbe" // U+F12FE molecule-co, aliases: carbon-monoxide, gas-co, tags: Home Automation, Science -#define ICON_MD_MOLECULE_CO2 "\xf3\xb0\x9f\xa4" // U+F07E4 molecule-co2, aliases: periodic-table-carbon-dioxide, gas-co2, tags: Science, Home Automation -#define ICON_MD_MONITOR "\xf3\xb0\x8d\xb9" // U+F0379 monitor, aliases: desktop-windows, tags: Device / Tech -#define ICON_MD_MONITOR_ACCOUNT "\xf3\xb1\xa9\x9b" // U+F1A5B monitor-account, aliases: teleconference, virtual-meeting, video-chat, tags: Account / User, Device / Tech -#define ICON_MD_MONITOR_ARROW_DOWN "\xf3\xb1\xa7\x90" // U+F19D0 monitor-arrow-down, aliases: monitor-download, tags: Device / Tech -#define ICON_MD_MONITOR_ARROW_DOWN_VARIANT "\xf3\xb1\xa7\x91" // U+F19D1 monitor-arrow-down-variant, aliases: monitor-download, tags: Device / Tech -#define ICON_MD_MONITOR_CELLPHONE "\xf3\xb0\xa6\x89" // U+F0989 monitor-cellphone, aliases: monitor-mobile-phone, monitor-smartphone, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_MONITOR_CELLPHONE_STAR "\xf3\xb0\xa6\x8a" // U+F098A monitor-cellphone-star, aliases: important-devices, monitor-mobile-phone-star, monitor-smartphone-star, monitor-cellphone-favorite, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_MONITOR_DASHBOARD "\xf3\xb0\xa8\x87" // U+F0A07 monitor-dashboard, tags: Device / Tech -#define ICON_MD_MONITOR_EDIT "\xf3\xb1\x8b\x86" // U+F12C6 monitor-edit, tags: Edit / Modify -#define ICON_MD_MONITOR_EYE "\xf3\xb1\x8e\xb4" // U+F13B4 monitor-eye -#define ICON_MD_MONITOR_LOCK "\xf3\xb0\xb7\x9b" // U+F0DDB monitor-lock, tags: Device / Tech, Lock -#define ICON_MD_MONITOR_MULTIPLE "\xf3\xb0\x8d\xba" // U+F037A monitor-multiple, aliases: monitors, tags: Device / Tech -#define ICON_MD_MONITOR_OFF "\xf3\xb0\xb6\x90" // U+F0D90 monitor-off, tags: Device / Tech -#define ICON_MD_MONITOR_SCREENSHOT "\xf3\xb0\xb9\x91" // U+F0E51 monitor-screenshot, tags: Device / Tech -#define ICON_MD_MONITOR_SHARE "\xf3\xb1\x92\x83" // U+F1483 monitor-share -#define ICON_MD_MONITOR_SHIMMER "\xf3\xb1\x84\x84" // U+F1104 monitor-shimmer, aliases: monitor-clean, tags: Device / Tech -#define ICON_MD_MONITOR_SMALL "\xf3\xb1\xa1\xb6" // U+F1876 monitor-small, aliases: monitor-crt, tags: Device / Tech -#define ICON_MD_MONITOR_SPEAKER "\xf3\xb0\xbd\x9f" // U+F0F5F monitor-speaker, tags: Device / Tech -#define ICON_MD_MONITOR_SPEAKER_OFF "\xf3\xb0\xbd\xa0" // U+F0F60 monitor-speaker-off, tags: Device / Tech -#define ICON_MD_MONITOR_STAR "\xf3\xb0\xb7\x9c" // U+F0DDC monitor-star, aliases: monitor-favorite, tags: Device / Tech -#define ICON_MD_MOON_FIRST_QUARTER "\xf3\xb0\xbd\xa1" // U+F0F61 moon-first-quarter, tags: Weather -#define ICON_MD_MOON_FULL "\xf3\xb0\xbd\xa2" // U+F0F62 moon-full, tags: Weather -#define ICON_MD_MOON_LAST_QUARTER "\xf3\xb0\xbd\xa3" // U+F0F63 moon-last-quarter, tags: Weather -#define ICON_MD_MOON_NEW "\xf3\xb0\xbd\xa4" // U+F0F64 moon-new, tags: Weather -#define ICON_MD_MOON_WANING_CRESCENT "\xf3\xb0\xbd\xa5" // U+F0F65 moon-waning-crescent, tags: Weather -#define ICON_MD_MOON_WANING_GIBBOUS "\xf3\xb0\xbd\xa6" // U+F0F66 moon-waning-gibbous, tags: Weather -#define ICON_MD_MOON_WAXING_CRESCENT "\xf3\xb0\xbd\xa7" // U+F0F67 moon-waxing-crescent, tags: Weather -#define ICON_MD_MOON_WAXING_GIBBOUS "\xf3\xb0\xbd\xa8" // U+F0F68 moon-waxing-gibbous, tags: Weather -#define ICON_MD_MOPED "\xf3\xb1\x82\x86" // U+F1086 moped, aliases: scooter, vespa, delivery-dining, tags: Transportation + Road, Transportation + Other -#define ICON_MD_MOPED_ELECTRIC "\xf3\xb1\x96\xb7" // U+F15B7 moped-electric, aliases: scooter-electric, vespa-electric, delivery-dining-electric, tags: Transportation + Road -#define ICON_MD_MOPED_ELECTRIC_OUTLINE "\xf3\xb1\x96\xb8" // U+F15B8 moped-electric-outline, aliases: scooter-electric-outline, vespa-electric-outline, delivery-dining-electric-outline, tags: Transportation + Road -#define ICON_MD_MOPED_OUTLINE "\xf3\xb1\x96\xb9" // U+F15B9 moped-outline, aliases: scooter-outline, vespa-outline, delivery-dining-outline, tags: Transportation + Road -#define ICON_MD_MORE "\xf3\xb0\x8d\xbb" // U+F037B more -#define ICON_MD_MORTAR_PESTLE "\xf3\xb1\x9d\x88" // U+F1748 mortar-pestle -#define ICON_MD_MORTAR_PESTLE_PLUS "\xf3\xb0\x8f\xb1" // U+F03F1 mortar-pestle-plus, aliases: chemist, local-pharmacy, mortar-pestle, pharmaceutical, tags: Medical / Hospital -#define ICON_MD_MOSQUE "\xf3\xb0\xb5\x85" // U+F0D45 mosque, aliases: islam, muslim, tags: Religion -#define ICON_MD_MOSQUE_OUTLINE "\xf3\xb1\xa0\xa7" // U+F1827 mosque-outline, aliases: islam, muslim, tags: Places, Religion -#define ICON_MD_MOTHER_HEART "\xf3\xb1\x8c\x94" // U+F1314 mother-heart, tags: People / Family -#define ICON_MD_MOTHER_NURSE "\xf3\xb0\xb4\xa1" // U+F0D21 mother-nurse, aliases: breast-feed, tags: Medical / Hospital, People / Family -#define ICON_MD_MOTION "\xf3\xb1\x96\xb2" // U+F15B2 motion -#define ICON_MD_MOTION_OUTLINE "\xf3\xb1\x96\xb3" // U+F15B3 motion-outline -#define ICON_MD_MOTION_PAUSE "\xf3\xb1\x96\x90" // U+F1590 motion-pause, tags: Video / Movie -#define ICON_MD_MOTION_PAUSE_OUTLINE "\xf3\xb1\x96\x92" // U+F1592 motion-pause-outline, tags: Video / Movie -#define ICON_MD_MOTION_PLAY "\xf3\xb1\x96\x8f" // U+F158F motion-play, tags: Video / Movie -#define ICON_MD_MOTION_PLAY_OUTLINE "\xf3\xb1\x96\x91" // U+F1591 motion-play-outline, tags: Video / Movie -#define ICON_MD_MOTION_SENSOR "\xf3\xb0\xb6\x91" // U+F0D91 motion-sensor, aliases: motion-detector, tags: Home Automation -#define ICON_MD_MOTION_SENSOR_OFF "\xf3\xb1\x90\xb5" // U+F1435 motion-sensor-off, tags: Home Automation -#define ICON_MD_MOTORBIKE "\xf3\xb0\x8d\xbc" // U+F037C motorbike, aliases: motorcycle, tags: Transportation + Road, Sport -#define ICON_MD_MOTORBIKE_ELECTRIC "\xf3\xb1\x96\xba" // U+F15BA motorbike-electric, aliases: motorcycle-electric, tags: Transportation + Road -#define ICON_MD_MOTORBIKE_OFF "\xf3\xb1\xac\x96" // U+F1B16 motorbike-off, aliases: motorcycle-off, tags: Transportation + Road -#define ICON_MD_MOUSE "\xf3\xb0\x8d\xbd" // U+F037D mouse -#define ICON_MD_MOUSE_BLUETOOTH "\xf3\xb0\xa6\x8b" // U+F098B mouse-bluetooth -#define ICON_MD_MOUSE_MOVE_DOWN "\xf3\xb1\x95\x90" // U+F1550 mouse-move-down -#define ICON_MD_MOUSE_MOVE_UP "\xf3\xb1\x95\x91" // U+F1551 mouse-move-up -#define ICON_MD_MOUSE_MOVE_VERTICAL "\xf3\xb1\x95\x92" // U+F1552 mouse-move-vertical -#define ICON_MD_MOUSE_OFF "\xf3\xb0\x8d\xbe" // U+F037E mouse-off -#define ICON_MD_MOUSE_VARIANT "\xf3\xb0\x8d\xbf" // U+F037F mouse-variant -#define ICON_MD_MOUSE_VARIANT_OFF "\xf3\xb0\x8e\x80" // U+F0380 mouse-variant-off -#define ICON_MD_MOVE_RESIZE "\xf3\xb0\x99\x95" // U+F0655 move-resize -#define ICON_MD_MOVE_RESIZE_VARIANT "\xf3\xb0\x99\x96" // U+F0656 move-resize-variant -#define ICON_MD_MOVIE "\xf3\xb0\x8e\x81" // U+F0381 movie, aliases: slate, clapperboard, film, movie-creation, tags: Video / Movie -#define ICON_MD_MOVIE_CHECK "\xf3\xb1\x9b\xb3" // U+F16F3 movie-check, aliases: slate-check, clapperboard-check, film-check, tags: Video / Movie -#define ICON_MD_MOVIE_CHECK_OUTLINE "\xf3\xb1\x9b\xb4" // U+F16F4 movie-check-outline, aliases: slate-check-outline, clapperboard-check-outline, film-check-outline, tags: Video / Movie -#define ICON_MD_MOVIE_COG "\xf3\xb1\x9b\xb5" // U+F16F5 movie-cog, aliases: slate-cog, clapperboard-cog, film-cog, tags: Video / Movie -#define ICON_MD_MOVIE_COG_OUTLINE "\xf3\xb1\x9b\xb6" // U+F16F6 movie-cog-outline, aliases: slate-cog-outline, clapperboard-cog-outline, film-cog-outline, tags: Video / Movie -#define ICON_MD_MOVIE_EDIT "\xf3\xb1\x84\xa2" // U+F1122 movie-edit, aliases: slate-edit, clapperboard-edit, film-edit, tags: Video / Movie, Edit / Modify -#define ICON_MD_MOVIE_EDIT_OUTLINE "\xf3\xb1\x84\xa3" // U+F1123 movie-edit-outline, aliases: slate-edit-outline, clapperboard-edit-outline, film-edit-outline, tags: Video / Movie, Edit / Modify -#define ICON_MD_MOVIE_FILTER "\xf3\xb1\x84\xa4" // U+F1124 movie-filter, tags: Video / Movie -#define ICON_MD_MOVIE_FILTER_OUTLINE "\xf3\xb1\x84\xa5" // U+F1125 movie-filter-outline, tags: Video / Movie -#define ICON_MD_MOVIE_MINUS "\xf3\xb1\x9b\xb7" // U+F16F7 movie-minus, aliases: slate-minus, clapperboard-minus, film-minus, tags: Video / Movie -#define ICON_MD_MOVIE_MINUS_OUTLINE "\xf3\xb1\x9b\xb8" // U+F16F8 movie-minus-outline, aliases: slate-minus-outline, clapperboard-minus-outline, film-minus-outline, tags: Video / Movie -#define ICON_MD_MOVIE_OFF "\xf3\xb1\x9b\xb9" // U+F16F9 movie-off, aliases: slate-off, clapperboard-off, film-off, tags: Video / Movie -#define ICON_MD_MOVIE_OFF_OUTLINE "\xf3\xb1\x9b\xba" // U+F16FA movie-off-outline, aliases: slate-off-outline, clapperboard-off-outline, film-off-outline, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN "\xf3\xb0\xbf\x8e" // U+F0FCE movie-open, aliases: slate-open, clapperboard-open, film-open, movie-creation, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN_CHECK "\xf3\xb1\x9b\xbb" // U+F16FB movie-open-check, aliases: slate-open-check, clapperboard-open-check, film-open-check, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN_CHECK_OUTLINE "\xf3\xb1\x9b\xbc" // U+F16FC movie-open-check-outline, aliases: slate-open-check-outline, clapperboard-open-check-outline, film-open-check-outline, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN_COG "\xf3\xb1\x9b\xbd" // U+F16FD movie-open-cog, aliases: slate-open-cog, clapperboard-open-cog, film-open-cog, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN_COG_OUTLINE "\xf3\xb1\x9b\xbe" // U+F16FE movie-open-cog-outline, aliases: slate-open-cog-outline, clapperboard-open-cog-outline, film-open-cog-outline, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN_EDIT "\xf3\xb1\x9b\xbf" // U+F16FF movie-open-edit, aliases: slate-open-edit, clapperboard-open-edit, film-open-edit, tags: Video / Movie, Edit / Modify -#define ICON_MD_MOVIE_OPEN_EDIT_OUTLINE "\xf3\xb1\x9c\x80" // U+F1700 movie-open-edit-outline, aliases: slate-open-edit-outline, clapperboard-open-edit-outline, film-open-edit-outline, tags: Video / Movie, Edit / Modify -#define ICON_MD_MOVIE_OPEN_MINUS "\xf3\xb1\x9c\x81" // U+F1701 movie-open-minus, aliases: slate-open-minus, clapperboard-open-minus, film-open-minus, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN_MINUS_OUTLINE "\xf3\xb1\x9c\x82" // U+F1702 movie-open-minus-outline, aliases: slate-open-minus-outline, clapperboard-open-minus-outline, film-open-minus-outline, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN_OFF "\xf3\xb1\x9c\x83" // U+F1703 movie-open-off, aliases: slate-open-off, clapperboard-open-off, film-open-off, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN_OFF_OUTLINE "\xf3\xb1\x9c\x84" // U+F1704 movie-open-off-outline, aliases: slate-open-off-outline, clapperboard-open-off-outline, film-open-off-outline, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN_OUTLINE "\xf3\xb0\xbf\x8f" // U+F0FCF movie-open-outline, aliases: slate-open-outline, clapperboard-open-outline, film-open-outline, movie-creation, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN_PLAY "\xf3\xb1\x9c\x85" // U+F1705 movie-open-play, aliases: slate-open-play, clapperboard-open-play, film-open-play, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN_PLAY_OUTLINE "\xf3\xb1\x9c\x86" // U+F1706 movie-open-play-outline, aliases: slate-open-play-outline, clapperboard-open-play-outline, film-open-play-outline, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN_PLUS "\xf3\xb1\x9c\x87" // U+F1707 movie-open-plus, aliases: clapperboard-open-plus, slate-open-plus, flim-open-plus, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN_PLUS_OUTLINE "\xf3\xb1\x9c\x88" // U+F1708 movie-open-plus-outline, aliases: slate-open-plus-outline, clapperboard-open-plus-outline, film-open-plus-outline, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN_REMOVE "\xf3\xb1\x9c\x89" // U+F1709 movie-open-remove, aliases: slate-open-remove, clapperboard-open-remove, film-open-remove, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN_REMOVE_OUTLINE "\xf3\xb1\x9c\x8a" // U+F170A movie-open-remove-outline, aliases: slate-open-remove-outline, clapperboard-open-remove-outline, film-open-remove-outline, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN_SETTINGS "\xf3\xb1\x9c\x8b" // U+F170B movie-open-settings, aliases: slate-open-settings, clapperboard-open-settings, film-open-settings, tags: Video / Movie, Settings -#define ICON_MD_MOVIE_OPEN_SETTINGS_OUTLINE "\xf3\xb1\x9c\x8c" // U+F170C movie-open-settings-outline, aliases: slate-open-settings-outline, clapperboard-open-settings-outline, film-open-settings-outline, tags: Video / Movie, Settings -#define ICON_MD_MOVIE_OPEN_STAR "\xf3\xb1\x9c\x8d" // U+F170D movie-open-star, aliases: slate-open-star, clapperboard-open-star, film-open-star, movie-open-favorite, tags: Video / Movie -#define ICON_MD_MOVIE_OPEN_STAR_OUTLINE "\xf3\xb1\x9c\x8e" // U+F170E movie-open-star-outline, aliases: slate-open-star-outline, clapperboard-open-star-outline, film-open-star-outline, movie-open-favorite-outline, tags: Video / Movie -#define ICON_MD_MOVIE_OUTLINE "\xf3\xb0\xb7\x9d" // U+F0DDD movie-outline, aliases: slate-outline, clapperboard-outline, film-outline, tags: Video / Movie -#define ICON_MD_MOVIE_PLAY "\xf3\xb1\x9c\x8f" // U+F170F movie-play, aliases: slate-play, clapperboard-play, film-play, tags: Video / Movie -#define ICON_MD_MOVIE_PLAY_OUTLINE "\xf3\xb1\x9c\x90" // U+F1710 movie-play-outline, aliases: slate-play-outline, clapperboard-play-outline, film-play-outline, tags: Video / Movie -#define ICON_MD_MOVIE_PLUS "\xf3\xb1\x9c\x91" // U+F1711 movie-plus, aliases: slate-plus, clapperboard-plus, film-plus, tags: Video / Movie -#define ICON_MD_MOVIE_PLUS_OUTLINE "\xf3\xb1\x9c\x92" // U+F1712 movie-plus-outline, aliases: slate-plus-outline, clapperboard-plus-outline, film-plus-outline, tags: Video / Movie -#define ICON_MD_MOVIE_REMOVE "\xf3\xb1\x9c\x93" // U+F1713 movie-remove, aliases: slate-remove, clapperboard-remove, film-remove, tags: Video / Movie -#define ICON_MD_MOVIE_REMOVE_OUTLINE "\xf3\xb1\x9c\x94" // U+F1714 movie-remove-outline, aliases: slate-remove-outline, clapperboard-remove-outline, film-remove-outline, tags: Video / Movie -#define ICON_MD_MOVIE_ROLL "\xf3\xb0\x9f\x9e" // U+F07DE movie-roll, aliases: film-reel, tags: Video / Movie -#define ICON_MD_MOVIE_SEARCH "\xf3\xb1\x87\x92" // U+F11D2 movie-search, tags: Video / Movie -#define ICON_MD_MOVIE_SEARCH_OUTLINE "\xf3\xb1\x87\x93" // U+F11D3 movie-search-outline, tags: Video / Movie -#define ICON_MD_MOVIE_SETTINGS "\xf3\xb1\x9c\x95" // U+F1715 movie-settings, aliases: slate-settings, clapperboard-settings, film-settings, tags: Video / Movie, Settings -#define ICON_MD_MOVIE_SETTINGS_OUTLINE "\xf3\xb1\x9c\x96" // U+F1716 movie-settings-outline, aliases: slate-settings-outline, clapperboard-settings-outline, film-settings-outline, tags: Video / Movie, Settings -#define ICON_MD_MOVIE_STAR "\xf3\xb1\x9c\x97" // U+F1717 movie-star, aliases: slate-star, clapperboard-star, film-star, movie-favorite, tags: Video / Movie -#define ICON_MD_MOVIE_STAR_OUTLINE "\xf3\xb1\x9c\x98" // U+F1718 movie-star-outline, aliases: slate-star-outline, clapperboard-star-outline, film-star-outline, movie-favorite-outline, tags: Video / Movie -#define ICON_MD_MOWER "\xf3\xb1\x99\xaf" // U+F166F mower, tags: Hardware / Tools, Home Automation -#define ICON_MD_MOWER_BAG "\xf3\xb1\x99\xb0" // U+F1670 mower-bag, tags: Hardware / Tools, Home Automation -#define ICON_MD_MOWER_BAG_ON "\xf3\xb1\xad\xa0" // U+F1B60 mower-bag-on, tags: Hardware / Tools, Home Automation -#define ICON_MD_MOWER_ON "\xf3\xb1\xad\x9f" // U+F1B5F mower-on, tags: Hardware / Tools, Home Automation -#define ICON_MD_MUFFIN "\xf3\xb0\xa6\x8c" // U+F098C muffin, tags: Food / Drink -#define ICON_MD_MULTICAST "\xf3\xb1\xa2\x93" // U+F1893 multicast, aliases: multiplex, broadcast -#define ICON_MD_MULTIMEDIA "\xf3\xb1\xae\x97" // U+F1B97 multimedia, aliases: audio, video, image, music, movie, picture, tags: Audio, Video / Movie, Photography -#define ICON_MD_MULTIPLICATION "\xf3\xb0\x8e\x82" // U+F0382 multiplication, tags: Math -#define ICON_MD_MULTIPLICATION_BOX "\xf3\xb0\x8e\x83" // U+F0383 multiplication-box, tags: Math -#define ICON_MD_MUSHROOM "\xf3\xb0\x9f\x9f" // U+F07DF mushroom, aliases: fungus, tags: Nature, Food / Drink, Agriculture -#define ICON_MD_MUSHROOM_OFF "\xf3\xb1\x8f\xba" // U+F13FA mushroom-off, tags: Food / Drink, Nature, Agriculture -#define ICON_MD_MUSHROOM_OFF_OUTLINE "\xf3\xb1\x8f\xbb" // U+F13FB mushroom-off-outline, tags: Food / Drink, Nature, Agriculture -#define ICON_MD_MUSHROOM_OUTLINE "\xf3\xb0\x9f\xa0" // U+F07E0 mushroom-outline, aliases: fungus-outline, tags: Nature, Food / Drink, Agriculture -#define ICON_MD_MUSIC "\xf3\xb0\x9d\x9a" // U+F075A music, tags: Audio, Music -#define ICON_MD_MUSIC_ACCIDENTAL_DOUBLE_FLAT "\xf3\xb0\xbd\xa9" // U+F0F69 music-accidental-double-flat, tags: Music -#define ICON_MD_MUSIC_ACCIDENTAL_DOUBLE_SHARP "\xf3\xb0\xbd\xaa" // U+F0F6A music-accidental-double-sharp, tags: Music -#define ICON_MD_MUSIC_ACCIDENTAL_FLAT "\xf3\xb0\xbd\xab" // U+F0F6B music-accidental-flat, tags: Music -#define ICON_MD_MUSIC_ACCIDENTAL_NATURAL "\xf3\xb0\xbd\xac" // U+F0F6C music-accidental-natural, tags: Music -#define ICON_MD_MUSIC_ACCIDENTAL_SHARP "\xf3\xb0\xbd\xad" // U+F0F6D music-accidental-sharp, tags: Music -#define ICON_MD_MUSIC_BOX "\xf3\xb0\x8e\x84" // U+F0384 music-box, tags: Audio, Music -#define ICON_MD_MUSIC_BOX_MULTIPLE "\xf3\xb0\x8c\xb3" // U+F0333 music-box-multiple, aliases: library-music, tags: Music -#define ICON_MD_MUSIC_BOX_MULTIPLE_OUTLINE "\xf3\xb0\xbc\x84" // U+F0F04 music-box-multiple-outline, aliases: library-music-outline, tags: Music -#define ICON_MD_MUSIC_BOX_OUTLINE "\xf3\xb0\x8e\x85" // U+F0385 music-box-outline, tags: Audio, Music -#define ICON_MD_MUSIC_CIRCLE "\xf3\xb0\x8e\x86" // U+F0386 music-circle, aliases: note-circle, tags: Audio, Music -#define ICON_MD_MUSIC_CIRCLE_OUTLINE "\xf3\xb0\xab\x94" // U+F0AD4 music-circle-outline, aliases: note-circle-outline, tags: Music, Audio -#define ICON_MD_MUSIC_CLEF_ALTO "\xf3\xb0\xbd\xae" // U+F0F6E music-clef-alto, aliases: music-c-clef, music-clef-tenor, music-clef-soprano, music-clef-baritone, tags: Music -#define ICON_MD_MUSIC_CLEF_BASS "\xf3\xb0\xbd\xaf" // U+F0F6F music-clef-bass, aliases: music-f-clef, tags: Music -#define ICON_MD_MUSIC_CLEF_TREBLE "\xf3\xb0\xbd\xb0" // U+F0F70 music-clef-treble, aliases: music-g-clef, tags: Music -#define ICON_MD_MUSIC_NOTE "\xf3\xb0\x8e\x87" // U+F0387 music-note, tags: Audio, Music -#define ICON_MD_MUSIC_NOTE_BLUETOOTH "\xf3\xb0\x97\xbe" // U+F05FE music-note-bluetooth, tags: Audio, Music -#define ICON_MD_MUSIC_NOTE_BLUETOOTH_OFF "\xf3\xb0\x97\xbf" // U+F05FF music-note-bluetooth-off, tags: Audio, Music -#define ICON_MD_MUSIC_NOTE_EIGHTH "\xf3\xb0\x8e\x88" // U+F0388 music-note-eighth, tags: Audio, Music -#define ICON_MD_MUSIC_NOTE_EIGHTH_DOTTED "\xf3\xb0\xbd\xb1" // U+F0F71 music-note-eighth-dotted, tags: Music -#define ICON_MD_MUSIC_NOTE_HALF "\xf3\xb0\x8e\x89" // U+F0389 music-note-half, tags: Audio, Music -#define ICON_MD_MUSIC_NOTE_HALF_DOTTED "\xf3\xb0\xbd\xb2" // U+F0F72 music-note-half-dotted, tags: Music -#define ICON_MD_MUSIC_NOTE_MINUS "\xf3\xb1\xae\x89" // U+F1B89 music-note-minus -#define ICON_MD_MUSIC_NOTE_OFF "\xf3\xb0\x8e\x8a" // U+F038A music-note-off, tags: Audio, Music -#define ICON_MD_MUSIC_NOTE_OFF_OUTLINE "\xf3\xb0\xbd\xb3" // U+F0F73 music-note-off-outline, tags: Music -#define ICON_MD_MUSIC_NOTE_OUTLINE "\xf3\xb0\xbd\xb4" // U+F0F74 music-note-outline, tags: Music -#define ICON_MD_MUSIC_NOTE_PLUS "\xf3\xb0\xb7\x9e" // U+F0DDE music-note-plus, aliases: music-note-add, tags: Audio, Music -#define ICON_MD_MUSIC_NOTE_QUARTER "\xf3\xb0\x8e\x8b" // U+F038B music-note-quarter, tags: Audio, Music -#define ICON_MD_MUSIC_NOTE_QUARTER_DOTTED "\xf3\xb0\xbd\xb5" // U+F0F75 music-note-quarter-dotted, tags: Music -#define ICON_MD_MUSIC_NOTE_SIXTEENTH "\xf3\xb0\x8e\x8c" // U+F038C music-note-sixteenth, tags: Audio, Music -#define ICON_MD_MUSIC_NOTE_SIXTEENTH_DOTTED "\xf3\xb0\xbd\xb6" // U+F0F76 music-note-sixteenth-dotted, tags: Music -#define ICON_MD_MUSIC_NOTE_WHOLE "\xf3\xb0\x8e\x8d" // U+F038D music-note-whole, tags: Audio, Music -#define ICON_MD_MUSIC_NOTE_WHOLE_DOTTED "\xf3\xb0\xbd\xb7" // U+F0F77 music-note-whole-dotted, tags: Music -#define ICON_MD_MUSIC_OFF "\xf3\xb0\x9d\x9b" // U+F075B music-off, tags: Audio, Music -#define ICON_MD_MUSIC_REST_EIGHTH "\xf3\xb0\xbd\xb8" // U+F0F78 music-rest-eighth, tags: Music -#define ICON_MD_MUSIC_REST_HALF "\xf3\xb0\xbd\xb9" // U+F0F79 music-rest-half, tags: Music -#define ICON_MD_MUSIC_REST_QUARTER "\xf3\xb0\xbd\xba" // U+F0F7A music-rest-quarter, tags: Music -#define ICON_MD_MUSIC_REST_SIXTEENTH "\xf3\xb0\xbd\xbb" // U+F0F7B music-rest-sixteenth, tags: Music -#define ICON_MD_MUSIC_REST_WHOLE "\xf3\xb0\xbd\xbc" // U+F0F7C music-rest-whole, tags: Music -#define ICON_MD_MUSTACHE "\xf3\xb1\x97\x9e" // U+F15DE mustache -#define ICON_MD_NAIL "\xf3\xb0\xb7\x9f" // U+F0DDF nail, tags: Hardware / Tools -#define ICON_MD_NAS "\xf3\xb0\xa3\xb3" // U+F08F3 nas, aliases: network-attached-storage -#define ICON_MD_NATIVESCRIPT "\xf3\xb0\xa2\x80" // U+F0880 nativescript, tags: Brand / Logo -#define ICON_MD_NATURE "\xf3\xb0\x8e\x8e" // U+F038E nature, aliases: plant, tags: Nature -#define ICON_MD_NATURE_PEOPLE "\xf3\xb0\x8e\x8f" // U+F038F nature-people, aliases: plant, tags: Account / User -#define ICON_MD_NAVIGATION "\xf3\xb0\x8e\x90" // U+F0390 navigation, aliases: arrow-compass, tags: Navigation -#define ICON_MD_NAVIGATION_OUTLINE "\xf3\xb1\x98\x87" // U+F1607 navigation-outline, tags: Navigation -#define ICON_MD_NAVIGATION_VARIANT "\xf3\xb1\xa3\xb0" // U+F18F0 navigation-variant, tags: Navigation -#define ICON_MD_NAVIGATION_VARIANT_OUTLINE "\xf3\xb1\xa3\xb1" // U+F18F1 navigation-variant-outline, tags: Navigation -#define ICON_MD_NEAR_ME "\xf3\xb0\x97\x8d" // U+F05CD near-me -#define ICON_MD_NECKLACE "\xf3\xb0\xbc\x8b" // U+F0F0B necklace, tags: Clothing -#define ICON_MD_NEEDLE "\xf3\xb0\x8e\x91" // U+F0391 needle, aliases: syringe, injection, medicine, shot, drug, immunization, pharmaceutical, tags: Medical / Hospital -#define ICON_MD_NEEDLE_OFF "\xf3\xb1\xa7\x92" // U+F19D2 needle-off, aliases: syringe-off, injection-off, medicine-off, shot-off, drug-off, immunization-off, pharmaceutical-off, tags: Medical / Hospital -#define ICON_MD_NETFLIX "\xf3\xb0\x9d\x86" // U+F0746 netflix, tags: Brand / Logo -#define ICON_MD_NETWORK "\xf3\xb0\x9b\xb3" // U+F06F3 network -#define ICON_MD_NETWORK_OFF "\xf3\xb0\xb2\x9b" // U+F0C9B network-off -#define ICON_MD_NETWORK_OFF_OUTLINE "\xf3\xb0\xb2\x9c" // U+F0C9C network-off-outline -#define ICON_MD_NETWORK_OUTLINE "\xf3\xb0\xb2\x9d" // U+F0C9D network-outline -#define ICON_MD_NETWORK_POS "\xf3\xb1\xab\x8b" // U+F1ACB network-pos, aliases: network-point-of-sale, network-cash-box, tags: Banking -#define ICON_MD_NETWORK_STRENGTH_1 "\xf3\xb0\xa3\xb4" // U+F08F4 network-strength-1, tags: Cellphone / Phone -#define ICON_MD_NETWORK_STRENGTH_1_ALERT "\xf3\xb0\xa3\xb5" // U+F08F5 network-strength-1-alert, aliases: network-strength-1-warning, tags: Cellphone / Phone, Alert / Error -#define ICON_MD_NETWORK_STRENGTH_2 "\xf3\xb0\xa3\xb6" // U+F08F6 network-strength-2, tags: Cellphone / Phone -#define ICON_MD_NETWORK_STRENGTH_2_ALERT "\xf3\xb0\xa3\xb7" // U+F08F7 network-strength-2-alert, aliases: network-strength-2-warning, tags: Cellphone / Phone, Alert / Error -#define ICON_MD_NETWORK_STRENGTH_3 "\xf3\xb0\xa3\xb8" // U+F08F8 network-strength-3, tags: Cellphone / Phone -#define ICON_MD_NETWORK_STRENGTH_3_ALERT "\xf3\xb0\xa3\xb9" // U+F08F9 network-strength-3-alert, aliases: network-strength-3-warning, tags: Cellphone / Phone, Alert / Error -#define ICON_MD_NETWORK_STRENGTH_4 "\xf3\xb0\xa3\xba" // U+F08FA network-strength-4, tags: Cellphone / Phone -#define ICON_MD_NETWORK_STRENGTH_4_ALERT "\xf3\xb0\xa3\xbb" // U+F08FB network-strength-4-alert, aliases: network-strength-4-warning, tags: Cellphone / Phone, Alert / Error -#define ICON_MD_NETWORK_STRENGTH_4_COG "\xf3\xb1\xa4\x9a" // U+F191A network-strength-4-cog, aliases: network-strength-4-settings, data-settings, tags: Settings -#define ICON_MD_NETWORK_STRENGTH_OFF "\xf3\xb0\xa3\xbc" // U+F08FC network-strength-off, tags: Cellphone / Phone -#define ICON_MD_NETWORK_STRENGTH_OFF_OUTLINE "\xf3\xb0\xa3\xbd" // U+F08FD network-strength-off-outline, tags: Cellphone / Phone -#define ICON_MD_NETWORK_STRENGTH_OUTLINE "\xf3\xb0\xa3\xbe" // U+F08FE network-strength-outline, aliases: network-strength-0, tags: Cellphone / Phone -#define ICON_MD_NEW_BOX "\xf3\xb0\x8e\x94" // U+F0394 new-box, aliases: fiber-new -#define ICON_MD_NEWSPAPER "\xf3\xb0\x8e\x95" // U+F0395 newspaper -#define ICON_MD_NEWSPAPER_CHECK "\xf3\xb1\xa5\x83" // U+F1943 newspaper-check -#define ICON_MD_NEWSPAPER_MINUS "\xf3\xb0\xbc\x8c" // U+F0F0C newspaper-minus -#define ICON_MD_NEWSPAPER_PLUS "\xf3\xb0\xbc\x8d" // U+F0F0D newspaper-plus -#define ICON_MD_NEWSPAPER_REMOVE "\xf3\xb1\xa5\x84" // U+F1944 newspaper-remove -#define ICON_MD_NEWSPAPER_VARIANT "\xf3\xb1\x80\x81" // U+F1001 newspaper-variant -#define ICON_MD_NEWSPAPER_VARIANT_MULTIPLE "\xf3\xb1\x80\x82" // U+F1002 newspaper-variant-multiple -#define ICON_MD_NEWSPAPER_VARIANT_MULTIPLE_OUTLINE "\xf3\xb1\x80\x83" // U+F1003 newspaper-variant-multiple-outline -#define ICON_MD_NEWSPAPER_VARIANT_OUTLINE "\xf3\xb1\x80\x84" // U+F1004 newspaper-variant-outline -#define ICON_MD_NFC "\xf3\xb0\x8e\x96" // U+F0396 nfc, aliases: near-field-communication, tags: Brand / Logo -#define ICON_MD_NFC_SEARCH_VARIANT "\xf3\xb0\xb9\x93" // U+F0E53 nfc-search-variant -#define ICON_MD_NFC_TAP "\xf3\xb0\x8e\x97" // U+F0397 nfc-tap, aliases: near-field-communication-tap -#define ICON_MD_NFC_VARIANT "\xf3\xb0\x8e\x98" // U+F0398 nfc-variant, aliases: near-field-communication-variant, tags: Home Automation -#define ICON_MD_NFC_VARIANT_OFF "\xf3\xb0\xb9\x94" // U+F0E54 nfc-variant-off, aliases: near-field-communication-off, tags: Home Automation -#define ICON_MD_NINJA "\xf3\xb0\x9d\xb4" // U+F0774 ninja -#define ICON_MD_NINTENDO_GAME_BOY "\xf3\xb1\x8e\x93" // U+F1393 nintendo-game-boy, tags: Gaming / RPG -#define ICON_MD_NINTENDO_SWITCH "\xf3\xb0\x9f\xa1" // U+F07E1 nintendo-switch, aliases: nintendo-switch-online, tags: Brand / Logo -#define ICON_MD_NINTENDO_WII "\xf3\xb0\x96\xab" // U+F05AB nintendo-wii, aliases: nintendo-wii, tags: Brand / Logo, Gaming / RPG -#define ICON_MD_NINTENDO_WIIU "\xf3\xb0\x9c\xad" // U+F072D nintendo-wiiu, aliases: nintendo-wiiu, tags: Brand / Logo, Gaming / RPG -#define ICON_MD_NIX "\xf3\xb1\x84\x85" // U+F1105 nix, tags: Developer / Languages, Brand / Logo -#define ICON_MD_NODEJS "\xf3\xb0\x8e\x99" // U+F0399 nodejs, tags: Brand / Logo -#define ICON_MD_NOODLES "\xf3\xb1\x85\xbe" // U+F117E noodles, aliases: food-ramen, asian-noodles, tags: Food / Drink -#define ICON_MD_NOT_EQUAL "\xf3\xb0\xa6\x8d" // U+F098D not-equal -#define ICON_MD_NOT_EQUAL_VARIANT "\xf3\xb0\xa6\x8e" // U+F098E not-equal-variant, tags: Math -#define ICON_MD_NOTE "\xf3\xb0\x8e\x9a" // U+F039A note, aliases: paper, sticky-note, post-it-note -#define ICON_MD_NOTE_ALERT "\xf3\xb1\x9d\xbd" // U+F177D note-alert, aliases: paper-alert, sticky-note-alert, post-it-note-alert, tags: Alert / Error -#define ICON_MD_NOTE_ALERT_OUTLINE "\xf3\xb1\x9d\xbe" // U+F177E note-alert-outline, aliases: paper-alert-outline, post-it-note-alert-outline, sticky-note-alert-outline, tags: Alert / Error -#define ICON_MD_NOTE_CHECK "\xf3\xb1\x9d\xbf" // U+F177F note-check, aliases: paper-check, sticky-note-check, post-it-note-check -#define ICON_MD_NOTE_CHECK_OUTLINE "\xf3\xb1\x9e\x80" // U+F1780 note-check-outline, aliases: paper-check-outline, sticky-note-check-outline, post-it-note-check-outline -#define ICON_MD_NOTE_EDIT "\xf3\xb1\x9e\x81" // U+F1781 note-edit, aliases: paper-edit, sticky-note-edit, post-it-note-edit, tags: Edit / Modify -#define ICON_MD_NOTE_EDIT_OUTLINE "\xf3\xb1\x9e\x82" // U+F1782 note-edit-outline, aliases: paper-edit-outline, sticky-note-edit-outline, post-it-note-edit-outline, tags: Edit / Modify -#define ICON_MD_NOTE_MINUS "\xf3\xb1\x99\x8f" // U+F164F note-minus, aliases: paper-minus, sticky-note-minus, post-it-note-minus -#define ICON_MD_NOTE_MINUS_OUTLINE "\xf3\xb1\x99\x90" // U+F1650 note-minus-outline, aliases: paper-minus-outline, sticky-note-minus-outline, post-it-note-minus-outline -#define ICON_MD_NOTE_MULTIPLE "\xf3\xb0\x9a\xb8" // U+F06B8 note-multiple, aliases: notes, papers, sticky-notes, post-it-notes -#define ICON_MD_NOTE_MULTIPLE_OUTLINE "\xf3\xb0\x9a\xb9" // U+F06B9 note-multiple-outline, aliases: notes-outline, papers-outline, sticky-notes-outline, post-it-notes-outline -#define ICON_MD_NOTE_OFF "\xf3\xb1\x9e\x83" // U+F1783 note-off, aliases: paper-off, sticky-note-off, post-it-note-off -#define ICON_MD_NOTE_OFF_OUTLINE "\xf3\xb1\x9e\x84" // U+F1784 note-off-outline, aliases: paper-off-outline, sticky-note-off-outline, post-it-note-off-outline -#define ICON_MD_NOTE_OUTLINE "\xf3\xb0\x8e\x9b" // U+F039B note-outline, aliases: paper-outline, sticky-note-outline, post-it-note-outline -#define ICON_MD_NOTE_PLUS "\xf3\xb0\x8e\x9c" // U+F039C note-plus, aliases: note-add, paper-plus, paper-add, sticky-note-plus, sticky-note-add, post-it-note-plus, post-it-note-add -#define ICON_MD_NOTE_PLUS_OUTLINE "\xf3\xb0\x8e\x9d" // U+F039D note-plus-outline, aliases: note-add-outline, paper-plus-outline, paper-add-outline, sticky-note-plus-outline, sticky-note-add-outline, post-it-note-plus-outline, post-it-note-add-outline -#define ICON_MD_NOTE_REMOVE "\xf3\xb1\x99\x91" // U+F1651 note-remove, aliases: paper-remove, sticky-note-remove, post-it-note-remove -#define ICON_MD_NOTE_REMOVE_OUTLINE "\xf3\xb1\x99\x92" // U+F1652 note-remove-outline -#define ICON_MD_NOTE_SEARCH "\xf3\xb1\x99\x93" // U+F1653 note-search, aliases: paper-search, sticky-note-search, post-it-note-search -#define ICON_MD_NOTE_SEARCH_OUTLINE "\xf3\xb1\x99\x94" // U+F1654 note-search-outline, aliases: paper-search-outline, sticky-note-search-outline, post-it-note-search-outline -#define ICON_MD_NOTE_TEXT "\xf3\xb0\x8e\x9e" // U+F039E note-text, aliases: paper-text, sticky-note-text, post-it-note-text -#define ICON_MD_NOTE_TEXT_OUTLINE "\xf3\xb1\x87\x97" // U+F11D7 note-text-outline, aliases: paper-text-outline, sticky-note-text-outline, post-it-note-text-outline -#define ICON_MD_NOTEBOOK "\xf3\xb0\xa0\xae" // U+F082E notebook, aliases: journal, planner, diary -#define ICON_MD_NOTEBOOK_CHECK "\xf3\xb1\x93\xb5" // U+F14F5 notebook-check -#define ICON_MD_NOTEBOOK_CHECK_OUTLINE "\xf3\xb1\x93\xb6" // U+F14F6 notebook-check-outline -#define ICON_MD_NOTEBOOK_EDIT "\xf3\xb1\x93\xa7" // U+F14E7 notebook-edit, tags: Edit / Modify -#define ICON_MD_NOTEBOOK_EDIT_OUTLINE "\xf3\xb1\x93\xa9" // U+F14E9 notebook-edit-outline, tags: Edit / Modify -#define ICON_MD_NOTEBOOK_HEART "\xf3\xb1\xa8\x8b" // U+F1A0B notebook-heart, aliases: notebook-favorite, notebook-love -#define ICON_MD_NOTEBOOK_HEART_OUTLINE "\xf3\xb1\xa8\x8c" // U+F1A0C notebook-heart-outline, aliases: notebook-favorite-outline, notebook-love-outline -#define ICON_MD_NOTEBOOK_MINUS "\xf3\xb1\x98\x90" // U+F1610 notebook-minus -#define ICON_MD_NOTEBOOK_MINUS_OUTLINE "\xf3\xb1\x98\x91" // U+F1611 notebook-minus-outline -#define ICON_MD_NOTEBOOK_MULTIPLE "\xf3\xb0\xb9\x95" // U+F0E55 notebook-multiple, aliases: journal-multiple, planner-multiple -#define ICON_MD_NOTEBOOK_OUTLINE "\xf3\xb0\xba\xbf" // U+F0EBF notebook-outline, aliases: journal-outline, planner-outline -#define ICON_MD_NOTEBOOK_PLUS "\xf3\xb1\x98\x92" // U+F1612 notebook-plus -#define ICON_MD_NOTEBOOK_PLUS_OUTLINE "\xf3\xb1\x98\x93" // U+F1613 notebook-plus-outline -#define ICON_MD_NOTEBOOK_REMOVE "\xf3\xb1\x98\x94" // U+F1614 notebook-remove -#define ICON_MD_NOTEBOOK_REMOVE_OUTLINE "\xf3\xb1\x98\x95" // U+F1615 notebook-remove-outline -#define ICON_MD_NOTIFICATION_CLEAR_ALL "\xf3\xb0\x8e\x9f" // U+F039F notification-clear-all, tags: Notification -#define ICON_MD_NPM "\xf3\xb0\x9b\xb7" // U+F06F7 npm, tags: Brand / Logo -#define ICON_MD_NUKE "\xf3\xb0\x9a\xa4" // U+F06A4 nuke, aliases: nuclear, atomic-bomb -#define ICON_MD_NULL "\xf3\xb0\x9f\xa2" // U+F07E2 null -#define ICON_MD_NUMERIC "\xf3\xb0\x8e\xa0" // U+F03A0 numeric, aliases: numbers, 1-2-3, one-two-three, 123, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_0 "\xf3\xb0\xac\xb9" // U+F0B39 numeric-0, aliases: number-0, numeric-zero, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_0_BOX "\xf3\xb0\x8e\xa1" // U+F03A1 numeric-0-box, aliases: numeric-zero-box, number-0-box, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_0_BOX_MULTIPLE "\xf3\xb0\xbc\x8e" // U+F0F0E numeric-0-box-multiple, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_0_BOX_MULTIPLE_OUTLINE "\xf3\xb0\x8e\xa2" // U+F03A2 numeric-0-box-multiple-outline, aliases: numeric-zero-box-multiple-outline, numeric-0-boxes-outline, number-0-box-multiple-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_0_BOX_OUTLINE "\xf3\xb0\x8e\xa3" // U+F03A3 numeric-0-box-outline, aliases: numeric-zero-box-outline, number-0-box-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_0_CIRCLE "\xf3\xb0\xb2\x9e" // U+F0C9E numeric-0-circle, aliases: numeric-zero-circle, number-0-circle, number-zero-circle, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_0_CIRCLE_OUTLINE "\xf3\xb0\xb2\x9f" // U+F0C9F numeric-0-circle-outline, aliases: numeric-zero-circle-outline, number-0-circle-outline, number-zero-circle-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_1 "\xf3\xb0\xac\xba" // U+F0B3A numeric-1, aliases: number-1, numeric-one, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_1_BOX "\xf3\xb0\x8e\xa4" // U+F03A4 numeric-1-box, aliases: looks-one, numeric-one-box, number-1-box, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_1_BOX_MULTIPLE "\xf3\xb0\xbc\x8f" // U+F0F0F numeric-1-box-multiple, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_1_BOX_MULTIPLE_OUTLINE "\xf3\xb0\x8e\xa5" // U+F03A5 numeric-1-box-multiple-outline, aliases: filter-1, numeric-one-box-multiple-outline, numeric-1-boxes-outline, number-1-box-multiple-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_1_BOX_OUTLINE "\xf3\xb0\x8e\xa6" // U+F03A6 numeric-1-box-outline, aliases: numeric-one-box-outline, number-1-box-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_1_CIRCLE "\xf3\xb0\xb2\xa0" // U+F0CA0 numeric-1-circle, aliases: numeric-one-circle, number-1-circle, number-one-circle, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_1_CIRCLE_OUTLINE "\xf3\xb0\xb2\xa1" // U+F0CA1 numeric-1-circle-outline, aliases: numeric-one-circle-outline, number-1-circle-outline, number-one-circle-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_10 "\xf3\xb0\xbf\xa9" // U+F0FE9 numeric-10, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_10_BOX "\xf3\xb0\xbd\xbd" // U+F0F7D numeric-10-box, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_10_BOX_MULTIPLE "\xf3\xb0\xbf\xaa" // U+F0FEA numeric-10-box-multiple, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_10_BOX_MULTIPLE_OUTLINE "\xf3\xb0\xbf\xab" // U+F0FEB numeric-10-box-multiple-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_10_BOX_OUTLINE "\xf3\xb0\xbd\xbe" // U+F0F7E numeric-10-box-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_10_CIRCLE "\xf3\xb0\xbf\xac" // U+F0FEC numeric-10-circle, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_10_CIRCLE_OUTLINE "\xf3\xb0\xbf\xad" // U+F0FED numeric-10-circle-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_2 "\xf3\xb0\xac\xbb" // U+F0B3B numeric-2, aliases: number-2, numeric-two, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_2_BOX "\xf3\xb0\x8e\xa7" // U+F03A7 numeric-2-box, aliases: looks-two, numeric-two-box, number-2-box, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_2_BOX_MULTIPLE "\xf3\xb0\xbc\x90" // U+F0F10 numeric-2-box-multiple, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_2_BOX_MULTIPLE_OUTLINE "\xf3\xb0\x8e\xa8" // U+F03A8 numeric-2-box-multiple-outline, aliases: filter-2, numeric-two-box-multiple-outline, numeric-2-boxes-outline, number-2-box-multiple-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_2_BOX_OUTLINE "\xf3\xb0\x8e\xa9" // U+F03A9 numeric-2-box-outline, aliases: numeric-two-box-outline, number-2-box-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_2_CIRCLE "\xf3\xb0\xb2\xa2" // U+F0CA2 numeric-2-circle, aliases: numeric-two-circle, number-2-circle, number-two-circle, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_2_CIRCLE_OUTLINE "\xf3\xb0\xb2\xa3" // U+F0CA3 numeric-2-circle-outline, aliases: numeric-two-circle-outline, number-2-circle-outline, number-two-circle-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_3 "\xf3\xb0\xac\xbc" // U+F0B3C numeric-3, aliases: number-3, numeric-three, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_3_BOX "\xf3\xb0\x8e\xaa" // U+F03AA numeric-3-box, aliases: looks-3, numeric-three-box, number-3-box, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_3_BOX_MULTIPLE "\xf3\xb0\xbc\x91" // U+F0F11 numeric-3-box-multiple, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_3_BOX_MULTIPLE_OUTLINE "\xf3\xb0\x8e\xab" // U+F03AB numeric-3-box-multiple-outline, aliases: filter-3, numeric-three-box-multiple-outline, numeric-3-boxes-outline, number-3-box-multiple-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_3_BOX_OUTLINE "\xf3\xb0\x8e\xac" // U+F03AC numeric-3-box-outline, aliases: numeric-three-box-outline, number-3-box-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_3_CIRCLE "\xf3\xb0\xb2\xa4" // U+F0CA4 numeric-3-circle, aliases: numeric-three-circle, number-3-circle, number-three-circle, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_3_CIRCLE_OUTLINE "\xf3\xb0\xb2\xa5" // U+F0CA5 numeric-3-circle-outline, aliases: numeric-three-circle-outline, number-3-circle-outline, number-three-circle-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_4 "\xf3\xb0\xac\xbd" // U+F0B3D numeric-4, aliases: number-4, numeric-four, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_4_BOX "\xf3\xb0\x8e\xad" // U+F03AD numeric-4-box, aliases: looks-4, numeric-four-box, number-4-box, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_4_BOX_MULTIPLE "\xf3\xb0\xbc\x92" // U+F0F12 numeric-4-box-multiple, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_4_BOX_MULTIPLE_OUTLINE "\xf3\xb0\x8e\xb2" // U+F03B2 numeric-4-box-multiple-outline, aliases: filter-4, numeric-four-box-multiple-outline, numeric-4-boxes-outline, number-4-box-multiple-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_4_BOX_OUTLINE "\xf3\xb0\x8e\xae" // U+F03AE numeric-4-box-outline, aliases: numeric-four-box-outline, number-4-box-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_4_CIRCLE "\xf3\xb0\xb2\xa6" // U+F0CA6 numeric-4-circle, aliases: numeric-four-circle, number-4-circle, number-four-circle, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_4_CIRCLE_OUTLINE "\xf3\xb0\xb2\xa7" // U+F0CA7 numeric-4-circle-outline, aliases: numeric-four-circle-outline, number-4-circle-outline, number-four-circle-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_5 "\xf3\xb0\xac\xbe" // U+F0B3E numeric-5, aliases: number-5, numeric-five, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_5_BOX "\xf3\xb0\x8e\xb1" // U+F03B1 numeric-5-box, aliases: looks-5, numeric-five-box, number-5-box, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_5_BOX_MULTIPLE "\xf3\xb0\xbc\x93" // U+F0F13 numeric-5-box-multiple, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_5_BOX_MULTIPLE_OUTLINE "\xf3\xb0\x8e\xaf" // U+F03AF numeric-5-box-multiple-outline, aliases: filter-5, numeric-five-box-multiple-outline, numeric-5-boxes-outline, number-5-box-multiple-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_5_BOX_OUTLINE "\xf3\xb0\x8e\xb0" // U+F03B0 numeric-5-box-outline, aliases: numeric-five-box-outline, number-5-box-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_5_CIRCLE "\xf3\xb0\xb2\xa8" // U+F0CA8 numeric-5-circle, aliases: numeric-five-circle, number-5-circle, number-five-circle, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_5_CIRCLE_OUTLINE "\xf3\xb0\xb2\xa9" // U+F0CA9 numeric-5-circle-outline, aliases: numeric-five-circle-outline, number-5-circle-outline, number-five-circle-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_6 "\xf3\xb0\xac\xbf" // U+F0B3F numeric-6, aliases: number-6, numeric-six, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_6_BOX "\xf3\xb0\x8e\xb3" // U+F03B3 numeric-6-box, aliases: looks-6, numeric-six-box, number-6-box, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_6_BOX_MULTIPLE "\xf3\xb0\xbc\x94" // U+F0F14 numeric-6-box-multiple, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_6_BOX_MULTIPLE_OUTLINE "\xf3\xb0\x8e\xb4" // U+F03B4 numeric-6-box-multiple-outline, aliases: filter-6, numeric-six-box-multiple-outline, numeric-6-boxes-outline, number-6-box-multiple-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_6_BOX_OUTLINE "\xf3\xb0\x8e\xb5" // U+F03B5 numeric-6-box-outline, aliases: numeric-six-box-outline, number-6-box-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_6_CIRCLE "\xf3\xb0\xb2\xaa" // U+F0CAA numeric-6-circle, aliases: numeric-six-circle, number-6-circle, number-six-circle, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_6_CIRCLE_OUTLINE "\xf3\xb0\xb2\xab" // U+F0CAB numeric-6-circle-outline, aliases: numeric-six-circle-outline, number-6-circle-outline, number-six-circle-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_7 "\xf3\xb0\xad\x80" // U+F0B40 numeric-7, aliases: number-7, numeric-seven, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_7_BOX "\xf3\xb0\x8e\xb6" // U+F03B6 numeric-7-box, aliases: numeric-seven-box, number-7-box, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_7_BOX_MULTIPLE "\xf3\xb0\xbc\x95" // U+F0F15 numeric-7-box-multiple, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_7_BOX_MULTIPLE_OUTLINE "\xf3\xb0\x8e\xb7" // U+F03B7 numeric-7-box-multiple-outline, aliases: filter-7, numeric-seven-box-multiple-outline, numeric-7-boxes-outline, number-7-box-multiple-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_7_BOX_OUTLINE "\xf3\xb0\x8e\xb8" // U+F03B8 numeric-7-box-outline, aliases: numeric-seven-box-outline, number-7-box-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_7_CIRCLE "\xf3\xb0\xb2\xac" // U+F0CAC numeric-7-circle, aliases: numeric-seven-circle, number-7-circle, number-seven-circle, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_7_CIRCLE_OUTLINE "\xf3\xb0\xb2\xad" // U+F0CAD numeric-7-circle-outline, aliases: numeric-seven-circle-outline, number-7-circle-outline, number-seven-circle-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_8 "\xf3\xb0\xad\x81" // U+F0B41 numeric-8, aliases: number-8, numeric-eight, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_8_BOX "\xf3\xb0\x8e\xb9" // U+F03B9 numeric-8-box, aliases: numeric-eight-box, number-8-box, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_8_BOX_MULTIPLE "\xf3\xb0\xbc\x96" // U+F0F16 numeric-8-box-multiple, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_8_BOX_MULTIPLE_OUTLINE "\xf3\xb0\x8e\xba" // U+F03BA numeric-8-box-multiple-outline, aliases: filter-8, numeric-eight-box-multiple-outline, numeric-8-boxes-outline, number-8-box-multiple-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_8_BOX_OUTLINE "\xf3\xb0\x8e\xbb" // U+F03BB numeric-8-box-outline, aliases: numeric-eight-box-outline, number-8-box-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_8_CIRCLE "\xf3\xb0\xb2\xae" // U+F0CAE numeric-8-circle, aliases: numeric-eight-circle, number-8-circle, number-eight-circle, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_8_CIRCLE_OUTLINE "\xf3\xb0\xb2\xaf" // U+F0CAF numeric-8-circle-outline, aliases: numeric-eight-circle-outline, number-8-circle-outline, number-eight-circle-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_9 "\xf3\xb0\xad\x82" // U+F0B42 numeric-9, aliases: number-9, numeric-nine, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_9_BOX "\xf3\xb0\x8e\xbc" // U+F03BC numeric-9-box, aliases: numeric-nine-box, number-9-box, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_9_BOX_MULTIPLE "\xf3\xb0\xbc\x97" // U+F0F17 numeric-9-box-multiple, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_9_BOX_MULTIPLE_OUTLINE "\xf3\xb0\x8e\xbd" // U+F03BD numeric-9-box-multiple-outline, aliases: filter-9, numeric-nine-box-multiple-outline, numeric-9-boxes-outline, number-9-box-multiple-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_9_BOX_OUTLINE "\xf3\xb0\x8e\xbe" // U+F03BE numeric-9-box-outline, aliases: numeric-nine-box-outline, number-9-box-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_9_CIRCLE "\xf3\xb0\xb2\xb0" // U+F0CB0 numeric-9-circle, aliases: numeric-nine-circle, number-9-circle, number-nine-circle, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_9_CIRCLE_OUTLINE "\xf3\xb0\xb2\xb1" // U+F0CB1 numeric-9-circle-outline, aliases: numeric-nine-circle-outline, number-9-circle-outline, number-nine-circle-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_9_PLUS "\xf3\xb0\xbf\xae" // U+F0FEE numeric-9-plus, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_9_PLUS_BOX "\xf3\xb0\x8e\xbf" // U+F03BF numeric-9-plus-box, aliases: numeric-nine-plus-box, number-9-plus-box, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_9_PLUS_BOX_MULTIPLE "\xf3\xb0\xbc\x98" // U+F0F18 numeric-9-plus-box-multiple, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_9_PLUS_BOX_MULTIPLE_OUTLINE "\xf3\xb0\x8f\x80" // U+F03C0 numeric-9-plus-box-multiple-outline, aliases: filter-9-plus, numeric-nine-plus-box-multiple-outline, numeric-9-plus-boxes-outline, number-9-plus-box-multiple-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_9_PLUS_BOX_OUTLINE "\xf3\xb0\x8f\x81" // U+F03C1 numeric-9-plus-box-outline, aliases: numeric-nine-plus-box-outline, number-9-plus-box-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_9_PLUS_CIRCLE "\xf3\xb0\xb2\xb2" // U+F0CB2 numeric-9-plus-circle, aliases: numeric-nine-plus-circle, number-9-plus-circle, number-nine-plus-circle, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_9_PLUS_CIRCLE_OUTLINE "\xf3\xb0\xb2\xb3" // U+F0CB3 numeric-9-plus-circle-outline, aliases: numeric-nine-plus-circle-outline, number-9-plus-circle-outline, number-nine-plus-circle-outline, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_NEGATIVE_1 "\xf3\xb1\x81\x92" // U+F1052 numeric-negative-1, aliases: decrement, minus-one, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_OFF "\xf3\xb1\xa7\x93" // U+F19D3 numeric-off, aliases: numbers-off, 123-off, one-two-three-off, tags: Alpha / Numeric -#define ICON_MD_NUMERIC_POSITIVE_1 "\xf3\xb1\x97\x8b" // U+F15CB numeric-positive-1, aliases: increment, plus-one, tags: Alpha / Numeric -#define ICON_MD_NUT "\xf3\xb0\x9b\xb8" // U+F06F8 nut, tags: Hardware / Tools -#define ICON_MD_NUTRITION "\xf3\xb0\x8f\x82" // U+F03C2 nutrition, tags: Food / Drink -#define ICON_MD_NUXT "\xf3\xb1\x84\x86" // U+F1106 nuxt, tags: Developer / Languages, Brand / Logo -#define ICON_MD_OAR "\xf3\xb0\x99\xbc" // U+F067C oar -#define ICON_MD_OCARINA "\xf3\xb0\xb7\xa0" // U+F0DE0 ocarina, tags: Music, Gaming / RPG -#define ICON_MD_OCI "\xf3\xb1\x8b\xa9" // U+F12E9 oci, aliases: open-container-initiative, tags: Developer / Languages, Brand / Logo -#define ICON_MD_OCR "\xf3\xb1\x84\xba" // U+F113A ocr, aliases: optical-character-recognition -#define ICON_MD_OCTAGON "\xf3\xb0\x8f\x83" // U+F03C3 octagon, aliases: stop, tags: Shape, Transportation + Road -#define ICON_MD_OCTAGON_OUTLINE "\xf3\xb0\x8f\x84" // U+F03C4 octagon-outline, aliases: stop-outline, tags: Shape, Transportation + Road -#define ICON_MD_OCTAGRAM "\xf3\xb0\x9b\xb9" // U+F06F9 octagram, aliases: starburst, tags: Shape -#define ICON_MD_OCTAGRAM_OUTLINE "\xf3\xb0\x9d\xb5" // U+F0775 octagram-outline, aliases: starburst-outline, tags: Shape -#define ICON_MD_OCTAHEDRON "\xf3\xb1\xa5\x90" // U+F1950 octahedron, tags: Shape -#define ICON_MD_OCTAHEDRON_OFF "\xf3\xb1\xa5\x91" // U+F1951 octahedron-off, tags: Shape -#define ICON_MD_ODNOKLASSNIKI "\xf3\xb0\x8f\x85" // U+F03C5 odnoklassniki, aliases: ok-ru, tags: Brand / Logo -#define ICON_MD_OFFER "\xf3\xb1\x88\x9b" // U+F121B offer -#define ICON_MD_OFFICE_BUILDING "\xf3\xb0\xa6\x91" // U+F0991 office-building, tags: Places -#define ICON_MD_OFFICE_BUILDING_COG "\xf3\xb1\xa5\x89" // U+F1949 office-building-cog, aliases: office-building-settings, tags: Settings, Places -#define ICON_MD_OFFICE_BUILDING_COG_OUTLINE "\xf3\xb1\xa5\x8a" // U+F194A office-building-cog-outline, aliases: office-building-settings-outline, tags: Settings, Places -#define ICON_MD_OFFICE_BUILDING_MARKER "\xf3\xb1\x94\xa0" // U+F1520 office-building-marker, aliases: office-building-location, tags: Navigation, Places -#define ICON_MD_OFFICE_BUILDING_MARKER_OUTLINE "\xf3\xb1\x94\xa1" // U+F1521 office-building-marker-outline, aliases: office-building-location-outline, tags: Navigation, Places -#define ICON_MD_OFFICE_BUILDING_MINUS "\xf3\xb1\xae\xaa" // U+F1BAA office-building-minus -#define ICON_MD_OFFICE_BUILDING_MINUS_OUTLINE "\xf3\xb1\xae\xab" // U+F1BAB office-building-minus-outline -#define ICON_MD_OFFICE_BUILDING_OUTLINE "\xf3\xb1\x94\x9f" // U+F151F office-building-outline, tags: Places -#define ICON_MD_OFFICE_BUILDING_PLUS "\xf3\xb1\xae\xa8" // U+F1BA8 office-building-plus -#define ICON_MD_OFFICE_BUILDING_PLUS_OUTLINE "\xf3\xb1\xae\xa9" // U+F1BA9 office-building-plus-outline -#define ICON_MD_OFFICE_BUILDING_REMOVE "\xf3\xb1\xae\xac" // U+F1BAC office-building-remove -#define ICON_MD_OFFICE_BUILDING_REMOVE_OUTLINE "\xf3\xb1\xae\xad" // U+F1BAD office-building-remove-outline -#define ICON_MD_OIL "\xf3\xb0\x8f\x87" // U+F03C7 oil, tags: Automotive -#define ICON_MD_OIL_LAMP "\xf3\xb0\xbc\x99" // U+F0F19 oil-lamp, aliases: wish, genie-lamp -#define ICON_MD_OIL_LEVEL "\xf3\xb1\x81\x93" // U+F1053 oil-level, tags: Automotive -#define ICON_MD_OIL_TEMPERATURE "\xf3\xb0\xbf\xb8" // U+F0FF8 oil-temperature, tags: Automotive -#define ICON_MD_OM "\xf3\xb0\xa5\xb3" // U+F0973 om, aliases: religion-hindu, hinduism, tags: Religion -#define ICON_MD_OMEGA "\xf3\xb0\x8f\x89" // U+F03C9 omega, aliases: ohm, electrical-resistance -#define ICON_MD_ONE_UP "\xf3\xb0\xae\xad" // U+F0BAD one-up, aliases: 1up, extra-life, tags: Gaming / RPG -#define ICON_MD_ONEPASSWORD "\xf3\xb0\xa2\x81" // U+F0881 onepassword, aliases: 1password, tags: Brand / Logo -#define ICON_MD_OPACITY "\xf3\xb0\x97\x8c" // U+F05CC opacity -#define ICON_MD_OPEN_IN_APP "\xf3\xb0\x8f\x8b" // U+F03CB open-in-app, aliases: open-in-browser -#define ICON_MD_OPEN_IN_NEW "\xf3\xb0\x8f\x8c" // U+F03CC open-in-new, aliases: external-link -#define ICON_MD_OPEN_SOURCE_INITIATIVE "\xf3\xb0\xae\xae" // U+F0BAE open-source-initiative, tags: Brand / Logo -#define ICON_MD_OPENID "\xf3\xb0\x8f\x8d" // U+F03CD openid, tags: Brand / Logo -#define ICON_MD_OPERA "\xf3\xb0\x8f\x8e" // U+F03CE opera, tags: Brand / Logo -#define ICON_MD_ORBIT "\xf3\xb0\x80\x98" // U+F0018 orbit, tags: Science -#define ICON_MD_ORBIT_VARIANT "\xf3\xb1\x97\x9b" // U+F15DB orbit-variant, aliases: camera-flip, tags: Photography -#define ICON_MD_ORDER_ALPHABETICAL_ASCENDING "\xf3\xb0\x88\x8d" // U+F020D order-alphabetical-ascending, tags: Text / Content / Format -#define ICON_MD_ORDER_ALPHABETICAL_DESCENDING "\xf3\xb0\xb4\x87" // U+F0D07 order-alphabetical-descending, tags: Text / Content / Format -#define ICON_MD_ORDER_BOOL_ASCENDING "\xf3\xb0\x8a\xbe" // U+F02BE order-bool-ascending, tags: Text / Content / Format -#define ICON_MD_ORDER_BOOL_ASCENDING_VARIANT "\xf3\xb0\xa6\x8f" // U+F098F order-bool-ascending-variant, aliases: order-checkbox-ascending, tags: Text / Content / Format -#define ICON_MD_ORDER_BOOL_DESCENDING "\xf3\xb1\x8e\x84" // U+F1384 order-bool-descending, aliases: order-checkbox-descending, tags: Text / Content / Format -#define ICON_MD_ORDER_BOOL_DESCENDING_VARIANT "\xf3\xb0\xa6\x90" // U+F0990 order-bool-descending-variant, tags: Text / Content / Format -#define ICON_MD_ORDER_NUMERIC_ASCENDING "\xf3\xb0\x95\x85" // U+F0545 order-numeric-ascending, tags: Text / Content / Format -#define ICON_MD_ORDER_NUMERIC_DESCENDING "\xf3\xb0\x95\x86" // U+F0546 order-numeric-descending, tags: Text / Content / Format -#define ICON_MD_ORIGIN "\xf3\xb0\xad\x83" // U+F0B43 origin, tags: Brand / Logo -#define ICON_MD_ORNAMENT "\xf3\xb0\x8f\x8f" // U+F03CF ornament, tags: Holiday -#define ICON_MD_ORNAMENT_VARIANT "\xf3\xb0\x8f\x90" // U+F03D0 ornament-variant, tags: Holiday -#define ICON_MD_OUTDOOR_LAMP "\xf3\xb1\x81\x94" // U+F1054 outdoor-lamp, aliases: outdoor-light, tags: Home Automation -#define ICON_MD_OVERSCAN "\xf3\xb1\x80\x85" // U+F1005 overscan, aliases: fullscreen -#define ICON_MD_OWL "\xf3\xb0\x8f\x92" // U+F03D2 owl, tags: Animal, Holiday -#define ICON_MD_PAC_MAN "\xf3\xb0\xae\xaf" // U+F0BAF pac-man, tags: Gaming / RPG -#define ICON_MD_PACKAGE "\xf3\xb0\x8f\x93" // U+F03D3 package, aliases: box -#define ICON_MD_PACKAGE_CHECK "\xf3\xb1\xad\x91" // U+F1B51 package-check, aliases: package-delivered -#define ICON_MD_PACKAGE_DOWN "\xf3\xb0\x8f\x94" // U+F03D4 package-down, aliases: archive, box-down, this-side-down -#define ICON_MD_PACKAGE_UP "\xf3\xb0\x8f\x95" // U+F03D5 package-up, aliases: unarchive, box-up, this-side-up -#define ICON_MD_PACKAGE_VARIANT "\xf3\xb0\x8f\x96" // U+F03D6 package-variant, aliases: box-variant -#define ICON_MD_PACKAGE_VARIANT_CLOSED "\xf3\xb0\x8f\x97" // U+F03D7 package-variant-closed, aliases: box-variant-closed -#define ICON_MD_PACKAGE_VARIANT_CLOSED_CHECK "\xf3\xb1\xad\x92" // U+F1B52 package-variant-closed-check, aliases: package-variant-closed-delivered -#define ICON_MD_PACKAGE_VARIANT_CLOSED_MINUS "\xf3\xb1\xa7\x94" // U+F19D4 package-variant-closed-minus, aliases: package-variant-closed-subtract, box-variant-closed-minus, box-variant-closed-subtract -#define ICON_MD_PACKAGE_VARIANT_CLOSED_PLUS "\xf3\xb1\xa7\x95" // U+F19D5 package-variant-closed-plus, aliases: box-variant-closed-plus, package-variant-closed-add, box-variant-closed-add -#define ICON_MD_PACKAGE_VARIANT_CLOSED_REMOVE "\xf3\xb1\xa7\x96" // U+F19D6 package-variant-closed-remove, aliases: box-variant-closed-remove -#define ICON_MD_PACKAGE_VARIANT_MINUS "\xf3\xb1\xa7\x97" // U+F19D7 package-variant-minus, aliases: box-variant-minus, package-variant-subtract, box-variant-subtract -#define ICON_MD_PACKAGE_VARIANT_PLUS "\xf3\xb1\xa7\x98" // U+F19D8 package-variant-plus, aliases: box-variant-plus, package-variant-add, box-variant-add -#define ICON_MD_PACKAGE_VARIANT_REMOVE "\xf3\xb1\xa7\x99" // U+F19D9 package-variant-remove, aliases: box-variant-remove -#define ICON_MD_PAGE_FIRST "\xf3\xb0\x98\x80" // U+F0600 page-first, aliases: first-page, chevron-left-first -#define ICON_MD_PAGE_LAST "\xf3\xb0\x98\x81" // U+F0601 page-last, aliases: last-page, chevron-right-last -#define ICON_MD_PAGE_LAYOUT_BODY "\xf3\xb0\x9b\xba" // U+F06FA page-layout-body -#define ICON_MD_PAGE_LAYOUT_FOOTER "\xf3\xb0\x9b\xbb" // U+F06FB page-layout-footer -#define ICON_MD_PAGE_LAYOUT_HEADER "\xf3\xb0\x9b\xbc" // U+F06FC page-layout-header -#define ICON_MD_PAGE_LAYOUT_HEADER_FOOTER "\xf3\xb0\xbd\xbf" // U+F0F7F page-layout-header-footer, aliases: page-layout-marginals -#define ICON_MD_PAGE_LAYOUT_SIDEBAR_LEFT "\xf3\xb0\x9b\xbd" // U+F06FD page-layout-sidebar-left -#define ICON_MD_PAGE_LAYOUT_SIDEBAR_RIGHT "\xf3\xb0\x9b\xbe" // U+F06FE page-layout-sidebar-right -#define ICON_MD_PAGE_NEXT "\xf3\xb0\xae\xb0" // U+F0BB0 page-next, aliases: read-more -#define ICON_MD_PAGE_NEXT_OUTLINE "\xf3\xb0\xae\xb1" // U+F0BB1 page-next-outline, aliases: read-more-outline -#define ICON_MD_PAGE_PREVIOUS "\xf3\xb0\xae\xb2" // U+F0BB2 page-previous -#define ICON_MD_PAGE_PREVIOUS_OUTLINE "\xf3\xb0\xae\xb3" // U+F0BB3 page-previous-outline -#define ICON_MD_PAIL "\xf3\xb1\x90\x97" // U+F1417 pail, aliases: bucket -#define ICON_MD_PAIL_MINUS "\xf3\xb1\x90\xb7" // U+F1437 pail-minus, aliases: bucket-minus -#define ICON_MD_PAIL_MINUS_OUTLINE "\xf3\xb1\x90\xbc" // U+F143C pail-minus-outline, aliases: bucket-minus-outline -#define ICON_MD_PAIL_OFF "\xf3\xb1\x90\xb9" // U+F1439 pail-off, aliases: bucket-off -#define ICON_MD_PAIL_OFF_OUTLINE "\xf3\xb1\x90\xbe" // U+F143E pail-off-outline, aliases: bucket-off-outline -#define ICON_MD_PAIL_OUTLINE "\xf3\xb1\x90\xba" // U+F143A pail-outline, aliases: bucket-outline -#define ICON_MD_PAIL_PLUS "\xf3\xb1\x90\xb6" // U+F1436 pail-plus, aliases: bucket-plus -#define ICON_MD_PAIL_PLUS_OUTLINE "\xf3\xb1\x90\xbb" // U+F143B pail-plus-outline, aliases: bucket-plus-outline -#define ICON_MD_PAIL_REMOVE "\xf3\xb1\x90\xb8" // U+F1438 pail-remove, aliases: bucket-remove -#define ICON_MD_PAIL_REMOVE_OUTLINE "\xf3\xb1\x90\xbd" // U+F143D pail-remove-outline, aliases: bucket-remove-outline -#define ICON_MD_PALETTE "\xf3\xb0\x8f\x98" // U+F03D8 palette, aliases: color-lens, colour-lens, paint, art, color, tags: Color, Drawing / Art -#define ICON_MD_PALETTE_ADVANCED "\xf3\xb0\x8f\x99" // U+F03D9 palette-advanced, aliases: paint, tags: Color, Drawing / Art -#define ICON_MD_PALETTE_OUTLINE "\xf3\xb0\xb8\x8c" // U+F0E0C palette-outline, aliases: paint-outline, tags: Drawing / Art, Color, Geographic Information System -#define ICON_MD_PALETTE_SWATCH "\xf3\xb0\xa2\xb5" // U+F08B5 palette-swatch, aliases: style, paint, material, tags: Drawing / Art, Color -#define ICON_MD_PALETTE_SWATCH_OUTLINE "\xf3\xb1\x8d\x9c" // U+F135C palette-swatch-outline, aliases: style-outline, paint-outline, tags: Drawing / Art, Color -#define ICON_MD_PALETTE_SWATCH_VARIANT "\xf3\xb1\xa5\x9a" // U+F195A palette-swatch-variant, aliases: style, paint, material, tags: Drawing / Art, Color -#define ICON_MD_PALM_TREE "\xf3\xb1\x81\x95" // U+F1055 palm-tree, tags: Nature -#define ICON_MD_PAN "\xf3\xb0\xae\xb4" // U+F0BB4 pan -#define ICON_MD_PAN_BOTTOM_LEFT "\xf3\xb0\xae\xb5" // U+F0BB5 pan-bottom-left, aliases: pan-down-left -#define ICON_MD_PAN_BOTTOM_RIGHT "\xf3\xb0\xae\xb6" // U+F0BB6 pan-bottom-right, aliases: pan-down-right -#define ICON_MD_PAN_DOWN "\xf3\xb0\xae\xb7" // U+F0BB7 pan-down -#define ICON_MD_PAN_HORIZONTAL "\xf3\xb0\xae\xb8" // U+F0BB8 pan-horizontal -#define ICON_MD_PAN_LEFT "\xf3\xb0\xae\xb9" // U+F0BB9 pan-left -#define ICON_MD_PAN_RIGHT "\xf3\xb0\xae\xba" // U+F0BBA pan-right -#define ICON_MD_PAN_TOP_LEFT "\xf3\xb0\xae\xbb" // U+F0BBB pan-top-left, aliases: pan-up-left -#define ICON_MD_PAN_TOP_RIGHT "\xf3\xb0\xae\xbc" // U+F0BBC pan-top-right, aliases: pan-up-right -#define ICON_MD_PAN_UP "\xf3\xb0\xae\xbd" // U+F0BBD pan-up -#define ICON_MD_PAN_VERTICAL "\xf3\xb0\xae\xbe" // U+F0BBE pan-vertical -#define ICON_MD_PANDA "\xf3\xb0\x8f\x9a" // U+F03DA panda, aliases: emoji-panda, emoticon-panda, tags: Animal -#define ICON_MD_PANDORA "\xf3\xb0\x8f\x9b" // U+F03DB pandora, tags: Brand / Logo -#define ICON_MD_PANORAMA "\xf3\xb0\x8f\x9c" // U+F03DC panorama, tags: Photography -#define ICON_MD_PANORAMA_FISHEYE "\xf3\xb0\x8f\x9d" // U+F03DD panorama-fisheye, aliases: panorama-fish-eye -#define ICON_MD_PANORAMA_HORIZONTAL "\xf3\xb1\xa4\xa8" // U+F1928 panorama-horizontal, tags: Photography -#define ICON_MD_PANORAMA_HORIZONTAL_OUTLINE "\xf3\xb0\x8f\x9e" // U+F03DE panorama-horizontal-outline, tags: Photography -#define ICON_MD_PANORAMA_OUTLINE "\xf3\xb1\xa6\x8c" // U+F198C panorama-outline, tags: Photography -#define ICON_MD_PANORAMA_SPHERE "\xf3\xb1\xa6\x8d" // U+F198D panorama-sphere, aliases: panorama-360, tags: Photography -#define ICON_MD_PANORAMA_SPHERE_OUTLINE "\xf3\xb1\xa6\x8e" // U+F198E panorama-sphere-outline, aliases: panorama-360-outline, tags: Photography -#define ICON_MD_PANORAMA_VARIANT "\xf3\xb1\xa6\x8f" // U+F198F panorama-variant, aliases: panorama-vr, image-vr, picture-vr, picture-360, image-360, tags: Photography -#define ICON_MD_PANORAMA_VARIANT_OUTLINE "\xf3\xb1\xa6\x90" // U+F1990 panorama-variant-outline, aliases: panorama-vr-outline, image-vr-outline, picture-vr-outline, picture-360-outline, image-360-outline, tags: Photography -#define ICON_MD_PANORAMA_VERTICAL "\xf3\xb1\xa4\xa9" // U+F1929 panorama-vertical, tags: Photography -#define ICON_MD_PANORAMA_VERTICAL_OUTLINE "\xf3\xb0\x8f\x9f" // U+F03DF panorama-vertical-outline, tags: Photography -#define ICON_MD_PANORAMA_WIDE_ANGLE "\xf3\xb1\xa5\x9f" // U+F195F panorama-wide-angle, tags: Photography -#define ICON_MD_PANORAMA_WIDE_ANGLE_OUTLINE "\xf3\xb0\x8f\xa0" // U+F03E0 panorama-wide-angle-outline, tags: Photography -#define ICON_MD_PAPER_CUT_VERTICAL "\xf3\xb0\x8f\xa1" // U+F03E1 paper-cut-vertical -#define ICON_MD_PAPER_ROLL "\xf3\xb1\x85\x97" // U+F1157 paper-roll, aliases: lavatory-roll, bathroom-tissue, toilet-paper, kitchen-roll, paper-towels, receipt-roll, tags: Home Automation, Printer -#define ICON_MD_PAPER_ROLL_OUTLINE "\xf3\xb1\x85\x98" // U+F1158 paper-roll-outline, aliases: lavatory-roll-outline, bathroom-tissue-outline, kitchen-roll-outline, paper-towels-outline, toilet-paper-outline, receipt-roll-outline, tags: Home Automation, Printer -#define ICON_MD_PAPERCLIP "\xf3\xb0\x8f\xa2" // U+F03E2 paperclip, aliases: attachment-vertical, attach-file -#define ICON_MD_PAPERCLIP_CHECK "\xf3\xb1\xab\x86" // U+F1AC6 paperclip-check, aliases: paperclip-tick, attachment-check, attachment-tick -#define ICON_MD_PAPERCLIP_LOCK "\xf3\xb1\xa7\x9a" // U+F19DA paperclip-lock, aliases: attachment-lock, tags: Lock -#define ICON_MD_PAPERCLIP_MINUS "\xf3\xb1\xab\x87" // U+F1AC7 paperclip-minus, aliases: paperclip-subtract, attachment-minus, attachment-subtract -#define ICON_MD_PAPERCLIP_OFF "\xf3\xb1\xab\x88" // U+F1AC8 paperclip-off, aliases: attachment-off -#define ICON_MD_PAPERCLIP_PLUS "\xf3\xb1\xab\x89" // U+F1AC9 paperclip-plus, aliases: paperclip-add, attachment-plus, attachment-add -#define ICON_MD_PAPERCLIP_REMOVE "\xf3\xb1\xab\x8a" // U+F1ACA paperclip-remove, aliases: attachment-remove -#define ICON_MD_PARACHUTE "\xf3\xb0\xb2\xb4" // U+F0CB4 parachute, tags: Transportation + Flying -#define ICON_MD_PARACHUTE_OUTLINE "\xf3\xb0\xb2\xb5" // U+F0CB5 parachute-outline, tags: Transportation + Flying -#define ICON_MD_PARAGLIDING "\xf3\xb1\x9d\x85" // U+F1745 paragliding, aliases: parasail, paraglide, tags: Sport -#define ICON_MD_PARKING "\xf3\xb0\x8f\xa3" // U+F03E3 parking, aliases: car-park, local-parking, tags: Places -#define ICON_MD_PARTY_POPPER "\xf3\xb1\x81\x96" // U+F1056 party-popper, aliases: celebration, tags: Holiday -#define ICON_MD_PASSPORT "\xf3\xb0\x9f\xa3" // U+F07E3 passport -#define ICON_MD_PASSPORT_BIOMETRIC "\xf3\xb0\xb7\xa1" // U+F0DE1 passport-biometric, aliases: passport-electronic -#define ICON_MD_PASTA "\xf3\xb1\x85\xa0" // U+F1160 pasta, aliases: food-italian, spaghetti, tags: Food / Drink -#define ICON_MD_PATIO_HEATER "\xf3\xb0\xbe\x80" // U+F0F80 patio-heater, tags: Home Automation -#define ICON_MD_PATREON "\xf3\xb0\xa2\x82" // U+F0882 patreon, tags: Brand / Logo -#define ICON_MD_PAUSE "\xf3\xb0\x8f\xa4" // U+F03E4 pause, tags: Home Automation -#define ICON_MD_PAUSE_BOX "\xf3\xb0\x82\xbc" // U+F00BC pause-box, tags: Audio, Music -#define ICON_MD_PAUSE_BOX_OUTLINE "\xf3\xb1\xad\xba" // U+F1B7A pause-box-outline, tags: Audio, Music -#define ICON_MD_PAUSE_CIRCLE "\xf3\xb0\x8f\xa5" // U+F03E5 pause-circle, aliases: pause-circle-filled -#define ICON_MD_PAUSE_CIRCLE_OUTLINE "\xf3\xb0\x8f\xa6" // U+F03E6 pause-circle-outline -#define ICON_MD_PAUSE_OCTAGON "\xf3\xb0\x8f\xa7" // U+F03E7 pause-octagon, aliases: stop-pause -#define ICON_MD_PAUSE_OCTAGON_OUTLINE "\xf3\xb0\x8f\xa8" // U+F03E8 pause-octagon-outline, aliases: stop-pause-outline -#define ICON_MD_PAW "\xf3\xb0\x8f\xa9" // U+F03E9 paw, aliases: pets, tags: Animal, Nature -#define ICON_MD_PAW_OFF "\xf3\xb0\x99\x97" // U+F0657 paw-off, tags: Animal -#define ICON_MD_PAW_OFF_OUTLINE "\xf3\xb1\x99\xb6" // U+F1676 paw-off-outline, tags: Animal -#define ICON_MD_PAW_OUTLINE "\xf3\xb1\x99\xb5" // U+F1675 paw-outline, tags: Animal -#define ICON_MD_PEACE "\xf3\xb0\xa2\x84" // U+F0884 peace -#define ICON_MD_PEANUT "\xf3\xb0\xbf\xbc" // U+F0FFC peanut, aliases: allergen, food-allergy, tags: Food / Drink, Agriculture -#define ICON_MD_PEANUT_OFF "\xf3\xb0\xbf\xbd" // U+F0FFD peanut-off, aliases: allergen-off, food-allergy-off, tags: Food / Drink, Agriculture -#define ICON_MD_PEANUT_OFF_OUTLINE "\xf3\xb0\xbf\xbf" // U+F0FFF peanut-off-outline, aliases: allergen-off-outline, food-allergy-off-outline, tags: Food / Drink, Agriculture -#define ICON_MD_PEANUT_OUTLINE "\xf3\xb0\xbf\xbe" // U+F0FFE peanut-outline, aliases: allergen-outline, food-allergy-outline, tags: Food / Drink, Agriculture -#define ICON_MD_PEN "\xf3\xb0\x8f\xaa" // U+F03EA pen, tags: Drawing / Art -#define ICON_MD_PEN_LOCK "\xf3\xb0\xb7\xa2" // U+F0DE2 pen-lock, tags: Lock -#define ICON_MD_PEN_MINUS "\xf3\xb0\xb7\xa3" // U+F0DE3 pen-minus -#define ICON_MD_PEN_OFF "\xf3\xb0\xb7\xa4" // U+F0DE4 pen-off -#define ICON_MD_PEN_PLUS "\xf3\xb0\xb7\xa5" // U+F0DE5 pen-plus, aliases: pen-add -#define ICON_MD_PEN_REMOVE "\xf3\xb0\xb7\xa6" // U+F0DE6 pen-remove -#define ICON_MD_PENCIL "\xf3\xb0\x8f\xab" // U+F03EB pencil, aliases: edit, create, mode-edit, tags: Drawing / Art, Edit / Modify -#define ICON_MD_PENCIL_BOX "\xf3\xb0\x8f\xac" // U+F03EC pencil-box, aliases: edit-box, tags: Drawing / Art -#define ICON_MD_PENCIL_BOX_MULTIPLE "\xf3\xb1\x85\x84" // U+F1144 pencil-box-multiple, aliases: library-edit, tags: Edit / Modify -#define ICON_MD_PENCIL_BOX_MULTIPLE_OUTLINE "\xf3\xb1\x85\x85" // U+F1145 pencil-box-multiple-outline, aliases: library-edit-outline, tags: Edit / Modify -#define ICON_MD_PENCIL_BOX_OUTLINE "\xf3\xb0\x8f\xad" // U+F03ED pencil-box-outline, aliases: edit-box-outline, tags: Drawing / Art -#define ICON_MD_PENCIL_CIRCLE "\xf3\xb0\x9b\xbf" // U+F06FF pencil-circle, aliases: edit-circle, tags: Drawing / Art -#define ICON_MD_PENCIL_CIRCLE_OUTLINE "\xf3\xb0\x9d\xb6" // U+F0776 pencil-circle-outline, aliases: edit-circle-outline, tags: Drawing / Art -#define ICON_MD_PENCIL_LOCK "\xf3\xb0\x8f\xae" // U+F03EE pencil-lock, tags: Lock -#define ICON_MD_PENCIL_LOCK_OUTLINE "\xf3\xb0\xb7\xa7" // U+F0DE7 pencil-lock-outline, tags: Lock -#define ICON_MD_PENCIL_MINUS "\xf3\xb0\xb7\xa8" // U+F0DE8 pencil-minus -#define ICON_MD_PENCIL_MINUS_OUTLINE "\xf3\xb0\xb7\xa9" // U+F0DE9 pencil-minus-outline -#define ICON_MD_PENCIL_OFF "\xf3\xb0\x8f\xaf" // U+F03EF pencil-off, aliases: edit-off -#define ICON_MD_PENCIL_OFF_OUTLINE "\xf3\xb0\xb7\xaa" // U+F0DEA pencil-off-outline, aliases: edit-off-outline -#define ICON_MD_PENCIL_OUTLINE "\xf3\xb0\xb2\xb6" // U+F0CB6 pencil-outline, aliases: edit-outline, create-outline, mode-edit-outline, tags: Drawing / Art, Edit / Modify -#define ICON_MD_PENCIL_PLUS "\xf3\xb0\xb7\xab" // U+F0DEB pencil-plus, aliases: pencil-add -#define ICON_MD_PENCIL_PLUS_OUTLINE "\xf3\xb0\xb7\xac" // U+F0DEC pencil-plus-outline, aliases: pencil-add-outline -#define ICON_MD_PENCIL_REMOVE "\xf3\xb0\xb7\xad" // U+F0DED pencil-remove -#define ICON_MD_PENCIL_REMOVE_OUTLINE "\xf3\xb0\xb7\xae" // U+F0DEE pencil-remove-outline -#define ICON_MD_PENCIL_RULER "\xf3\xb1\x8d\x93" // U+F1353 pencil-ruler, aliases: design, tags: Drawing / Art -#define ICON_MD_PENGUIN "\xf3\xb0\xbb\x80" // U+F0EC0 penguin, aliases: emoji-penguin, emoticon-penguin, linux, tags: Animal -#define ICON_MD_PENTAGON "\xf3\xb0\x9c\x81" // U+F0701 pentagon, tags: Shape -#define ICON_MD_PENTAGON_OUTLINE "\xf3\xb0\x9c\x80" // U+F0700 pentagon-outline, tags: Shape -#define ICON_MD_PENTAGRAM "\xf3\xb1\x99\xa7" // U+F1667 pentagram -#define ICON_MD_PERCENT "\xf3\xb0\x8f\xb0" // U+F03F0 percent, aliases: discount, sale, tags: Math, Shopping -#define ICON_MD_PERCENT_BOX "\xf3\xb1\xa8\x82" // U+F1A02 percent-box, aliases: discount-box, sale-box, tags: Math, Shopping -#define ICON_MD_PERCENT_BOX_OUTLINE "\xf3\xb1\xa8\x83" // U+F1A03 percent-box-outline, aliases: discount-box-outline, sale-box-outline, tags: Math, Shopping -#define ICON_MD_PERCENT_CIRCLE "\xf3\xb1\xa8\x84" // U+F1A04 percent-circle, aliases: discount-circle, sale-circle, tags: Math, Shopping -#define ICON_MD_PERCENT_CIRCLE_OUTLINE "\xf3\xb1\xa8\x85" // U+F1A05 percent-circle-outline, aliases: discount-circle-outline, sale-circle-outline, tags: Math, Shopping -#define ICON_MD_PERCENT_OUTLINE "\xf3\xb1\x89\xb8" // U+F1278 percent-outline, aliases: discount-outline, sale-outline, tags: Math, Shopping -#define ICON_MD_PERIODIC_TABLE "\xf3\xb0\xa2\xb6" // U+F08B6 periodic-table, tags: Science -#define ICON_MD_PERSPECTIVE_LESS "\xf3\xb0\xb4\xa3" // U+F0D23 perspective-less, aliases: perspective-decrease, tags: Math -#define ICON_MD_PERSPECTIVE_MORE "\xf3\xb0\xb4\xa4" // U+F0D24 perspective-more, aliases: perspective-increase, tags: Math -#define ICON_MD_PH "\xf3\xb1\x9f\x85" // U+F17C5 ph, aliases: acid, base, potential-of-hydrogen, power-of-hydrogen, tags: Science, Home Automation -#define ICON_MD_PHONE "\xf3\xb0\x8f\xb2" // U+F03F2 phone, aliases: call, local-phone, telephone, tags: Cellphone / Phone -#define ICON_MD_PHONE_ALERT "\xf3\xb0\xbc\x9a" // U+F0F1A phone-alert, tags: Cellphone / Phone, Alert / Error -#define ICON_MD_PHONE_ALERT_OUTLINE "\xf3\xb1\x86\x8e" // U+F118E phone-alert-outline, tags: Cellphone / Phone, Alert / Error -#define ICON_MD_PHONE_BLUETOOTH "\xf3\xb0\x8f\xb3" // U+F03F3 phone-bluetooth, aliases: phone-bluetooth-speaker, telephone-bluetooth, tags: Cellphone / Phone -#define ICON_MD_PHONE_BLUETOOTH_OUTLINE "\xf3\xb1\x86\x8f" // U+F118F phone-bluetooth-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_CANCEL "\xf3\xb1\x82\xbc" // U+F10BC phone-cancel, aliases: phone-block, tags: Cellphone / Phone -#define ICON_MD_PHONE_CANCEL_OUTLINE "\xf3\xb1\x86\x90" // U+F1190 phone-cancel-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_CHECK "\xf3\xb1\x86\xa9" // U+F11A9 phone-check, tags: Cellphone / Phone -#define ICON_MD_PHONE_CHECK_OUTLINE "\xf3\xb1\x86\xaa" // U+F11AA phone-check-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_CLASSIC "\xf3\xb0\x98\x82" // U+F0602 phone-classic, tags: Cellphone / Phone -#define ICON_MD_PHONE_CLASSIC_OFF "\xf3\xb1\x89\xb9" // U+F1279 phone-classic-off -#define ICON_MD_PHONE_CLOCK "\xf3\xb1\xa7\x9b" // U+F19DB phone-clock, aliases: phone-schedule, phone-time, tags: Cellphone / Phone, Date / Time -#define ICON_MD_PHONE_DIAL "\xf3\xb1\x95\x99" // U+F1559 phone-dial, aliases: phone-keypad, tags: Cellphone / Phone -#define ICON_MD_PHONE_DIAL_OUTLINE "\xf3\xb1\x95\x9a" // U+F155A phone-dial-outline, aliases: phone-keypad-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_FORWARD "\xf3\xb0\x8f\xb4" // U+F03F4 phone-forward, aliases: phone-forwarded, telephone-forward, tags: Cellphone / Phone -#define ICON_MD_PHONE_FORWARD_OUTLINE "\xf3\xb1\x86\x91" // U+F1191 phone-forward-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_HANGUP "\xf3\xb0\x8f\xb5" // U+F03F5 phone-hangup, aliases: call-end, telephone-hangup, tags: Cellphone / Phone -#define ICON_MD_PHONE_HANGUP_OUTLINE "\xf3\xb1\x86\x92" // U+F1192 phone-hangup-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_IN_TALK "\xf3\xb0\x8f\xb6" // U+F03F6 phone-in-talk, aliases: telephone-in-talk, tags: Cellphone / Phone -#define ICON_MD_PHONE_IN_TALK_OUTLINE "\xf3\xb1\x86\x82" // U+F1182 phone-in-talk-outline, aliases: telephone-in-talk-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_INCOMING "\xf3\xb0\x8f\xb7" // U+F03F7 phone-incoming, aliases: telephone-incoming, tags: Cellphone / Phone -#define ICON_MD_PHONE_INCOMING_OUTGOING "\xf3\xb1\xac\xbf" // U+F1B3F phone-incoming-outgoing, tags: Cellphone / Phone -#define ICON_MD_PHONE_INCOMING_OUTGOING_OUTLINE "\xf3\xb1\xad\x80" // U+F1B40 phone-incoming-outgoing-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_INCOMING_OUTLINE "\xf3\xb1\x86\x93" // U+F1193 phone-incoming-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_LOCK "\xf3\xb0\x8f\xb8" // U+F03F8 phone-lock, aliases: telephone-locked, phone-locked, telephone-lock, tags: Cellphone / Phone, Lock -#define ICON_MD_PHONE_LOCK_OUTLINE "\xf3\xb1\x86\x94" // U+F1194 phone-lock-outline, tags: Cellphone / Phone, Lock -#define ICON_MD_PHONE_LOG "\xf3\xb0\x8f\xb9" // U+F03F9 phone-log, tags: Cellphone / Phone -#define ICON_MD_PHONE_LOG_OUTLINE "\xf3\xb1\x86\x95" // U+F1195 phone-log-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_MESSAGE "\xf3\xb1\x86\x96" // U+F1196 phone-message, tags: Cellphone / Phone -#define ICON_MD_PHONE_MESSAGE_OUTLINE "\xf3\xb1\x86\x97" // U+F1197 phone-message-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_MINUS "\xf3\xb0\x99\x98" // U+F0658 phone-minus, tags: Cellphone / Phone -#define ICON_MD_PHONE_MINUS_OUTLINE "\xf3\xb1\x86\x98" // U+F1198 phone-minus-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_MISSED "\xf3\xb0\x8f\xba" // U+F03FA phone-missed, tags: Cellphone / Phone -#define ICON_MD_PHONE_MISSED_OUTLINE "\xf3\xb1\x86\xa5" // U+F11A5 phone-missed-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_OFF "\xf3\xb0\xb7\xaf" // U+F0DEF phone-off, tags: Cellphone / Phone -#define ICON_MD_PHONE_OFF_OUTLINE "\xf3\xb1\x86\xa6" // U+F11A6 phone-off-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_OUTGOING "\xf3\xb0\x8f\xbb" // U+F03FB phone-outgoing, tags: Cellphone / Phone -#define ICON_MD_PHONE_OUTGOING_OUTLINE "\xf3\xb1\x86\x99" // U+F1199 phone-outgoing-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_OUTLINE "\xf3\xb0\xb7\xb0" // U+F0DF0 phone-outline, aliases: telephone-outline, call-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_PAUSED "\xf3\xb0\x8f\xbc" // U+F03FC phone-paused, tags: Cellphone / Phone -#define ICON_MD_PHONE_PAUSED_OUTLINE "\xf3\xb1\x86\x9a" // U+F119A phone-paused-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_PLUS "\xf3\xb0\x99\x99" // U+F0659 phone-plus, aliases: add-call, tags: Cellphone / Phone -#define ICON_MD_PHONE_PLUS_OUTLINE "\xf3\xb1\x86\x9b" // U+F119B phone-plus-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_REFRESH "\xf3\xb1\xa6\x93" // U+F1993 phone-refresh, aliases: phone-redial, tags: Cellphone / Phone -#define ICON_MD_PHONE_REFRESH_OUTLINE "\xf3\xb1\xa6\x94" // U+F1994 phone-refresh-outline, aliases: phone-redial-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_REMOVE "\xf3\xb1\x94\xaf" // U+F152F phone-remove, tags: Cellphone / Phone -#define ICON_MD_PHONE_REMOVE_OUTLINE "\xf3\xb1\x94\xb0" // U+F1530 phone-remove-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_RETURN "\xf3\xb0\xa0\xaf" // U+F082F phone-return, tags: Cellphone / Phone -#define ICON_MD_PHONE_RETURN_OUTLINE "\xf3\xb1\x86\x9c" // U+F119C phone-return-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_RING "\xf3\xb1\x86\xab" // U+F11AB phone-ring, tags: Cellphone / Phone -#define ICON_MD_PHONE_RING_OUTLINE "\xf3\xb1\x86\xac" // U+F11AC phone-ring-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_ROTATE_LANDSCAPE "\xf3\xb0\xa2\x85" // U+F0885 phone-rotate-landscape, tags: Cellphone / Phone -#define ICON_MD_PHONE_ROTATE_PORTRAIT "\xf3\xb0\xa2\x86" // U+F0886 phone-rotate-portrait, tags: Cellphone / Phone -#define ICON_MD_PHONE_SETTINGS "\xf3\xb0\x8f\xbd" // U+F03FD phone-settings, aliases: settings-phone, tags: Settings, Cellphone / Phone -#define ICON_MD_PHONE_SETTINGS_OUTLINE "\xf3\xb1\x86\x9d" // U+F119D phone-settings-outline, tags: Cellphone / Phone, Settings -#define ICON_MD_PHONE_SYNC "\xf3\xb1\xa6\x95" // U+F1995 phone-sync, aliases: phone-redial, tags: Cellphone / Phone -#define ICON_MD_PHONE_SYNC_OUTLINE "\xf3\xb1\xa6\x96" // U+F1996 phone-sync-outline, aliases: phone-redial-outline, tags: Cellphone / Phone -#define ICON_MD_PHONE_VOIP "\xf3\xb0\x8f\xbe" // U+F03FE phone-voip, tags: Cellphone / Phone -#define ICON_MD_PI "\xf3\xb0\x8f\xbf" // U+F03FF pi, tags: Math -#define ICON_MD_PI_BOX "\xf3\xb0\x90\x80" // U+F0400 pi-box, tags: Math -#define ICON_MD_PI_HOLE "\xf3\xb0\xb7\xb1" // U+F0DF1 pi-hole, tags: Brand / Logo -#define ICON_MD_PIANO "\xf3\xb0\x99\xbd" // U+F067D piano, tags: Music -#define ICON_MD_PIANO_OFF "\xf3\xb0\x9a\x98" // U+F0698 piano-off, tags: Music -#define ICON_MD_PICKAXE "\xf3\xb0\xa2\xb7" // U+F08B7 pickaxe -#define ICON_MD_PICTURE_IN_PICTURE_BOTTOM_RIGHT "\xf3\xb0\xb9\x97" // U+F0E57 picture-in-picture-bottom-right -#define ICON_MD_PICTURE_IN_PICTURE_BOTTOM_RIGHT_OUTLINE "\xf3\xb0\xb9\x98" // U+F0E58 picture-in-picture-bottom-right-outline -#define ICON_MD_PICTURE_IN_PICTURE_TOP_RIGHT "\xf3\xb0\xb9\x99" // U+F0E59 picture-in-picture-top-right -#define ICON_MD_PICTURE_IN_PICTURE_TOP_RIGHT_OUTLINE "\xf3\xb0\xb9\x9a" // U+F0E5A picture-in-picture-top-right-outline -#define ICON_MD_PIER "\xf3\xb0\xa2\x87" // U+F0887 pier, tags: Places, Transportation + Water -#define ICON_MD_PIER_CRANE "\xf3\xb0\xa2\x88" // U+F0888 pier-crane, tags: Transportation + Water, Places -#define ICON_MD_PIG "\xf3\xb0\x90\x81" // U+F0401 pig, aliases: emoji-pig, emoticon-pig, tags: Animal, Agriculture -#define ICON_MD_PIG_VARIANT "\xf3\xb1\x80\x86" // U+F1006 pig-variant, tags: Animal, Agriculture -#define ICON_MD_PIG_VARIANT_OUTLINE "\xf3\xb1\x99\xb8" // U+F1678 pig-variant-outline, tags: Agriculture, Animal -#define ICON_MD_PIGGY_BANK "\xf3\xb1\x80\x87" // U+F1007 piggy-bank, tags: Banking -#define ICON_MD_PIGGY_BANK_OUTLINE "\xf3\xb1\x99\xb9" // U+F1679 piggy-bank-outline, tags: Banking -#define ICON_MD_PILL "\xf3\xb0\x90\x82" // U+F0402 pill, aliases: medicine, capsule, drug, pharmaceutical, tags: Medical / Hospital -#define ICON_MD_PILL_MULTIPLE "\xf3\xb1\xad\x8c" // U+F1B4C pill-multiple, aliases: medicine, medication, drugs, tags: Medical / Hospital -#define ICON_MD_PILL_OFF "\xf3\xb1\xa9\x9c" // U+F1A5C pill-off, aliases: medicine-off, capsule-off, drug-off, pharmaceutical-off, tags: Medical / Hospital -#define ICON_MD_PILLAR "\xf3\xb0\x9c\x82" // U+F0702 pillar, aliases: historic, column -#define ICON_MD_PIN "\xf3\xb0\x90\x83" // U+F0403 pin, aliases: keep -#define ICON_MD_PIN_OFF "\xf3\xb0\x90\x84" // U+F0404 pin-off, aliases: keep-off -#define ICON_MD_PIN_OFF_OUTLINE "\xf3\xb0\xa4\xb0" // U+F0930 pin-off-outline, aliases: keep-off-outline -#define ICON_MD_PIN_OUTLINE "\xf3\xb0\xa4\xb1" // U+F0931 pin-outline, aliases: keep-outline -#define ICON_MD_PINE_TREE "\xf3\xb0\x90\x85" // U+F0405 pine-tree, aliases: forest, plant, tags: Holiday, Nature, Places -#define ICON_MD_PINE_TREE_BOX "\xf3\xb0\x90\x86" // U+F0406 pine-tree-box, aliases: plant, tags: Holiday, Nature -#define ICON_MD_PINE_TREE_FIRE "\xf3\xb1\x90\x9a" // U+F141A pine-tree-fire, tags: Nature -#define ICON_MD_PINTEREST "\xf3\xb0\x90\x87" // U+F0407 pinterest, tags: Brand / Logo -#define ICON_MD_PINWHEEL "\xf3\xb0\xab\x95" // U+F0AD5 pinwheel, aliases: toys -#define ICON_MD_PINWHEEL_OUTLINE "\xf3\xb0\xab\x96" // U+F0AD6 pinwheel-outline, aliases: toys-outline -#define ICON_MD_PIPE "\xf3\xb0\x9f\xa5" // U+F07E5 pipe, tags: Home Automation -#define ICON_MD_PIPE_DISCONNECTED "\xf3\xb0\x9f\xa6" // U+F07E6 pipe-disconnected, tags: Home Automation -#define ICON_MD_PIPE_LEAK "\xf3\xb0\xa2\x89" // U+F0889 pipe-leak, tags: Home Automation -#define ICON_MD_PIPE_VALVE "\xf3\xb1\xa1\x8d" // U+F184D pipe-valve, tags: Home Automation -#define ICON_MD_PIPE_WRENCH "\xf3\xb1\x8d\x94" // U+F1354 pipe-wrench, aliases: monkey-wrench, tags: Hardware / Tools -#define ICON_MD_PIRATE "\xf3\xb0\xa8\x88" // U+F0A08 pirate -#define ICON_MD_PISTOL "\xf3\xb0\x9c\x83" // U+F0703 pistol, aliases: gun -#define ICON_MD_PISTON "\xf3\xb0\xa2\x8a" // U+F088A piston, tags: Automotive -#define ICON_MD_PITCHFORK "\xf3\xb1\x95\x93" // U+F1553 pitchfork, tags: Hardware / Tools -#define ICON_MD_PIZZA "\xf3\xb0\x90\x89" // U+F0409 pizza, aliases: pizzeria, local-pizza, tags: Food / Drink, Places -#define ICON_MD_PLANE_CAR "\xf3\xb1\xab\xbf" // U+F1AFF plane-car, aliases: airport-shuttle, airport-taxi, airplane-car, tags: Transportation + Flying, Transportation + Road -#define ICON_MD_PLANE_TRAIN "\xf3\xb1\xac\x80" // U+F1B00 plane-train, aliases: airport-shuttle, airplane-train, tags: Transportation + Flying, Transportation + Other -#define ICON_MD_PLAY "\xf3\xb0\x90\x8a" // U+F040A play, aliases: play-arrow, tags: Home Automation -#define ICON_MD_PLAY_BOX "\xf3\xb1\x89\xba" // U+F127A play-box -#define ICON_MD_PLAY_BOX_LOCK "\xf3\xb1\xa8\x96" // U+F1A16 play-box-lock, tags: Video / Movie, Lock -#define ICON_MD_PLAY_BOX_LOCK_OPEN "\xf3\xb1\xa8\x97" // U+F1A17 play-box-lock-open, tags: Video / Movie, Lock -#define ICON_MD_PLAY_BOX_LOCK_OPEN_OUTLINE "\xf3\xb1\xa8\x98" // U+F1A18 play-box-lock-open-outline, tags: Video / Movie, Lock -#define ICON_MD_PLAY_BOX_LOCK_OUTLINE "\xf3\xb1\xa8\x99" // U+F1A19 play-box-lock-outline, tags: Video / Movie, Lock -#define ICON_MD_PLAY_BOX_MULTIPLE "\xf3\xb0\xb4\x99" // U+F0D19 play-box-multiple -#define ICON_MD_PLAY_BOX_MULTIPLE_OUTLINE "\xf3\xb1\x8f\xa6" // U+F13E6 play-box-multiple-outline -#define ICON_MD_PLAY_BOX_OUTLINE "\xf3\xb0\x90\x8b" // U+F040B play-box-outline, aliases: slideshow -#define ICON_MD_PLAY_CIRCLE "\xf3\xb0\x90\x8c" // U+F040C play-circle, aliases: play-circle-filled -#define ICON_MD_PLAY_CIRCLE_OUTLINE "\xf3\xb0\x90\x8d" // U+F040D play-circle-outline -#define ICON_MD_PLAY_NETWORK "\xf3\xb0\xa2\x8b" // U+F088B play-network, aliases: media-network -#define ICON_MD_PLAY_NETWORK_OUTLINE "\xf3\xb0\xb2\xb7" // U+F0CB7 play-network-outline, aliases: media-network-outline -#define ICON_MD_PLAY_OUTLINE "\xf3\xb0\xbc\x9b" // U+F0F1B play-outline -#define ICON_MD_PLAY_PAUSE "\xf3\xb0\x90\x8e" // U+F040E play-pause, tags: Home Automation -#define ICON_MD_PLAY_PROTECTED_CONTENT "\xf3\xb0\x90\x8f" // U+F040F play-protected-content -#define ICON_MD_PLAY_SPEED "\xf3\xb0\xa3\xbf" // U+F08FF play-speed -#define ICON_MD_PLAYLIST_CHECK "\xf3\xb0\x97\x87" // U+F05C7 playlist-check, aliases: subscriptions, playlist-add-check, playlist-tick -#define ICON_MD_PLAYLIST_EDIT "\xf3\xb0\xa4\x80" // U+F0900 playlist-edit, tags: Edit / Modify -#define ICON_MD_PLAYLIST_MINUS "\xf3\xb0\x90\x90" // U+F0410 playlist-minus -#define ICON_MD_PLAYLIST_MUSIC "\xf3\xb0\xb2\xb8" // U+F0CB8 playlist-music, aliases: playlist-note, queue-music, tags: Music -#define ICON_MD_PLAYLIST_MUSIC_OUTLINE "\xf3\xb0\xb2\xb9" // U+F0CB9 playlist-music-outline, aliases: playlist-note-outline, queue-music-outline, tags: Music -#define ICON_MD_PLAYLIST_PLAY "\xf3\xb0\x90\x91" // U+F0411 playlist-play -#define ICON_MD_PLAYLIST_PLUS "\xf3\xb0\x90\x92" // U+F0412 playlist-plus, aliases: playlist-add -#define ICON_MD_PLAYLIST_REMOVE "\xf3\xb0\x90\x93" // U+F0413 playlist-remove -#define ICON_MD_PLAYLIST_STAR "\xf3\xb0\xb7\xb2" // U+F0DF2 playlist-star, aliases: playlist-favorite -#define ICON_MD_PLEX "\xf3\xb0\x9a\xba" // U+F06BA plex, tags: Brand / Logo -#define ICON_MD_PLIERS "\xf3\xb1\xa6\xa4" // U+F19A4 pliers, tags: Hardware / Tools -#define ICON_MD_PLUS "\xf3\xb0\x90\x95" // U+F0415 plus, aliases: add, tags: Math -#define ICON_MD_PLUS_BOX "\xf3\xb0\x90\x96" // U+F0416 plus-box, aliases: add-box, tags: Math -#define ICON_MD_PLUS_BOX_MULTIPLE "\xf3\xb0\x8c\xb4" // U+F0334 plus-box-multiple, aliases: add-to-photos, library-add, queue, library-plus -#define ICON_MD_PLUS_BOX_MULTIPLE_OUTLINE "\xf3\xb1\x85\x83" // U+F1143 plus-box-multiple-outline -#define ICON_MD_PLUS_BOX_OUTLINE "\xf3\xb0\x9c\x84" // U+F0704 plus-box-outline, tags: Math -#define ICON_MD_PLUS_CIRCLE "\xf3\xb0\x90\x97" // U+F0417 plus-circle, aliases: add-circle -#define ICON_MD_PLUS_CIRCLE_MULTIPLE "\xf3\xb0\x8d\x8c" // U+F034C plus-circle-multiple, aliases: coins-plus -#define ICON_MD_PLUS_CIRCLE_MULTIPLE_OUTLINE "\xf3\xb0\x90\x98" // U+F0418 plus-circle-multiple-outline, aliases: control-point-duplicate, plus-circles-outline, coins-plus-outline -#define ICON_MD_PLUS_CIRCLE_OUTLINE "\xf3\xb0\x90\x99" // U+F0419 plus-circle-outline, aliases: add-circle-outline, control-point, circles-add -#define ICON_MD_PLUS_LOCK "\xf3\xb1\xa9\x9d" // U+F1A5D plus-lock, aliases: plus-secure, tags: Lock -#define ICON_MD_PLUS_LOCK_OPEN "\xf3\xb1\xa9\x9e" // U+F1A5E plus-lock-open, tags: Lock -#define ICON_MD_PLUS_MINUS "\xf3\xb0\xa6\x92" // U+F0992 plus-minus, tags: Math -#define ICON_MD_PLUS_MINUS_BOX "\xf3\xb0\xa6\x93" // U+F0993 plus-minus-box, tags: Math -#define ICON_MD_PLUS_MINUS_VARIANT "\xf3\xb1\x93\x89" // U+F14C9 plus-minus-variant, tags: Math -#define ICON_MD_PLUS_NETWORK "\xf3\xb0\x90\x9a" // U+F041A plus-network, aliases: add-network -#define ICON_MD_PLUS_NETWORK_OUTLINE "\xf3\xb0\xb2\xba" // U+F0CBA plus-network-outline, aliases: add-network-outline -#define ICON_MD_PLUS_OUTLINE "\xf3\xb0\x9c\x85" // U+F0705 plus-outline -#define ICON_MD_PLUS_THICK "\xf3\xb1\x87\xac" // U+F11EC plus-thick, aliases: add-thick, add-bold, plus-bold, tags: Math -#define ICON_MD_PODCAST "\xf3\xb0\xa6\x94" // U+F0994 podcast -#define ICON_MD_PODIUM "\xf3\xb0\xb4\xa5" // U+F0D25 podium, tags: Sport -#define ICON_MD_PODIUM_BRONZE "\xf3\xb0\xb4\xa6" // U+F0D26 podium-bronze, aliases: podium-third, tags: Sport -#define ICON_MD_PODIUM_GOLD "\xf3\xb0\xb4\xa7" // U+F0D27 podium-gold, aliases: podium-first, tags: Sport -#define ICON_MD_PODIUM_SILVER "\xf3\xb0\xb4\xa8" // U+F0D28 podium-silver, aliases: podium-second, tags: Sport -#define ICON_MD_POINT_OF_SALE "\xf3\xb0\xb6\x92" // U+F0D92 point-of-sale -#define ICON_MD_POKEBALL "\xf3\xb0\x90\x9d" // U+F041D pokeball, tags: Gaming / RPG -#define ICON_MD_POKEMON_GO "\xf3\xb0\xa8\x89" // U+F0A09 pokemon-go, tags: Gaming / RPG, Brand / Logo -#define ICON_MD_POKER_CHIP "\xf3\xb0\xa0\xb0" // U+F0830 poker-chip, aliases: casino-chip, gambling-chip, tags: Gaming / RPG -#define ICON_MD_POLAROID "\xf3\xb0\x90\x9e" // U+F041E polaroid -#define ICON_MD_POLICE_BADGE "\xf3\xb1\x85\xa7" // U+F1167 police-badge -#define ICON_MD_POLICE_BADGE_OUTLINE "\xf3\xb1\x85\xa8" // U+F1168 police-badge-outline -#define ICON_MD_POLICE_STATION "\xf3\xb1\xa0\xb9" // U+F1839 police-station, tags: Places -#define ICON_MD_POLL "\xf3\xb0\x90\x9f" // U+F041F poll, aliases: bar-chart, report, performance, analytics -#define ICON_MD_POLO "\xf3\xb1\x93\x83" // U+F14C3 polo, tags: Sport -#define ICON_MD_POLYMER "\xf3\xb0\x90\xa1" // U+F0421 polymer, tags: Brand / Logo, Developer / Languages -#define ICON_MD_POOL "\xf3\xb0\x98\x86" // U+F0606 pool, aliases: swimming-pool, tags: Places, Home Automation -#define ICON_MD_POOL_THERMOMETER "\xf3\xb1\xa9\x9f" // U+F1A5F pool-thermometer, aliases: pool-temperature, tags: Home Automation -#define ICON_MD_POPCORN "\xf3\xb0\x90\xa2" // U+F0422 popcorn, tags: Food / Drink -#define ICON_MD_POST "\xf3\xb1\x80\x88" // U+F1008 post, aliases: blog -#define ICON_MD_POST_LAMP "\xf3\xb1\xa9\xa0" // U+F1A60 post-lamp, aliases: post-light, tags: Home Automation -#define ICON_MD_POST_OUTLINE "\xf3\xb1\x80\x89" // U+F1009 post-outline, aliases: blog-outline -#define ICON_MD_POSTAGE_STAMP "\xf3\xb0\xb2\xbb" // U+F0CBB postage-stamp -#define ICON_MD_POT "\xf3\xb0\x8b\xa5" // U+F02E5 pot, tags: Food / Drink, Holiday -#define ICON_MD_POT_MIX "\xf3\xb0\x99\x9b" // U+F065B pot-mix, tags: Food / Drink, Holiday -#define ICON_MD_POT_MIX_OUTLINE "\xf3\xb0\x99\xb7" // U+F0677 pot-mix-outline, tags: Food / Drink, Holiday -#define ICON_MD_POT_OUTLINE "\xf3\xb0\x8b\xbf" // U+F02FF pot-outline, tags: Food / Drink, Holiday -#define ICON_MD_POT_STEAM "\xf3\xb0\x99\x9a" // U+F065A pot-steam, tags: Food / Drink, Holiday -#define ICON_MD_POT_STEAM_OUTLINE "\xf3\xb0\x8c\xa6" // U+F0326 pot-steam-outline, tags: Food / Drink, Holiday -#define ICON_MD_POUND "\xf3\xb0\x90\xa3" // U+F0423 pound, aliases: hashtag -#define ICON_MD_POUND_BOX "\xf3\xb0\x90\xa4" // U+F0424 pound-box, aliases: hashtag-box -#define ICON_MD_POUND_BOX_OUTLINE "\xf3\xb1\x85\xbf" // U+F117F pound-box-outline, aliases: hashtag-box-outline -#define ICON_MD_POWER "\xf3\xb0\x90\xa5" // U+F0425 power, aliases: power-settings-new, shutdown, tags: Home Automation -#define ICON_MD_POWER_CYCLE "\xf3\xb0\xa4\x81" // U+F0901 power-cycle -#define ICON_MD_POWER_OFF "\xf3\xb0\xa4\x82" // U+F0902 power-off -#define ICON_MD_POWER_ON "\xf3\xb0\xa4\x83" // U+F0903 power-on -#define ICON_MD_POWER_PLUG "\xf3\xb0\x9a\xa5" // U+F06A5 power-plug, tags: Home Automation -#define ICON_MD_POWER_PLUG_OFF "\xf3\xb0\x9a\xa6" // U+F06A6 power-plug-off, aliases: power-off, tags: Home Automation -#define ICON_MD_POWER_PLUG_OFF_OUTLINE "\xf3\xb1\x90\xa4" // U+F1424 power-plug-off-outline, tags: Home Automation -#define ICON_MD_POWER_PLUG_OUTLINE "\xf3\xb1\x90\xa5" // U+F1425 power-plug-outline, tags: Home Automation -#define ICON_MD_POWER_SETTINGS "\xf3\xb0\x90\xa6" // U+F0426 power-settings, aliases: settings-power, tags: Settings -#define ICON_MD_POWER_SLEEP "\xf3\xb0\xa4\x84" // U+F0904 power-sleep -#define ICON_MD_POWER_SOCKET "\xf3\xb0\x90\xa7" // U+F0427 power-socket, aliases: plug-socket, tags: Home Automation -#define ICON_MD_POWER_SOCKET_AU "\xf3\xb0\xa4\x85" // U+F0905 power-socket-au, aliases: plug-socket-au, power-socket-type-i, power-socket-cn, power-socket-ar, power-socket-nz, power-socket-pg, power-socket-australia, power-socket-china, power-socket-argentina, power-socket-new-zealand, power-socket-papua-new-guinea, tags: Home Automation -#define ICON_MD_POWER_SOCKET_CH "\xf3\xb0\xbe\xb3" // U+F0FB3 power-socket-ch, aliases: plug-socket-ch, power-socket-type-j, plug-socket-type-j, power-socket-switzerland, plug-socket-switzerland, tags: Home Automation -#define ICON_MD_POWER_SOCKET_DE "\xf3\xb1\x84\x87" // U+F1107 power-socket-de, tags: Home Automation -#define ICON_MD_POWER_SOCKET_EU "\xf3\xb0\x9f\xa7" // U+F07E7 power-socket-eu, aliases: plug-socket-eu, power-socket-europe, tags: Home Automation -#define ICON_MD_POWER_SOCKET_FR "\xf3\xb1\x84\x88" // U+F1108 power-socket-fr, tags: Home Automation -#define ICON_MD_POWER_SOCKET_IT "\xf3\xb1\x93\xbf" // U+F14FF power-socket-it -#define ICON_MD_POWER_SOCKET_JP "\xf3\xb1\x84\x89" // U+F1109 power-socket-jp, tags: Home Automation -#define ICON_MD_POWER_SOCKET_UK "\xf3\xb0\x9f\xa8" // U+F07E8 power-socket-uk, aliases: plug-socket-uk, power-socket-type-g, power-socket-ie, power-socket-hk, power-socket-my, power-socket-cy, power-socket-mt, power-socket-sg, power-socket-united-kingdom, power-socket-ireland, power-socket-hong-kong, power-socket-malaysia, power-socket-cyprus, power-socket-malta, power-socket-singapore, tags: Home Automation -#define ICON_MD_POWER_SOCKET_US "\xf3\xb0\x9f\xa9" // U+F07E9 power-socket-us, aliases: plug-socket-us, power-socket-ca, power-socket-mx, power-socket-type-b, power-socket-united-states, power-socket-japan, power-socket-canada, power-socket-mexico, tags: Home Automation -#define ICON_MD_POWER_STANDBY "\xf3\xb0\xa4\x86" // U+F0906 power-standby -#define ICON_MD_POWERSHELL "\xf3\xb0\xa8\x8a" // U+F0A0A powershell -#define ICON_MD_PRESCRIPTION "\xf3\xb0\x9c\x86" // U+F0706 prescription, tags: Medical / Hospital -#define ICON_MD_PRESENTATION "\xf3\xb0\x90\xa8" // U+F0428 presentation -#define ICON_MD_PRESENTATION_PLAY "\xf3\xb0\x90\xa9" // U+F0429 presentation-play -#define ICON_MD_PRETZEL "\xf3\xb1\x95\xa2" // U+F1562 pretzel, tags: Food / Drink -#define ICON_MD_PRINTER "\xf3\xb0\x90\xaa" // U+F042A printer, aliases: local-printshop, local-print-shop, tags: Printer, Home Automation -#define ICON_MD_PRINTER_3D "\xf3\xb0\x90\xab" // U+F042B printer-3d, tags: Printer, Home Automation -#define ICON_MD_PRINTER_3D_NOZZLE "\xf3\xb0\xb9\x9b" // U+F0E5B printer-3d-nozzle, tags: Printer -#define ICON_MD_PRINTER_3D_NOZZLE_ALERT "\xf3\xb1\x87\x80" // U+F11C0 printer-3d-nozzle-alert, tags: Alert / Error, Printer -#define ICON_MD_PRINTER_3D_NOZZLE_ALERT_OUTLINE "\xf3\xb1\x87\x81" // U+F11C1 printer-3d-nozzle-alert-outline, tags: Alert / Error, Printer -#define ICON_MD_PRINTER_3D_NOZZLE_HEAT "\xf3\xb1\xa2\xb8" // U+F18B8 printer-3d-nozzle-heat, tags: Printer -#define ICON_MD_PRINTER_3D_NOZZLE_HEAT_OUTLINE "\xf3\xb1\xa2\xb9" // U+F18B9 printer-3d-nozzle-heat-outline, tags: Printer -#define ICON_MD_PRINTER_3D_NOZZLE_OFF "\xf3\xb1\xac\x99" // U+F1B19 printer-3d-nozzle-off, tags: Printer -#define ICON_MD_PRINTER_3D_NOZZLE_OFF_OUTLINE "\xf3\xb1\xac\x9a" // U+F1B1A printer-3d-nozzle-off-outline, tags: Printer -#define ICON_MD_PRINTER_3D_NOZZLE_OUTLINE "\xf3\xb0\xb9\x9c" // U+F0E5C printer-3d-nozzle-outline, tags: Printer -#define ICON_MD_PRINTER_3D_OFF "\xf3\xb1\xac\x8e" // U+F1B0E printer-3d-off, tags: Printer -#define ICON_MD_PRINTER_ALERT "\xf3\xb0\x90\xac" // U+F042C printer-alert, aliases: printer-warning, paper-jam, tags: Printer, Home Automation, Alert / Error -#define ICON_MD_PRINTER_CHECK "\xf3\xb1\x85\x86" // U+F1146 printer-check, tags: Printer -#define ICON_MD_PRINTER_EYE "\xf3\xb1\x91\x98" // U+F1458 printer-eye, aliases: printer-preview, printer-view, tags: Printer -#define ICON_MD_PRINTER_OFF "\xf3\xb0\xb9\x9d" // U+F0E5D printer-off, tags: Printer -#define ICON_MD_PRINTER_OFF_OUTLINE "\xf3\xb1\x9e\x85" // U+F1785 printer-off-outline, tags: Printer -#define ICON_MD_PRINTER_OUTLINE "\xf3\xb1\x9e\x86" // U+F1786 printer-outline, tags: Printer -#define ICON_MD_PRINTER_POS "\xf3\xb1\x81\x97" // U+F1057 printer-pos, aliases: printer-point-of-sale, tags: Printer -#define ICON_MD_PRINTER_SEARCH "\xf3\xb1\x91\x97" // U+F1457 printer-search, aliases: printer-preview, printer-magnify, tags: Printer -#define ICON_MD_PRINTER_SETTINGS "\xf3\xb0\x9c\x87" // U+F0707 printer-settings, tags: Settings, Printer -#define ICON_MD_PRINTER_WIRELESS "\xf3\xb0\xa8\x8b" // U+F0A0B printer-wireless, tags: Printer -#define ICON_MD_PRIORITY_HIGH "\xf3\xb0\x98\x83" // U+F0603 priority-high -#define ICON_MD_PRIORITY_LOW "\xf3\xb0\x98\x84" // U+F0604 priority-low, aliases: low-priority -#define ICON_MD_PROFESSIONAL_HEXAGON "\xf3\xb0\x90\xad" // U+F042D professional-hexagon -#define ICON_MD_PROGRESS_ALERT "\xf3\xb0\xb2\xbc" // U+F0CBC progress-alert, aliases: progress-warning, tags: Alert / Error -#define ICON_MD_PROGRESS_CHECK "\xf3\xb0\xa6\x95" // U+F0995 progress-check, aliases: progress-tick -#define ICON_MD_PROGRESS_CLOCK "\xf3\xb0\xa6\x96" // U+F0996 progress-clock, tags: Date / Time -#define ICON_MD_PROGRESS_CLOSE "\xf3\xb1\x84\x8a" // U+F110A progress-close -#define ICON_MD_PROGRESS_DOWNLOAD "\xf3\xb0\xa6\x97" // U+F0997 progress-download -#define ICON_MD_PROGRESS_HELPER "\xf3\xb1\xae\xa2" // U+F1BA2 progress-helper -#define ICON_MD_PROGRESS_PENCIL "\xf3\xb1\x9e\x87" // U+F1787 progress-pencil -#define ICON_MD_PROGRESS_QUESTION "\xf3\xb1\x94\xa2" // U+F1522 progress-question -#define ICON_MD_PROGRESS_STAR "\xf3\xb1\x9e\x88" // U+F1788 progress-star -#define ICON_MD_PROGRESS_UPLOAD "\xf3\xb0\xa6\x98" // U+F0998 progress-upload -#define ICON_MD_PROGRESS_WRENCH "\xf3\xb0\xb2\xbd" // U+F0CBD progress-wrench, aliases: progress-spanner, tags: Hardware / Tools -#define ICON_MD_PROJECTOR "\xf3\xb0\x90\xae" // U+F042E projector, tags: Device / Tech, Home Automation -#define ICON_MD_PROJECTOR_OFF "\xf3\xb1\xa8\xa3" // U+F1A23 projector-off, tags: Device / Tech, Home Automation -#define ICON_MD_PROJECTOR_SCREEN "\xf3\xb0\x90\xaf" // U+F042F projector-screen, tags: Device / Tech, Home Automation -#define ICON_MD_PROJECTOR_SCREEN_OFF "\xf3\xb1\xa0\x8d" // U+F180D projector-screen-off, tags: Home Automation -#define ICON_MD_PROJECTOR_SCREEN_OFF_OUTLINE "\xf3\xb1\xa0\x8e" // U+F180E projector-screen-off-outline, tags: Home Automation -#define ICON_MD_PROJECTOR_SCREEN_OUTLINE "\xf3\xb1\x9c\xa4" // U+F1724 projector-screen-outline, tags: Home Automation -#define ICON_MD_PROJECTOR_SCREEN_VARIANT "\xf3\xb1\xa0\x8f" // U+F180F projector-screen-variant, tags: Home Automation -#define ICON_MD_PROJECTOR_SCREEN_VARIANT_OFF "\xf3\xb1\xa0\x90" // U+F1810 projector-screen-variant-off, tags: Home Automation -#define ICON_MD_PROJECTOR_SCREEN_VARIANT_OFF_OUTLINE "\xf3\xb1\xa0\x91" // U+F1811 projector-screen-variant-off-outline, tags: Home Automation -#define ICON_MD_PROJECTOR_SCREEN_VARIANT_OUTLINE "\xf3\xb1\xa0\x92" // U+F1812 projector-screen-variant-outline, tags: Home Automation -#define ICON_MD_PROPANE_TANK "\xf3\xb1\x8d\x97" // U+F1357 propane-tank -#define ICON_MD_PROPANE_TANK_OUTLINE "\xf3\xb1\x8d\x98" // U+F1358 propane-tank-outline -#define ICON_MD_PROTOCOL "\xf3\xb0\xbf\x98" // U+F0FD8 protocol -#define ICON_MD_PUBLISH "\xf3\xb0\x9a\xa7" // U+F06A7 publish -#define ICON_MD_PUBLISH_OFF "\xf3\xb1\xa5\x85" // U+F1945 publish-off, aliases: publish-disabled, tags: Arrow -#define ICON_MD_PULSE "\xf3\xb0\x90\xb0" // U+F0430 pulse, aliases: vitals, tags: Medical / Hospital -#define ICON_MD_PUMP "\xf3\xb1\x90\x82" // U+F1402 pump -#define ICON_MD_PUMP_OFF "\xf3\xb1\xac\xa2" // U+F1B22 pump-off -#define ICON_MD_PUMPKIN "\xf3\xb0\xae\xbf" // U+F0BBF pumpkin, tags: Holiday -#define ICON_MD_PURSE "\xf3\xb0\xbc\x9c" // U+F0F1C purse -#define ICON_MD_PURSE_OUTLINE "\xf3\xb0\xbc\x9d" // U+F0F1D purse-outline -#define ICON_MD_PUZZLE "\xf3\xb0\x90\xb1" // U+F0431 puzzle, aliases: extension, jigsaw, tags: Gaming / RPG -#define ICON_MD_PUZZLE_CHECK "\xf3\xb1\x90\xa6" // U+F1426 puzzle-check, tags: Gaming / RPG -#define ICON_MD_PUZZLE_CHECK_OUTLINE "\xf3\xb1\x90\xa7" // U+F1427 puzzle-check-outline, tags: Gaming / RPG -#define ICON_MD_PUZZLE_EDIT "\xf3\xb1\x93\x93" // U+F14D3 puzzle-edit, tags: Gaming / RPG, Edit / Modify -#define ICON_MD_PUZZLE_EDIT_OUTLINE "\xf3\xb1\x93\x99" // U+F14D9 puzzle-edit-outline, tags: Gaming / RPG, Edit / Modify -#define ICON_MD_PUZZLE_HEART "\xf3\xb1\x93\x94" // U+F14D4 puzzle-heart, tags: Gaming / RPG -#define ICON_MD_PUZZLE_HEART_OUTLINE "\xf3\xb1\x93\x9a" // U+F14DA puzzle-heart-outline, tags: Gaming / RPG -#define ICON_MD_PUZZLE_MINUS "\xf3\xb1\x93\x91" // U+F14D1 puzzle-minus, tags: Gaming / RPG -#define ICON_MD_PUZZLE_MINUS_OUTLINE "\xf3\xb1\x93\x97" // U+F14D7 puzzle-minus-outline, tags: Gaming / RPG -#define ICON_MD_PUZZLE_OUTLINE "\xf3\xb0\xa9\xa6" // U+F0A66 puzzle-outline, aliases: jigsaw-outline, extension-outline, tags: Gaming / RPG -#define ICON_MD_PUZZLE_PLUS "\xf3\xb1\x93\x90" // U+F14D0 puzzle-plus, tags: Gaming / RPG -#define ICON_MD_PUZZLE_PLUS_OUTLINE "\xf3\xb1\x93\x96" // U+F14D6 puzzle-plus-outline, tags: Gaming / RPG -#define ICON_MD_PUZZLE_REMOVE "\xf3\xb1\x93\x92" // U+F14D2 puzzle-remove, tags: Gaming / RPG -#define ICON_MD_PUZZLE_REMOVE_OUTLINE "\xf3\xb1\x93\x98" // U+F14D8 puzzle-remove-outline, tags: Gaming / RPG -#define ICON_MD_PUZZLE_STAR "\xf3\xb1\x93\x95" // U+F14D5 puzzle-star, aliases: puzzle-favorite, tags: Gaming / RPG -#define ICON_MD_PUZZLE_STAR_OUTLINE "\xf3\xb1\x93\x9b" // U+F14DB puzzle-star-outline, aliases: puzzle-favorite-outline, tags: Gaming / RPG -#define ICON_MD_PYRAMID "\xf3\xb1\xa5\x92" // U+F1952 pyramid, tags: Shape -#define ICON_MD_PYRAMID_OFF "\xf3\xb1\xa5\x93" // U+F1953 pyramid-off, tags: Shape -#define ICON_MD_QI "\xf3\xb0\xa6\x99" // U+F0999 qi -#define ICON_MD_QQCHAT "\xf3\xb0\x98\x85" // U+F0605 qqchat, tags: Brand / Logo -#define ICON_MD_QRCODE "\xf3\xb0\x90\xb2" // U+F0432 qrcode -#define ICON_MD_QRCODE_EDIT "\xf3\xb0\xa2\xb8" // U+F08B8 qrcode-edit, tags: Edit / Modify -#define ICON_MD_QRCODE_MINUS "\xf3\xb1\x86\x8c" // U+F118C qrcode-minus -#define ICON_MD_QRCODE_PLUS "\xf3\xb1\x86\x8b" // U+F118B qrcode-plus -#define ICON_MD_QRCODE_REMOVE "\xf3\xb1\x86\x8d" // U+F118D qrcode-remove -#define ICON_MD_QRCODE_SCAN "\xf3\xb0\x90\xb3" // U+F0433 qrcode-scan -#define ICON_MD_QUADCOPTER "\xf3\xb0\x90\xb4" // U+F0434 quadcopter, aliases: drone -#define ICON_MD_QUALITY_HIGH "\xf3\xb0\x90\xb5" // U+F0435 quality-high, aliases: high-quality, hq, tags: Video / Movie -#define ICON_MD_QUALITY_LOW "\xf3\xb0\xa8\x8c" // U+F0A0C quality-low, aliases: low-quality, lq -#define ICON_MD_QUALITY_MEDIUM "\xf3\xb0\xa8\x8d" // U+F0A0D quality-medium, aliases: medium-quality, mq -#define ICON_MD_QUORA "\xf3\xb0\xb4\xa9" // U+F0D29 quora -#define ICON_MD_RABBIT "\xf3\xb0\xa4\x87" // U+F0907 rabbit, aliases: bunny, hare, tags: Animal, Nature -#define ICON_MD_RABBIT_VARIANT "\xf3\xb1\xa9\xa1" // U+F1A61 rabbit-variant, aliases: bunny, easter, hare, cruelty-free, tags: Animal, Holiday, Nature -#define ICON_MD_RABBIT_VARIANT_OUTLINE "\xf3\xb1\xa9\xa2" // U+F1A62 rabbit-variant-outline, aliases: easter-outline, bunny-outline, hare-outline, cruelty-free-outline, tags: Animal, Holiday, Nature -#define ICON_MD_RACING_HELMET "\xf3\xb0\xb6\x93" // U+F0D93 racing-helmet, tags: Sport -#define ICON_MD_RACQUETBALL "\xf3\xb0\xb6\x94" // U+F0D94 racquetball, aliases: lacrosse, squash, tags: Sport -#define ICON_MD_RADAR "\xf3\xb0\x90\xb7" // U+F0437 radar, aliases: track-changes -#define ICON_MD_RADIATOR "\xf3\xb0\x90\xb8" // U+F0438 radiator, aliases: heater, tags: Home Automation -#define ICON_MD_RADIATOR_DISABLED "\xf3\xb0\xab\x97" // U+F0AD7 radiator-disabled, aliases: heater-disabled, tags: Home Automation -#define ICON_MD_RADIATOR_OFF "\xf3\xb0\xab\x98" // U+F0AD8 radiator-off, aliases: heater-off, tags: Home Automation -#define ICON_MD_RADIO "\xf3\xb0\x90\xb9" // U+F0439 radio, tags: Audio, Device / Tech -#define ICON_MD_RADIO_AM "\xf3\xb0\xb2\xbe" // U+F0CBE radio-am, tags: Audio -#define ICON_MD_RADIO_FM "\xf3\xb0\xb2\xbf" // U+F0CBF radio-fm, tags: Audio -#define ICON_MD_RADIO_HANDHELD "\xf3\xb0\x90\xba" // U+F043A radio-handheld, tags: Device / Tech -#define ICON_MD_RADIO_OFF "\xf3\xb1\x88\x9c" // U+F121C radio-off -#define ICON_MD_RADIO_TOWER "\xf3\xb0\x90\xbb" // U+F043B radio-tower -#define ICON_MD_RADIOACTIVE "\xf3\xb0\x90\xbc" // U+F043C radioactive, aliases: radiation, tags: Science -#define ICON_MD_RADIOACTIVE_CIRCLE "\xf3\xb1\xa1\x9d" // U+F185D radioactive-circle, aliases: radiation-circle, tags: Science -#define ICON_MD_RADIOACTIVE_CIRCLE_OUTLINE "\xf3\xb1\xa1\x9e" // U+F185E radioactive-circle-outline, aliases: radiation-circle-outline, tags: Science -#define ICON_MD_RADIOACTIVE_OFF "\xf3\xb0\xbb\x81" // U+F0EC1 radioactive-off, aliases: radiation-off, tags: Science -#define ICON_MD_RADIOBOX_BLANK "\xf3\xb0\x90\xbd" // U+F043D radiobox-blank, aliases: radio-button-unchecked, tags: Form -#define ICON_MD_RADIOBOX_MARKED "\xf3\xb0\x90\xbe" // U+F043E radiobox-marked, aliases: radio-button-checked, record, tags: Form -#define ICON_MD_RADIOLOGY_BOX "\xf3\xb1\x93\x85" // U+F14C5 radiology-box, aliases: x-ray-box, tags: Medical / Hospital -#define ICON_MD_RADIOLOGY_BOX_OUTLINE "\xf3\xb1\x93\x86" // U+F14C6 radiology-box-outline, aliases: x-ray-box-outline, tags: Medical / Hospital -#define ICON_MD_RADIUS "\xf3\xb0\xb3\x80" // U+F0CC0 radius, aliases: circle-radius, sphere-radius, tags: Math -#define ICON_MD_RADIUS_OUTLINE "\xf3\xb0\xb3\x81" // U+F0CC1 radius-outline, aliases: circle-radius-outline, sphere-radius-outline, tags: Math -#define ICON_MD_RAILROAD_LIGHT "\xf3\xb0\xbc\x9e" // U+F0F1E railroad-light, aliases: railroad-crossing-light, train-crossing-light, level-crossing-signals, tags: Transportation + Other -#define ICON_MD_RAKE "\xf3\xb1\x95\x84" // U+F1544 rake, tags: Hardware / Tools -#define ICON_MD_RASPBERRY_PI "\xf3\xb0\x90\xbf" // U+F043F raspberry-pi, aliases: raspberrypi -#define ICON_MD_RAW "\xf3\xb1\xa8\x8f" // U+F1A0F raw, tags: Photography -#define ICON_MD_RAW_OFF "\xf3\xb1\xa8\x90" // U+F1A10 raw-off, tags: Photography -#define ICON_MD_RAY_END "\xf3\xb0\x91\x80" // U+F0440 ray-end -#define ICON_MD_RAY_END_ARROW "\xf3\xb0\x91\x81" // U+F0441 ray-end-arrow -#define ICON_MD_RAY_START "\xf3\xb0\x91\x82" // U+F0442 ray-start -#define ICON_MD_RAY_START_ARROW "\xf3\xb0\x91\x83" // U+F0443 ray-start-arrow -#define ICON_MD_RAY_START_END "\xf3\xb0\x91\x84" // U+F0444 ray-start-end -#define ICON_MD_RAY_START_VERTEX_END "\xf3\xb1\x97\x98" // U+F15D8 ray-start-vertex-end -#define ICON_MD_RAY_VERTEX "\xf3\xb0\x91\x85" // U+F0445 ray-vertex -#define ICON_MD_RAZOR_DOUBLE_EDGE "\xf3\xb1\xa6\x97" // U+F1997 razor-double-edge, tags: Health / Beauty, Hardware / Tools -#define ICON_MD_RAZOR_SINGLE_EDGE "\xf3\xb1\xa6\x98" // U+F1998 razor-single-edge, tags: Hardware / Tools -#define ICON_MD_REACT "\xf3\xb0\x9c\x88" // U+F0708 react, tags: Brand / Logo, Developer / Languages -#define ICON_MD_READ "\xf3\xb0\x91\x87" // U+F0447 read -#define ICON_MD_RECEIPT "\xf3\xb0\xa0\xa4" // U+F0824 receipt, aliases: cloth, fabric, swatch -#define ICON_MD_RECEIPT_OUTLINE "\xf3\xb0\x93\xb7" // U+F04F7 receipt-outline, aliases: cloth-outline, fabric-outline, swatch-outline -#define ICON_MD_RECEIPT_TEXT "\xf3\xb0\x91\x89" // U+F0449 receipt-text, aliases: invoice -#define ICON_MD_RECEIPT_TEXT_CHECK "\xf3\xb1\xa9\xa3" // U+F1A63 receipt-text-check, aliases: invoice-check -#define ICON_MD_RECEIPT_TEXT_CHECK_OUTLINE "\xf3\xb1\xa9\xa4" // U+F1A64 receipt-text-check-outline, aliases: invoice-check-outline -#define ICON_MD_RECEIPT_TEXT_MINUS "\xf3\xb1\xa9\xa5" // U+F1A65 receipt-text-minus, aliases: invoice-minus -#define ICON_MD_RECEIPT_TEXT_MINUS_OUTLINE "\xf3\xb1\xa9\xa6" // U+F1A66 receipt-text-minus-outline, aliases: invoice-minus-outline -#define ICON_MD_RECEIPT_TEXT_OUTLINE "\xf3\xb1\xa7\x9c" // U+F19DC receipt-text-outline, aliases: invoice-outline -#define ICON_MD_RECEIPT_TEXT_PLUS "\xf3\xb1\xa9\xa7" // U+F1A67 receipt-text-plus, aliases: invoice-plus, invoice-add, receipt-text-add -#define ICON_MD_RECEIPT_TEXT_PLUS_OUTLINE "\xf3\xb1\xa9\xa8" // U+F1A68 receipt-text-plus-outline, aliases: invoice-plus, invoice-add, receipt-text-add -#define ICON_MD_RECEIPT_TEXT_REMOVE "\xf3\xb1\xa9\xa9" // U+F1A69 receipt-text-remove, aliases: invoice-remove -#define ICON_MD_RECEIPT_TEXT_REMOVE_OUTLINE "\xf3\xb1\xa9\xaa" // U+F1A6A receipt-text-remove-outline, aliases: invoice-remove-outline -#define ICON_MD_RECORD "\xf3\xb0\x91\x8a" // U+F044A record, aliases: fiber-manual-record, tags: Home Automation -#define ICON_MD_RECORD_CIRCLE "\xf3\xb0\xbb\x82" // U+F0EC2 record-circle -#define ICON_MD_RECORD_CIRCLE_OUTLINE "\xf3\xb0\xbb\x83" // U+F0EC3 record-circle-outline -#define ICON_MD_RECORD_PLAYER "\xf3\xb0\xa6\x9a" // U+F099A record-player, tags: Home Automation -#define ICON_MD_RECORD_REC "\xf3\xb0\x91\x8b" // U+F044B record-rec, tags: Home Automation -#define ICON_MD_RECTANGLE "\xf3\xb0\xb9\x9e" // U+F0E5E rectangle, tags: Shape -#define ICON_MD_RECTANGLE_OUTLINE "\xf3\xb0\xb9\x9f" // U+F0E5F rectangle-outline, tags: Shape -#define ICON_MD_RECYCLE "\xf3\xb0\x91\x8c" // U+F044C recycle -#define ICON_MD_RECYCLE_VARIANT "\xf3\xb1\x8e\x9d" // U+F139D recycle-variant -#define ICON_MD_REDDIT "\xf3\xb0\x91\x8d" // U+F044D reddit, tags: Social Media, Brand / Logo -#define ICON_MD_REDHAT "\xf3\xb1\x84\x9b" // U+F111B redhat -#define ICON_MD_REDO "\xf3\xb0\x91\x8e" // U+F044E redo, aliases: arrow -#define ICON_MD_REDO_VARIANT "\xf3\xb0\x91\x8f" // U+F044F redo-variant, aliases: arrow -#define ICON_MD_REFLECT_HORIZONTAL "\xf3\xb0\xa8\x8e" // U+F0A0E reflect-horizontal -#define ICON_MD_REFLECT_VERTICAL "\xf3\xb0\xa8\x8f" // U+F0A0F reflect-vertical -#define ICON_MD_REFRESH "\xf3\xb0\x91\x90" // U+F0450 refresh, aliases: loop, tags: Arrow -#define ICON_MD_REFRESH_AUTO "\xf3\xb1\xa3\xb2" // U+F18F2 refresh-auto, aliases: auto-start, automatic-start, auto-stop, automatic-stop, automatic, refresh-automatic, tags: Automotive -#define ICON_MD_REFRESH_CIRCLE "\xf3\xb1\x8d\xb7" // U+F1377 refresh-circle -#define ICON_MD_REGEX "\xf3\xb0\x91\x91" // U+F0451 regex, aliases: regular-expression -#define ICON_MD_REGISTERED_TRADEMARK "\xf3\xb0\xa9\xa7" // U+F0A67 registered-trademark -#define ICON_MD_REITERATE "\xf3\xb1\x96\x88" // U+F1588 reiterate, tags: Arrow -#define ICON_MD_RELATION_MANY_TO_MANY "\xf3\xb1\x92\x96" // U+F1496 relation-many-to-many, tags: Database -#define ICON_MD_RELATION_MANY_TO_ONE "\xf3\xb1\x92\x97" // U+F1497 relation-many-to-one, tags: Database -#define ICON_MD_RELATION_MANY_TO_ONE_OR_MANY "\xf3\xb1\x92\x98" // U+F1498 relation-many-to-one-or-many, tags: Database -#define ICON_MD_RELATION_MANY_TO_ONLY_ONE "\xf3\xb1\x92\x99" // U+F1499 relation-many-to-only-one, tags: Database -#define ICON_MD_RELATION_MANY_TO_ZERO_OR_MANY "\xf3\xb1\x92\x9a" // U+F149A relation-many-to-zero-or-many, tags: Database -#define ICON_MD_RELATION_MANY_TO_ZERO_OR_ONE "\xf3\xb1\x92\x9b" // U+F149B relation-many-to-zero-or-one, tags: Database -#define ICON_MD_RELATION_ONE_OR_MANY_TO_MANY "\xf3\xb1\x92\x9c" // U+F149C relation-one-or-many-to-many, tags: Database -#define ICON_MD_RELATION_ONE_OR_MANY_TO_ONE "\xf3\xb1\x92\x9d" // U+F149D relation-one-or-many-to-one, tags: Database -#define ICON_MD_RELATION_ONE_OR_MANY_TO_ONE_OR_MANY "\xf3\xb1\x92\x9e" // U+F149E relation-one-or-many-to-one-or-many, tags: Database -#define ICON_MD_RELATION_ONE_OR_MANY_TO_ONLY_ONE "\xf3\xb1\x92\x9f" // U+F149F relation-one-or-many-to-only-one, tags: Database -#define ICON_MD_RELATION_ONE_OR_MANY_TO_ZERO_OR_MANY "\xf3\xb1\x92\xa0" // U+F14A0 relation-one-or-many-to-zero-or-many, tags: Database -#define ICON_MD_RELATION_ONE_OR_MANY_TO_ZERO_OR_ONE "\xf3\xb1\x92\xa1" // U+F14A1 relation-one-or-many-to-zero-or-one, tags: Database -#define ICON_MD_RELATION_ONE_TO_MANY "\xf3\xb1\x92\xa2" // U+F14A2 relation-one-to-many, tags: Database -#define ICON_MD_RELATION_ONE_TO_ONE "\xf3\xb1\x92\xa3" // U+F14A3 relation-one-to-one, tags: Database -#define ICON_MD_RELATION_ONE_TO_ONE_OR_MANY "\xf3\xb1\x92\xa4" // U+F14A4 relation-one-to-one-or-many, tags: Database -#define ICON_MD_RELATION_ONE_TO_ONLY_ONE "\xf3\xb1\x92\xa5" // U+F14A5 relation-one-to-only-one, tags: Database -#define ICON_MD_RELATION_ONE_TO_ZERO_OR_MANY "\xf3\xb1\x92\xa6" // U+F14A6 relation-one-to-zero-or-many, tags: Database -#define ICON_MD_RELATION_ONE_TO_ZERO_OR_ONE "\xf3\xb1\x92\xa7" // U+F14A7 relation-one-to-zero-or-one, tags: Database -#define ICON_MD_RELATION_ONLY_ONE_TO_MANY "\xf3\xb1\x92\xa8" // U+F14A8 relation-only-one-to-many, tags: Database -#define ICON_MD_RELATION_ONLY_ONE_TO_ONE "\xf3\xb1\x92\xa9" // U+F14A9 relation-only-one-to-one, tags: Database -#define ICON_MD_RELATION_ONLY_ONE_TO_ONE_OR_MANY "\xf3\xb1\x92\xaa" // U+F14AA relation-only-one-to-one-or-many, tags: Database -#define ICON_MD_RELATION_ONLY_ONE_TO_ONLY_ONE "\xf3\xb1\x92\xab" // U+F14AB relation-only-one-to-only-one, tags: Database -#define ICON_MD_RELATION_ONLY_ONE_TO_ZERO_OR_MANY "\xf3\xb1\x92\xac" // U+F14AC relation-only-one-to-zero-or-many, tags: Database -#define ICON_MD_RELATION_ONLY_ONE_TO_ZERO_OR_ONE "\xf3\xb1\x92\xad" // U+F14AD relation-only-one-to-zero-or-one, tags: Database -#define ICON_MD_RELATION_ZERO_OR_MANY_TO_MANY "\xf3\xb1\x92\xae" // U+F14AE relation-zero-or-many-to-many, tags: Database -#define ICON_MD_RELATION_ZERO_OR_MANY_TO_ONE "\xf3\xb1\x92\xaf" // U+F14AF relation-zero-or-many-to-one, tags: Database -#define ICON_MD_RELATION_ZERO_OR_MANY_TO_ONE_OR_MANY "\xf3\xb1\x92\xb0" // U+F14B0 relation-zero-or-many-to-one-or-many, tags: Database -#define ICON_MD_RELATION_ZERO_OR_MANY_TO_ONLY_ONE "\xf3\xb1\x92\xb1" // U+F14B1 relation-zero-or-many-to-only-one, tags: Database -#define ICON_MD_RELATION_ZERO_OR_MANY_TO_ZERO_OR_MANY "\xf3\xb1\x92\xb2" // U+F14B2 relation-zero-or-many-to-zero-or-many, tags: Database -#define ICON_MD_RELATION_ZERO_OR_MANY_TO_ZERO_OR_ONE "\xf3\xb1\x92\xb3" // U+F14B3 relation-zero-or-many-to-zero-or-one, tags: Database -#define ICON_MD_RELATION_ZERO_OR_ONE_TO_MANY "\xf3\xb1\x92\xb4" // U+F14B4 relation-zero-or-one-to-many, tags: Database -#define ICON_MD_RELATION_ZERO_OR_ONE_TO_ONE "\xf3\xb1\x92\xb5" // U+F14B5 relation-zero-or-one-to-one, tags: Database -#define ICON_MD_RELATION_ZERO_OR_ONE_TO_ONE_OR_MANY "\xf3\xb1\x92\xb6" // U+F14B6 relation-zero-or-one-to-one-or-many, tags: Database -#define ICON_MD_RELATION_ZERO_OR_ONE_TO_ONLY_ONE "\xf3\xb1\x92\xb7" // U+F14B7 relation-zero-or-one-to-only-one, tags: Database -#define ICON_MD_RELATION_ZERO_OR_ONE_TO_ZERO_OR_MANY "\xf3\xb1\x92\xb8" // U+F14B8 relation-zero-or-one-to-zero-or-many, tags: Database -#define ICON_MD_RELATION_ZERO_OR_ONE_TO_ZERO_OR_ONE "\xf3\xb1\x92\xb9" // U+F14B9 relation-zero-or-one-to-zero-or-one, tags: Database -#define ICON_MD_RELATIVE_SCALE "\xf3\xb0\x91\x92" // U+F0452 relative-scale, aliases: image-aspect-ratio -#define ICON_MD_RELOAD "\xf3\xb0\x91\x93" // U+F0453 reload, aliases: car-engine-start, loop, rotate-clockwise, tags: Automotive, Arrow -#define ICON_MD_RELOAD_ALERT "\xf3\xb1\x84\x8b" // U+F110B reload-alert, tags: Alert / Error -#define ICON_MD_REMINDER "\xf3\xb0\xa2\x8c" // U+F088C reminder -#define ICON_MD_REMOTE "\xf3\xb0\x91\x94" // U+F0454 remote, aliases: settings-remote, tags: Home Automation -#define ICON_MD_REMOTE_DESKTOP "\xf3\xb0\xa2\xb9" // U+F08B9 remote-desktop -#define ICON_MD_REMOTE_OFF "\xf3\xb0\xbb\x84" // U+F0EC4 remote-off -#define ICON_MD_REMOTE_TV "\xf3\xb0\xbb\x85" // U+F0EC5 remote-tv, tags: Device / Tech -#define ICON_MD_REMOTE_TV_OFF "\xf3\xb0\xbb\x86" // U+F0EC6 remote-tv-off, tags: Device / Tech -#define ICON_MD_RENAME_BOX "\xf3\xb0\x91\x95" // U+F0455 rename-box -#define ICON_MD_REORDER_HORIZONTAL "\xf3\xb0\x9a\x88" // U+F0688 reorder-horizontal -#define ICON_MD_REORDER_VERTICAL "\xf3\xb0\x9a\x89" // U+F0689 reorder-vertical -#define ICON_MD_REPEAT "\xf3\xb0\x91\x96" // U+F0456 repeat, aliases: repost, tags: Arrow -#define ICON_MD_REPEAT_OFF "\xf3\xb0\x91\x97" // U+F0457 repeat-off -#define ICON_MD_REPEAT_ONCE "\xf3\xb0\x91\x98" // U+F0458 repeat-once, aliases: repeat-one -#define ICON_MD_REPEAT_VARIANT "\xf3\xb0\x95\x87" // U+F0547 repeat-variant, aliases: twitter-retweet, repost, tags: Arrow -#define ICON_MD_REPLAY "\xf3\xb0\x91\x99" // U+F0459 replay -#define ICON_MD_REPLY "\xf3\xb0\x91\x9a" // U+F045A reply, tags: Arrow -#define ICON_MD_REPLY_ALL "\xf3\xb0\x91\x9b" // U+F045B reply-all, tags: Arrow -#define ICON_MD_REPLY_ALL_OUTLINE "\xf3\xb0\xbc\x9f" // U+F0F1F reply-all-outline, tags: Arrow -#define ICON_MD_REPLY_CIRCLE "\xf3\xb1\x86\xae" // U+F11AE reply-circle, tags: Arrow -#define ICON_MD_REPLY_OUTLINE "\xf3\xb0\xbc\xa0" // U+F0F20 reply-outline, tags: Arrow -#define ICON_MD_REPRODUCTION "\xf3\xb0\x91\x9c" // U+F045C reproduction, tags: Medical / Hospital -#define ICON_MD_RESISTOR "\xf3\xb0\xad\x84" // U+F0B44 resistor -#define ICON_MD_RESISTOR_NODES "\xf3\xb0\xad\x85" // U+F0B45 resistor-nodes -#define ICON_MD_RESIZE "\xf3\xb0\xa9\xa8" // U+F0A68 resize -#define ICON_MD_RESIZE_BOTTOM_RIGHT "\xf3\xb0\x91\x9d" // U+F045D resize-bottom-right, aliases: drag -#define ICON_MD_RESPONSIVE "\xf3\xb0\x91\x9e" // U+F045E responsive -#define ICON_MD_RESTART "\xf3\xb0\x9c\x89" // U+F0709 restart -#define ICON_MD_RESTART_ALERT "\xf3\xb1\x84\x8c" // U+F110C restart-alert, tags: Alert / Error -#define ICON_MD_RESTART_OFF "\xf3\xb0\xb6\x95" // U+F0D95 restart-off -#define ICON_MD_RESTORE "\xf3\xb0\xa6\x9b" // U+F099B restore, aliases: loop, rotate-counter-clockwise, tags: Arrow -#define ICON_MD_RESTORE_ALERT "\xf3\xb1\x84\x8d" // U+F110D restore-alert, tags: Alert / Error -#define ICON_MD_REWIND "\xf3\xb0\x91\x9f" // U+F045F rewind, aliases: fast-rewind -#define ICON_MD_REWIND_10 "\xf3\xb0\xb4\xaa" // U+F0D2A rewind-10 -#define ICON_MD_REWIND_15 "\xf3\xb1\xa5\x86" // U+F1946 rewind-15 -#define ICON_MD_REWIND_30 "\xf3\xb0\xb6\x96" // U+F0D96 rewind-30 -#define ICON_MD_REWIND_45 "\xf3\xb1\xac\x93" // U+F1B13 rewind-45 -#define ICON_MD_REWIND_5 "\xf3\xb1\x87\xb9" // U+F11F9 rewind-5 -#define ICON_MD_REWIND_60 "\xf3\xb1\x98\x8c" // U+F160C rewind-60 -#define ICON_MD_REWIND_OUTLINE "\xf3\xb0\x9c\x8a" // U+F070A rewind-outline -#define ICON_MD_RHOMBUS "\xf3\xb0\x9c\x8b" // U+F070B rhombus, aliases: diamond, tags: Shape -#define ICON_MD_RHOMBUS_MEDIUM "\xf3\xb0\xa8\x90" // U+F0A10 rhombus-medium, tags: Shape -#define ICON_MD_RHOMBUS_MEDIUM_OUTLINE "\xf3\xb1\x93\x9c" // U+F14DC rhombus-medium-outline, tags: Shape -#define ICON_MD_RHOMBUS_OUTLINE "\xf3\xb0\x9c\x8c" // U+F070C rhombus-outline, aliases: diamond-outline, tags: Shape -#define ICON_MD_RHOMBUS_SPLIT "\xf3\xb0\xa8\x91" // U+F0A11 rhombus-split, aliases: collection, tags: Shape -#define ICON_MD_RHOMBUS_SPLIT_OUTLINE "\xf3\xb1\x93\x9d" // U+F14DD rhombus-split-outline, tags: Shape -#define ICON_MD_RIBBON "\xf3\xb0\x91\xa0" // U+F0460 ribbon -#define ICON_MD_RICE "\xf3\xb0\x9f\xaa" // U+F07EA rice, tags: Food / Drink -#define ICON_MD_RICKSHAW "\xf3\xb1\x96\xbb" // U+F15BB rickshaw, tags: Transportation + Road, Transportation + Other -#define ICON_MD_RICKSHAW_ELECTRIC "\xf3\xb1\x96\xbc" // U+F15BC rickshaw-electric, tags: Transportation + Road, Transportation + Other -#define ICON_MD_RING "\xf3\xb0\x9f\xab" // U+F07EB ring -#define ICON_MD_RIVET "\xf3\xb0\xb9\xa0" // U+F0E60 rivet, tags: Hardware / Tools -#define ICON_MD_ROAD "\xf3\xb0\x91\xa1" // U+F0461 road, tags: Transportation + Road -#define ICON_MD_ROAD_VARIANT "\xf3\xb0\x91\xa2" // U+F0462 road-variant, tags: Transportation + Road -#define ICON_MD_ROBBER "\xf3\xb1\x81\x98" // U+F1058 robber -#define ICON_MD_ROBOT "\xf3\xb0\x9a\xa9" // U+F06A9 robot, aliases: emoji-robot, emoticon-robot, tags: Home Automation -#define ICON_MD_ROBOT_ANGRY "\xf3\xb1\x9a\x9d" // U+F169D robot-angry, aliases: emoji-robot-angry, emoticon-robot-angry -#define ICON_MD_ROBOT_ANGRY_OUTLINE "\xf3\xb1\x9a\x9e" // U+F169E robot-angry-outline, aliases: emoji-robot-angry-outline, emoticon-robot-angry-outline -#define ICON_MD_ROBOT_CONFUSED "\xf3\xb1\x9a\x9f" // U+F169F robot-confused, aliases: emoji-robot-confused, emoticon-robot-confused -#define ICON_MD_ROBOT_CONFUSED_OUTLINE "\xf3\xb1\x9a\xa0" // U+F16A0 robot-confused-outline, aliases: emoji-robot-confused-outline, emoticon-robot-confused-outline -#define ICON_MD_ROBOT_DEAD "\xf3\xb1\x9a\xa1" // U+F16A1 robot-dead, aliases: emoji-robot-dead, emoticon-robot-dead -#define ICON_MD_ROBOT_DEAD_OUTLINE "\xf3\xb1\x9a\xa2" // U+F16A2 robot-dead-outline, aliases: emoji-robot-dead-outline, emoticon-robot-dead-outline -#define ICON_MD_ROBOT_EXCITED "\xf3\xb1\x9a\xa3" // U+F16A3 robot-excited, aliases: emoticon-robot-excited, emoji-robot-excited -#define ICON_MD_ROBOT_EXCITED_OUTLINE "\xf3\xb1\x9a\xa4" // U+F16A4 robot-excited-outline, aliases: emoji-robot-excited-outline, emoticon-robot-excited-outline -#define ICON_MD_ROBOT_HAPPY "\xf3\xb1\x9c\x99" // U+F1719 robot-happy, aliases: emoji-robot-happy, emoticon-robot-happy -#define ICON_MD_ROBOT_HAPPY_OUTLINE "\xf3\xb1\x9c\x9a" // U+F171A robot-happy-outline, aliases: emoji-robot-happy-outline, emoticon-robot-happy-outline -#define ICON_MD_ROBOT_INDUSTRIAL "\xf3\xb0\xad\x86" // U+F0B46 robot-industrial, aliases: autonomous, assembly -#define ICON_MD_ROBOT_INDUSTRIAL_OUTLINE "\xf3\xb1\xa8\x9a" // U+F1A1A robot-industrial-outline -#define ICON_MD_ROBOT_LOVE "\xf3\xb1\x9a\xa5" // U+F16A5 robot-love, aliases: emoji-robot-love, emoticon-robot-love -#define ICON_MD_ROBOT_LOVE_OUTLINE "\xf3\xb1\x9a\xa6" // U+F16A6 robot-love-outline -#define ICON_MD_ROBOT_MOWER "\xf3\xb1\x87\xb7" // U+F11F7 robot-mower, aliases: lawn-mower, tags: Home Automation -#define ICON_MD_ROBOT_MOWER_OUTLINE "\xf3\xb1\x87\xb3" // U+F11F3 robot-mower-outline, aliases: lawn-mower-outline, tags: Home Automation -#define ICON_MD_ROBOT_OFF "\xf3\xb1\x9a\xa7" // U+F16A7 robot-off, aliases: emoji-robot-off, emoticon-robot-off -#define ICON_MD_ROBOT_OFF_OUTLINE "\xf3\xb1\x99\xbb" // U+F167B robot-off-outline -#define ICON_MD_ROBOT_OUTLINE "\xf3\xb1\x99\xba" // U+F167A robot-outline, aliases: emoji-robot-outline, emoticon-robot-outline -#define ICON_MD_ROBOT_VACUUM "\xf3\xb0\x9c\x8d" // U+F070D robot-vacuum, aliases: roomba, tags: Device / Tech, Home Automation -#define ICON_MD_ROBOT_VACUUM_ALERT "\xf3\xb1\xad\x9d" // U+F1B5D robot-vacuum-alert, aliases: robot-vacuum-error, tags: Alert / Error, Home Automation -#define ICON_MD_ROBOT_VACUUM_VARIANT "\xf3\xb0\xa4\x88" // U+F0908 robot-vacuum-variant, aliases: neato, tags: Home Automation -#define ICON_MD_ROBOT_VACUUM_VARIANT_ALERT "\xf3\xb1\xad\x9e" // U+F1B5E robot-vacuum-variant-alert, aliases: robot-vacuum-variant-error, tags: Alert / Error, Home Automation -#define ICON_MD_ROCKET "\xf3\xb0\x91\xa3" // U+F0463 rocket, tags: Transportation + Flying, Science -#define ICON_MD_ROCKET_LAUNCH "\xf3\xb1\x93\x9e" // U+F14DE rocket-launch, tags: Science, Transportation + Flying -#define ICON_MD_ROCKET_LAUNCH_OUTLINE "\xf3\xb1\x93\x9f" // U+F14DF rocket-launch-outline, tags: Science, Transportation + Flying -#define ICON_MD_ROCKET_OUTLINE "\xf3\xb1\x8e\xaf" // U+F13AF rocket-outline, tags: Science, Transportation + Flying -#define ICON_MD_RODENT "\xf3\xb1\x8c\xa7" // U+F1327 rodent, aliases: mouse, rat, tags: Animal -#define ICON_MD_ROLLER_SHADE "\xf3\xb1\xa9\xab" // U+F1A6B roller-shade, aliases: blinds-open, window-open, tags: Home Automation -#define ICON_MD_ROLLER_SHADE_CLOSED "\xf3\xb1\xa9\xac" // U+F1A6C roller-shade-closed, aliases: blinds-closed, window-closed, tags: Home Automation -#define ICON_MD_ROLLER_SKATE "\xf3\xb0\xb4\xab" // U+F0D2B roller-skate, tags: Sport -#define ICON_MD_ROLLER_SKATE_OFF "\xf3\xb0\x85\x85" // U+F0145 roller-skate-off, tags: Sport -#define ICON_MD_ROLLERBLADE "\xf3\xb0\xb4\xac" // U+F0D2C rollerblade, tags: Sport -#define ICON_MD_ROLLERBLADE_OFF "\xf3\xb0\x80\xae" // U+F002E rollerblade-off, tags: Sport -#define ICON_MD_ROLLUPJS "\xf3\xb0\xaf\x80" // U+F0BC0 rollupjs, aliases: rollup-js, tags: Brand / Logo, Developer / Languages -#define ICON_MD_ROLODEX "\xf3\xb1\xaa\xb9" // U+F1AB9 rolodex -#define ICON_MD_ROLODEX_OUTLINE "\xf3\xb1\xaa\xba" // U+F1ABA rolodex-outline -#define ICON_MD_ROMAN_NUMERAL_1 "\xf3\xb1\x82\x88" // U+F1088 roman-numeral-1, tags: Alpha / Numeric -#define ICON_MD_ROMAN_NUMERAL_10 "\xf3\xb1\x82\x91" // U+F1091 roman-numeral-10, tags: Alpha / Numeric -#define ICON_MD_ROMAN_NUMERAL_2 "\xf3\xb1\x82\x89" // U+F1089 roman-numeral-2, tags: Alpha / Numeric -#define ICON_MD_ROMAN_NUMERAL_3 "\xf3\xb1\x82\x8a" // U+F108A roman-numeral-3, tags: Alpha / Numeric -#define ICON_MD_ROMAN_NUMERAL_4 "\xf3\xb1\x82\x8b" // U+F108B roman-numeral-4, tags: Alpha / Numeric -#define ICON_MD_ROMAN_NUMERAL_5 "\xf3\xb1\x82\x8c" // U+F108C roman-numeral-5, tags: Alpha / Numeric -#define ICON_MD_ROMAN_NUMERAL_6 "\xf3\xb1\x82\x8d" // U+F108D roman-numeral-6, tags: Alpha / Numeric -#define ICON_MD_ROMAN_NUMERAL_7 "\xf3\xb1\x82\x8e" // U+F108E roman-numeral-7, tags: Alpha / Numeric -#define ICON_MD_ROMAN_NUMERAL_8 "\xf3\xb1\x82\x8f" // U+F108F roman-numeral-8, tags: Alpha / Numeric -#define ICON_MD_ROMAN_NUMERAL_9 "\xf3\xb1\x82\x90" // U+F1090 roman-numeral-9, tags: Alpha / Numeric -#define ICON_MD_ROOM_SERVICE "\xf3\xb0\xa2\x8d" // U+F088D room-service -#define ICON_MD_ROOM_SERVICE_OUTLINE "\xf3\xb0\xb6\x97" // U+F0D97 room-service-outline -#define ICON_MD_ROTATE_360 "\xf3\xb1\xa6\x99" // U+F1999 rotate-360, tags: Arrow -#define ICON_MD_ROTATE_3D "\xf3\xb0\xbb\x87" // U+F0EC7 rotate-3d -#define ICON_MD_ROTATE_3D_VARIANT "\xf3\xb0\x91\xa4" // U+F0464 rotate-3d-variant, aliases: 3d-rotation -#define ICON_MD_ROTATE_LEFT "\xf3\xb0\x91\xa5" // U+F0465 rotate-left, aliases: arrow-rotate-left, tags: Arrow -#define ICON_MD_ROTATE_LEFT_VARIANT "\xf3\xb0\x91\xa6" // U+F0466 rotate-left-variant -#define ICON_MD_ROTATE_ORBIT "\xf3\xb0\xb6\x98" // U+F0D98 rotate-orbit, aliases: gyro, accelerometer -#define ICON_MD_ROTATE_RIGHT "\xf3\xb0\x91\xa7" // U+F0467 rotate-right, aliases: arrow-rotate-right, tags: Arrow -#define ICON_MD_ROTATE_RIGHT_VARIANT "\xf3\xb0\x91\xa8" // U+F0468 rotate-right-variant -#define ICON_MD_ROUNDED_CORNER "\xf3\xb0\x98\x87" // U+F0607 rounded-corner -#define ICON_MD_ROUTER "\xf3\xb1\x87\xa2" // U+F11E2 router -#define ICON_MD_ROUTER_NETWORK "\xf3\xb1\x82\x87" // U+F1087 router-network -#define ICON_MD_ROUTER_WIRELESS "\xf3\xb0\x91\xa9" // U+F0469 router-wireless -#define ICON_MD_ROUTER_WIRELESS_OFF "\xf3\xb1\x96\xa3" // U+F15A3 router-wireless-off -#define ICON_MD_ROUTER_WIRELESS_SETTINGS "\xf3\xb0\xa9\xa9" // U+F0A69 router-wireless-settings, tags: Settings -#define ICON_MD_ROUTES "\xf3\xb0\x91\xaa" // U+F046A routes, aliases: sign-routes -#define ICON_MD_ROUTES_CLOCK "\xf3\xb1\x81\x99" // U+F1059 routes-clock, tags: Date / Time -#define ICON_MD_ROWING "\xf3\xb0\x98\x88" // U+F0608 rowing, aliases: human-rowing, tags: Sport, Transportation + Water, People / Family -#define ICON_MD_RSS "\xf3\xb0\x91\xab" // U+F046B rss, aliases: rss-feed -#define ICON_MD_RSS_BOX "\xf3\xb0\x91\xac" // U+F046C rss-box, aliases: rss-feed-box -#define ICON_MD_RSS_OFF "\xf3\xb0\xbc\xa1" // U+F0F21 rss-off -#define ICON_MD_RUG "\xf3\xb1\x91\xb5" // U+F1475 rug, aliases: carpet, tags: Home Automation -#define ICON_MD_RUGBY "\xf3\xb0\xb6\x99" // U+F0D99 rugby, aliases: rugby-ball, tags: Sport -#define ICON_MD_RULER "\xf3\xb0\x91\xad" // U+F046D ruler, tags: Hardware / Tools, Drawing / Art -#define ICON_MD_RULER_SQUARE "\xf3\xb0\xb3\x82" // U+F0CC2 ruler-square, aliases: square, carpentry, architecture, tags: Hardware / Tools, Drawing / Art -#define ICON_MD_RULER_SQUARE_COMPASS "\xf3\xb0\xba\xbe" // U+F0EBE ruler-square-compass, aliases: mason, masonic, freemasonry, tags: Hardware / Tools -#define ICON_MD_RUN "\xf3\xb0\x9c\x8e" // U+F070E run, aliases: directions-run, human-run, tags: Sport, People / Family -#define ICON_MD_RUN_FAST "\xf3\xb0\x91\xae" // U+F046E run-fast, aliases: velocity, human-run-fast, tags: Home Automation, Sport, People / Family -#define ICON_MD_RV_TRUCK "\xf3\xb1\x87\x94" // U+F11D4 rv-truck, aliases: recreational-vehicle, campervan, tags: Transportation + Road -#define ICON_MD_SACK "\xf3\xb0\xb4\xae" // U+F0D2E sack, tags: Gaming / RPG -#define ICON_MD_SACK_PERCENT "\xf3\xb0\xb4\xaf" // U+F0D2F sack-percent -#define ICON_MD_SAFE "\xf3\xb0\xa9\xaa" // U+F0A6A safe, tags: Banking -#define ICON_MD_SAFE_SQUARE "\xf3\xb1\x89\xbc" // U+F127C safe-square -#define ICON_MD_SAFE_SQUARE_OUTLINE "\xf3\xb1\x89\xbd" // U+F127D safe-square-outline -#define ICON_MD_SAFETY_GOGGLES "\xf3\xb0\xb4\xb0" // U+F0D30 safety-goggles, aliases: safety-glasses, tags: Science -#define ICON_MD_SAIL_BOAT "\xf3\xb0\xbb\x88" // U+F0EC8 sail-boat, aliases: sailing, boat, tags: Sport, Transportation + Water -#define ICON_MD_SAIL_BOAT_SINK "\xf3\xb1\xab\xaf" // U+F1AEF sail-boat-sink, aliases: sail-boat-crash, sail-boat-wreck, tags: Transportation + Water -#define ICON_MD_SALE "\xf3\xb0\x91\xaf" // U+F046F sale, aliases: discount, tags: Shopping -#define ICON_MD_SALE_OUTLINE "\xf3\xb1\xa8\x86" // U+F1A06 sale-outline, aliases: discount-outline, tags: Shopping -#define ICON_MD_SALESFORCE "\xf3\xb0\xa2\x8e" // U+F088E salesforce, tags: Brand / Logo -#define ICON_MD_SASS "\xf3\xb0\x9f\xac" // U+F07EC sass, tags: Brand / Logo, Developer / Languages -#define ICON_MD_SATELLITE "\xf3\xb0\x91\xb0" // U+F0470 satellite -#define ICON_MD_SATELLITE_UPLINK "\xf3\xb0\xa4\x89" // U+F0909 satellite-uplink -#define ICON_MD_SATELLITE_VARIANT "\xf3\xb0\x91\xb1" // U+F0471 satellite-variant -#define ICON_MD_SAUSAGE "\xf3\xb0\xa2\xba" // U+F08BA sausage, tags: Food / Drink -#define ICON_MD_SAUSAGE_OFF "\xf3\xb1\x9e\x89" // U+F1789 sausage-off, tags: Food / Drink -#define ICON_MD_SAW_BLADE "\xf3\xb0\xb9\xa1" // U+F0E61 saw-blade, tags: Hardware / Tools -#define ICON_MD_SAWTOOTH_WAVE "\xf3\xb1\x91\xba" // U+F147A sawtooth-wave, tags: Audio -#define ICON_MD_SAXOPHONE "\xf3\xb0\x98\x89" // U+F0609 saxophone, tags: Music -#define ICON_MD_SCALE "\xf3\xb0\x91\xb2" // U+F0472 scale, tags: Food / Drink, Science -#define ICON_MD_SCALE_BALANCE "\xf3\xb0\x97\x91" // U+F05D1 scale-balance, aliases: justice, legal, tags: Science -#define ICON_MD_SCALE_BATHROOM "\xf3\xb0\x91\xb3" // U+F0473 scale-bathroom, tags: Home Automation, Medical / Hospital -#define ICON_MD_SCALE_OFF "\xf3\xb1\x81\x9a" // U+F105A scale-off, tags: Science -#define ICON_MD_SCALE_UNBALANCED "\xf3\xb1\xa6\xb8" // U+F19B8 scale-unbalanced -#define ICON_MD_SCAN_HELPER "\xf3\xb1\x8f\x98" // U+F13D8 scan-helper -#define ICON_MD_SCANNER "\xf3\xb0\x9a\xab" // U+F06AB scanner, tags: Device / Tech -#define ICON_MD_SCANNER_OFF "\xf3\xb0\xa4\x8a" // U+F090A scanner-off, tags: Device / Tech -#define ICON_MD_SCATTER_PLOT "\xf3\xb0\xbb\x89" // U+F0EC9 scatter-plot -#define ICON_MD_SCATTER_PLOT_OUTLINE "\xf3\xb0\xbb\x8a" // U+F0ECA scatter-plot-outline -#define ICON_MD_SCENT "\xf3\xb1\xa5\x98" // U+F1958 scent, aliases: aroma, fragrance, smell, odor -#define ICON_MD_SCENT_OFF "\xf3\xb1\xa5\x99" // U+F1959 scent-off, aliases: aroma-off, smell-off, fragrance-off, odor-off -#define ICON_MD_SCHOOL "\xf3\xb0\x91\xb4" // U+F0474 school, aliases: graduation-cap, university, college, academic-cap, education, learn -#define ICON_MD_SCHOOL_OUTLINE "\xf3\xb1\x86\x80" // U+F1180 school-outline, aliases: academic-cap-outline, college-outline, graduation-cap-outline, university-outline, education-outline, learn-outline -#define ICON_MD_SCISSORS_CUTTING "\xf3\xb0\xa9\xab" // U+F0A6B scissors-cutting -#define ICON_MD_SCOOTER "\xf3\xb1\x96\xbd" // U+F15BD scooter, tags: Transportation + Other -#define ICON_MD_SCOOTER_ELECTRIC "\xf3\xb1\x96\xbe" // U+F15BE scooter-electric, tags: Transportation + Other -#define ICON_MD_SCOREBOARD "\xf3\xb1\x89\xbe" // U+F127E scoreboard, tags: Sport -#define ICON_MD_SCOREBOARD_OUTLINE "\xf3\xb1\x89\xbf" // U+F127F scoreboard-outline, tags: Sport -#define ICON_MD_SCREEN_ROTATION "\xf3\xb0\x91\xb5" // U+F0475 screen-rotation -#define ICON_MD_SCREEN_ROTATION_LOCK "\xf3\xb0\x91\xb8" // U+F0478 screen-rotation-lock, aliases: screen-lock-rotation, tags: Lock -#define ICON_MD_SCREW_FLAT_TOP "\xf3\xb0\xb7\xb3" // U+F0DF3 screw-flat-top, tags: Hardware / Tools -#define ICON_MD_SCREW_LAG "\xf3\xb0\xb7\xb4" // U+F0DF4 screw-lag, tags: Hardware / Tools -#define ICON_MD_SCREW_MACHINE_FLAT_TOP "\xf3\xb0\xb7\xb5" // U+F0DF5 screw-machine-flat-top, tags: Hardware / Tools -#define ICON_MD_SCREW_MACHINE_ROUND_TOP "\xf3\xb0\xb7\xb6" // U+F0DF6 screw-machine-round-top, tags: Hardware / Tools -#define ICON_MD_SCREW_ROUND_TOP "\xf3\xb0\xb7\xb7" // U+F0DF7 screw-round-top, tags: Hardware / Tools -#define ICON_MD_SCREWDRIVER "\xf3\xb0\x91\xb6" // U+F0476 screwdriver, tags: Hardware / Tools -#define ICON_MD_SCRIPT "\xf3\xb0\xaf\x81" // U+F0BC1 script, aliases: scroll, tags: Gaming / RPG -#define ICON_MD_SCRIPT_OUTLINE "\xf3\xb0\x91\xb7" // U+F0477 script-outline, aliases: scroll-outline, tags: Gaming / RPG -#define ICON_MD_SCRIPT_TEXT "\xf3\xb0\xaf\x82" // U+F0BC2 script-text, aliases: scroll-text, tags: Gaming / RPG -#define ICON_MD_SCRIPT_TEXT_KEY "\xf3\xb1\x9c\xa5" // U+F1725 script-text-key -#define ICON_MD_SCRIPT_TEXT_KEY_OUTLINE "\xf3\xb1\x9c\xa6" // U+F1726 script-text-key-outline -#define ICON_MD_SCRIPT_TEXT_OUTLINE "\xf3\xb0\xaf\x83" // U+F0BC3 script-text-outline, aliases: scroll-text-outline, tags: Gaming / RPG -#define ICON_MD_SCRIPT_TEXT_PLAY "\xf3\xb1\x9c\xa7" // U+F1727 script-text-play -#define ICON_MD_SCRIPT_TEXT_PLAY_OUTLINE "\xf3\xb1\x9c\xa8" // U+F1728 script-text-play-outline -#define ICON_MD_SD "\xf3\xb0\x91\xb9" // U+F0479 sd, aliases: sd-card, sd-storage -#define ICON_MD_SEAL "\xf3\xb0\x91\xba" // U+F047A seal, aliases: ribbon, prize, award -#define ICON_MD_SEAL_VARIANT "\xf3\xb0\xbf\x99" // U+F0FD9 seal-variant, aliases: ribbon, prize, award -#define ICON_MD_SEARCH_WEB "\xf3\xb0\x9c\x8f" // U+F070F search-web, aliases: search-globe, global-search, internet-search -#define ICON_MD_SEAT "\xf3\xb0\xb3\x83" // U+F0CC3 seat, aliases: event-seat, chair, chair-accent, home-theater, home-theatre, tags: Home Automation -#define ICON_MD_SEAT_FLAT "\xf3\xb0\x91\xbb" // U+F047B seat-flat, aliases: airline-seat-flat -#define ICON_MD_SEAT_FLAT_ANGLED "\xf3\xb0\x91\xbc" // U+F047C seat-flat-angled, aliases: airline-seat-flat-angled -#define ICON_MD_SEAT_INDIVIDUAL_SUITE "\xf3\xb0\x91\xbd" // U+F047D seat-individual-suite, aliases: airline-seat-individual-suite -#define ICON_MD_SEAT_LEGROOM_EXTRA "\xf3\xb0\x91\xbe" // U+F047E seat-legroom-extra, aliases: airline-seat-legroom-extra -#define ICON_MD_SEAT_LEGROOM_NORMAL "\xf3\xb0\x91\xbf" // U+F047F seat-legroom-normal, aliases: airline-seat-legroom-normal -#define ICON_MD_SEAT_LEGROOM_REDUCED "\xf3\xb0\x92\x80" // U+F0480 seat-legroom-reduced, aliases: airline-seat-legroom-reduced -#define ICON_MD_SEAT_OUTLINE "\xf3\xb0\xb3\x84" // U+F0CC4 seat-outline, aliases: event-seat-outline, chair-outline, chair-accent-outline, home-theater, home-theatre, tags: Home Automation -#define ICON_MD_SEAT_PASSENGER "\xf3\xb1\x89\x89" // U+F1249 seat-passenger -#define ICON_MD_SEAT_RECLINE_EXTRA "\xf3\xb0\x92\x81" // U+F0481 seat-recline-extra, aliases: airline-seat-recline-extra -#define ICON_MD_SEAT_RECLINE_NORMAL "\xf3\xb0\x92\x82" // U+F0482 seat-recline-normal, aliases: airline-seat-recline-normal -#define ICON_MD_SEATBELT "\xf3\xb0\xb3\x85" // U+F0CC5 seatbelt, aliases: seat-belt, safety-belt, tags: Automotive -#define ICON_MD_SECURITY "\xf3\xb0\x92\x83" // U+F0483 security -#define ICON_MD_SECURITY_NETWORK "\xf3\xb0\x92\x84" // U+F0484 security-network -#define ICON_MD_SEED "\xf3\xb0\xb9\xa2" // U+F0E62 seed, tags: Agriculture, Nature, Food / Drink -#define ICON_MD_SEED_OFF "\xf3\xb1\x8f\xbd" // U+F13FD seed-off, tags: Nature, Food / Drink, Agriculture -#define ICON_MD_SEED_OFF_OUTLINE "\xf3\xb1\x8f\xbe" // U+F13FE seed-off-outline, tags: Nature, Food / Drink, Agriculture -#define ICON_MD_SEED_OUTLINE "\xf3\xb0\xb9\xa3" // U+F0E63 seed-outline, tags: Agriculture, Nature, Food / Drink -#define ICON_MD_SEED_PLUS "\xf3\xb1\xa9\xad" // U+F1A6D seed-plus, aliases: seed-add, tags: Agriculture, Nature -#define ICON_MD_SEED_PLUS_OUTLINE "\xf3\xb1\xa9\xae" // U+F1A6E seed-plus-outline, aliases: seed-add-outline, tags: Agriculture, Nature -#define ICON_MD_SEESAW "\xf3\xb1\x96\xa4" // U+F15A4 seesaw, aliases: playground-seesaw -#define ICON_MD_SEGMENT "\xf3\xb0\xbb\x8b" // U+F0ECB segment -#define ICON_MD_SELECT "\xf3\xb0\x92\x85" // U+F0485 select -#define ICON_MD_SELECT_ALL "\xf3\xb0\x92\x86" // U+F0486 select-all -#define ICON_MD_SELECT_ARROW_DOWN "\xf3\xb1\xad\x99" // U+F1B59 select-arrow-down -#define ICON_MD_SELECT_ARROW_UP "\xf3\xb1\xad\x98" // U+F1B58 select-arrow-up -#define ICON_MD_SELECT_COLOR "\xf3\xb0\xb4\xb1" // U+F0D31 select-color, aliases: select-colour, tags: Color -#define ICON_MD_SELECT_COMPARE "\xf3\xb0\xab\x99" // U+F0AD9 select-compare -#define ICON_MD_SELECT_DRAG "\xf3\xb0\xa9\xac" // U+F0A6C select-drag -#define ICON_MD_SELECT_GROUP "\xf3\xb0\xbe\x82" // U+F0F82 select-group -#define ICON_MD_SELECT_INVERSE "\xf3\xb0\x92\x87" // U+F0487 select-inverse, aliases: selection-invert -#define ICON_MD_SELECT_MARKER "\xf3\xb1\x8a\x80" // U+F1280 select-marker, aliases: select-location, tags: Navigation -#define ICON_MD_SELECT_MULTIPLE "\xf3\xb1\x8a\x81" // U+F1281 select-multiple -#define ICON_MD_SELECT_MULTIPLE_MARKER "\xf3\xb1\x8a\x82" // U+F1282 select-multiple-marker, aliases: select-multiple-location, tags: Navigation -#define ICON_MD_SELECT_OFF "\xf3\xb0\x92\x88" // U+F0488 select-off -#define ICON_MD_SELECT_PLACE "\xf3\xb0\xbf\x9a" // U+F0FDA select-place -#define ICON_MD_SELECT_REMOVE "\xf3\xb1\x9f\x81" // U+F17C1 select-remove -#define ICON_MD_SELECT_SEARCH "\xf3\xb1\x88\x84" // U+F1204 select-search -#define ICON_MD_SELECTION "\xf3\xb0\x92\x89" // U+F0489 selection -#define ICON_MD_SELECTION_DRAG "\xf3\xb0\xa9\xad" // U+F0A6D selection-drag -#define ICON_MD_SELECTION_ELLIPSE "\xf3\xb0\xb4\xb2" // U+F0D32 selection-ellipse -#define ICON_MD_SELECTION_ELLIPSE_ARROW_INSIDE "\xf3\xb0\xbc\xa2" // U+F0F22 selection-ellipse-arrow-inside -#define ICON_MD_SELECTION_ELLIPSE_REMOVE "\xf3\xb1\x9f\x82" // U+F17C2 selection-ellipse-remove -#define ICON_MD_SELECTION_MARKER "\xf3\xb1\x8a\x83" // U+F1283 selection-marker, aliases: selection-location, tags: Navigation -#define ICON_MD_SELECTION_MULTIPLE "\xf3\xb1\x8a\x85" // U+F1285 selection-multiple -#define ICON_MD_SELECTION_MULTIPLE_MARKER "\xf3\xb1\x8a\x84" // U+F1284 selection-multiple-marker, aliases: selection-multiple-location, tags: Navigation -#define ICON_MD_SELECTION_OFF "\xf3\xb0\x9d\xb7" // U+F0777 selection-off -#define ICON_MD_SELECTION_REMOVE "\xf3\xb1\x9f\x83" // U+F17C3 selection-remove -#define ICON_MD_SELECTION_SEARCH "\xf3\xb1\x88\x85" // U+F1205 selection-search -#define ICON_MD_SEMANTIC_WEB "\xf3\xb1\x8c\x96" // U+F1316 semantic-web, aliases: rdf, resource-description-framework, owl, web-ontology-language, w3c, tags: Developer / Languages, Brand / Logo -#define ICON_MD_SEND "\xf3\xb0\x92\x8a" // U+F048A send, aliases: paper-airplane, paper-plane -#define ICON_MD_SEND_CHECK "\xf3\xb1\x85\xa1" // U+F1161 send-check -#define ICON_MD_SEND_CHECK_OUTLINE "\xf3\xb1\x85\xa2" // U+F1162 send-check-outline -#define ICON_MD_SEND_CIRCLE "\xf3\xb0\xb7\xb8" // U+F0DF8 send-circle -#define ICON_MD_SEND_CIRCLE_OUTLINE "\xf3\xb0\xb7\xb9" // U+F0DF9 send-circle-outline -#define ICON_MD_SEND_CLOCK "\xf3\xb1\x85\xa3" // U+F1163 send-clock, tags: Date / Time -#define ICON_MD_SEND_CLOCK_OUTLINE "\xf3\xb1\x85\xa4" // U+F1164 send-clock-outline, tags: Date / Time -#define ICON_MD_SEND_LOCK "\xf3\xb0\x9f\xad" // U+F07ED send-lock, aliases: send-secure, tags: Lock -#define ICON_MD_SEND_LOCK_OUTLINE "\xf3\xb1\x85\xa6" // U+F1166 send-lock-outline, tags: Lock -#define ICON_MD_SEND_OUTLINE "\xf3\xb1\x85\xa5" // U+F1165 send-outline, aliases: paper-airplane-outline, paper-plane-outline -#define ICON_MD_SERIAL_PORT "\xf3\xb0\x99\x9c" // U+F065C serial-port, aliases: vga -#define ICON_MD_SERVER "\xf3\xb0\x92\x8b" // U+F048B server, aliases: storage -#define ICON_MD_SERVER_MINUS "\xf3\xb0\x92\x8c" // U+F048C server-minus, aliases: server-remove -#define ICON_MD_SERVER_NETWORK "\xf3\xb0\x92\x8d" // U+F048D server-network -#define ICON_MD_SERVER_NETWORK_OFF "\xf3\xb0\x92\x8e" // U+F048E server-network-off -#define ICON_MD_SERVER_OFF "\xf3\xb0\x92\x8f" // U+F048F server-off -#define ICON_MD_SERVER_PLUS "\xf3\xb0\x92\x90" // U+F0490 server-plus, aliases: server-add -#define ICON_MD_SERVER_REMOVE "\xf3\xb0\x92\x91" // U+F0491 server-remove -#define ICON_MD_SERVER_SECURITY "\xf3\xb0\x92\x92" // U+F0492 server-security -#define ICON_MD_SET_ALL "\xf3\xb0\x9d\xb8" // U+F0778 set-all, aliases: set-union, set-or, full-outer-join, sql-full-outer-join, tags: Database -#define ICON_MD_SET_CENTER "\xf3\xb0\x9d\xb9" // U+F0779 set-center, aliases: set-centre, set-intersection, set-and, inner-join, sql-inner-join, tags: Database -#define ICON_MD_SET_CENTER_RIGHT "\xf3\xb0\x9d\xba" // U+F077A set-center-right, aliases: set-centre-right, outer-join-right, sql-right-outer-join, tags: Database -#define ICON_MD_SET_LEFT "\xf3\xb0\x9d\xbb" // U+F077B set-left, aliases: difference-left, tags: Database -#define ICON_MD_SET_LEFT_CENTER "\xf3\xb0\x9d\xbc" // U+F077C set-left-center, aliases: set-left-centre, outer-join-left, sql-left-outer-join, tags: Database -#define ICON_MD_SET_LEFT_RIGHT "\xf3\xb0\x9d\xbd" // U+F077D set-left-right, aliases: exclusion, set-xor, tags: Database -#define ICON_MD_SET_MERGE "\xf3\xb1\x93\xa0" // U+F14E0 set-merge -#define ICON_MD_SET_NONE "\xf3\xb0\x9d\xbe" // U+F077E set-none, aliases: set-null, set-not, venn-diagram, tags: Database -#define ICON_MD_SET_RIGHT "\xf3\xb0\x9d\xbf" // U+F077F set-right, aliases: difference-right, tags: Database -#define ICON_MD_SET_SPLIT "\xf3\xb1\x93\xa1" // U+F14E1 set-split -#define ICON_MD_SET_SQUARE "\xf3\xb1\x91\x9d" // U+F145D set-square, tags: Hardware / Tools -#define ICON_MD_SET_TOP_BOX "\xf3\xb0\xa6\x9f" // U+F099F set-top-box, tags: Home Automation -#define ICON_MD_SETTINGS_HELPER "\xf3\xb0\xa9\xae" // U+F0A6E settings-helper, tags: Settings -#define ICON_MD_SHAKER "\xf3\xb1\x84\x8e" // U+F110E shaker, aliases: pepper, fish-food, tags: Food / Drink -#define ICON_MD_SHAKER_OUTLINE "\xf3\xb1\x84\x8f" // U+F110F shaker-outline, aliases: salt, fish-food-outline, tags: Food / Drink -#define ICON_MD_SHAPE "\xf3\xb0\xa0\xb1" // U+F0831 shape, aliases: category, theme, tags: Shape -#define ICON_MD_SHAPE_CIRCLE_PLUS "\xf3\xb0\x99\x9d" // U+F065D shape-circle-plus, aliases: shape-circle-add, tags: Shape -#define ICON_MD_SHAPE_OUTLINE "\xf3\xb0\xa0\xb2" // U+F0832 shape-outline, aliases: theme-outline, category-outline, tags: Shape -#define ICON_MD_SHAPE_OVAL_PLUS "\xf3\xb1\x87\xba" // U+F11FA shape-oval-plus -#define ICON_MD_SHAPE_PLUS "\xf3\xb0\x92\x95" // U+F0495 shape-plus, aliases: shape-add, tags: Shape -#define ICON_MD_SHAPE_POLYGON_PLUS "\xf3\xb0\x99\x9e" // U+F065E shape-polygon-plus, aliases: shape-polygon-add, tags: Shape -#define ICON_MD_SHAPE_RECTANGLE_PLUS "\xf3\xb0\x99\x9f" // U+F065F shape-rectangle-plus, aliases: shape-rectangle-add, tags: Shape -#define ICON_MD_SHAPE_SQUARE_PLUS "\xf3\xb0\x99\xa0" // U+F0660 shape-square-plus, aliases: shape-square-add, tags: Shape -#define ICON_MD_SHAPE_SQUARE_ROUNDED_PLUS "\xf3\xb1\x93\xba" // U+F14FA shape-square-rounded-plus -#define ICON_MD_SHARE "\xf3\xb0\x92\x96" // U+F0496 share, aliases: forward, tags: Arrow -#define ICON_MD_SHARE_ALL "\xf3\xb1\x87\xb4" // U+F11F4 share-all -#define ICON_MD_SHARE_ALL_OUTLINE "\xf3\xb1\x87\xb5" // U+F11F5 share-all-outline -#define ICON_MD_SHARE_CIRCLE "\xf3\xb1\x86\xad" // U+F11AD share-circle, tags: Arrow -#define ICON_MD_SHARE_OFF "\xf3\xb0\xbc\xa3" // U+F0F23 share-off, aliases: forward-off, tags: Arrow -#define ICON_MD_SHARE_OFF_OUTLINE "\xf3\xb0\xbc\xa4" // U+F0F24 share-off-outline, aliases: forward-off-outline, tags: Arrow -#define ICON_MD_SHARE_OUTLINE "\xf3\xb0\xa4\xb2" // U+F0932 share-outline, aliases: forward-outline, tags: Arrow -#define ICON_MD_SHARE_VARIANT "\xf3\xb0\x92\x97" // U+F0497 share-variant -#define ICON_MD_SHARE_VARIANT_OUTLINE "\xf3\xb1\x94\x94" // U+F1514 share-variant-outline -#define ICON_MD_SHARK "\xf3\xb1\xa2\xba" // U+F18BA shark, aliases: jaws, tags: Animal -#define ICON_MD_SHARK_FIN "\xf3\xb1\x99\xb3" // U+F1673 shark-fin, tags: Animal -#define ICON_MD_SHARK_FIN_OUTLINE "\xf3\xb1\x99\xb4" // U+F1674 shark-fin-outline, tags: Animal -#define ICON_MD_SHARK_OFF "\xf3\xb1\xa2\xbb" // U+F18BB shark-off, aliases: jaws-off, tags: Animal -#define ICON_MD_SHEEP "\xf3\xb0\xb3\x86" // U+F0CC6 sheep, aliases: emoji-sheep, emoticon-sheep, tags: Animal, Agriculture -#define ICON_MD_SHIELD "\xf3\xb0\x92\x98" // U+F0498 shield, tags: Gaming / RPG -#define ICON_MD_SHIELD_ACCOUNT "\xf3\xb0\xa2\x8f" // U+F088F shield-account, aliases: security-account, shield-user, shield-person, alarm-arm-home, tags: Account / User, Home Automation -#define ICON_MD_SHIELD_ACCOUNT_OUTLINE "\xf3\xb0\xa8\x92" // U+F0A12 shield-account-outline, aliases: security-account-outline, shield-user-outline, shield-person-outline, alarm-arm-home-outline, tags: Account / User, Home Automation -#define ICON_MD_SHIELD_ACCOUNT_VARIANT "\xf3\xb1\x96\xa7" // U+F15A7 shield-account-variant, tags: Account / User -#define ICON_MD_SHIELD_ACCOUNT_VARIANT_OUTLINE "\xf3\xb1\x96\xa8" // U+F15A8 shield-account-variant-outline, tags: Account / User -#define ICON_MD_SHIELD_AIRPLANE "\xf3\xb0\x9a\xbb" // U+F06BB shield-airplane, aliases: shield-aeroplane, shield-plane, plane-shield, tags: Transportation + Flying -#define ICON_MD_SHIELD_AIRPLANE_OUTLINE "\xf3\xb0\xb3\x87" // U+F0CC7 shield-airplane-outline, aliases: shield-aeroplane-outline, shield-plane-outline, tags: Transportation + Flying -#define ICON_MD_SHIELD_ALERT "\xf3\xb0\xbb\x8c" // U+F0ECC shield-alert, aliases: shield-warning, tags: Alert / Error -#define ICON_MD_SHIELD_ALERT_OUTLINE "\xf3\xb0\xbb\x8d" // U+F0ECD shield-alert-outline, aliases: shield-warning-outline, tags: Alert / Error -#define ICON_MD_SHIELD_BUG "\xf3\xb1\x8f\x9a" // U+F13DA shield-bug, aliases: antivirus -#define ICON_MD_SHIELD_BUG_OUTLINE "\xf3\xb1\x8f\x9b" // U+F13DB shield-bug-outline, aliases: antivirus-outline -#define ICON_MD_SHIELD_CAR "\xf3\xb0\xbe\x83" // U+F0F83 shield-car, aliases: car-security, car-insurance, tags: Automotive -#define ICON_MD_SHIELD_CHECK "\xf3\xb0\x95\xa5" // U+F0565 shield-check, aliases: verified-user, shield-tick, verified, tags: Account / User -#define ICON_MD_SHIELD_CHECK_OUTLINE "\xf3\xb0\xb3\x88" // U+F0CC8 shield-check-outline, aliases: shield-tick-outline -#define ICON_MD_SHIELD_CROSS "\xf3\xb0\xb3\x89" // U+F0CC9 shield-cross, aliases: shield-templar, shield-christianity, tags: Gaming / RPG, Religion -#define ICON_MD_SHIELD_CROSS_OUTLINE "\xf3\xb0\xb3\x8a" // U+F0CCA shield-cross-outline, aliases: shield-templar-outline, shield-christianity-outline, tags: Gaming / RPG, Religion -#define ICON_MD_SHIELD_CROWN "\xf3\xb1\xa2\xbc" // U+F18BC shield-crown, aliases: administrator, tags: Gaming / RPG -#define ICON_MD_SHIELD_CROWN_OUTLINE "\xf3\xb1\xa2\xbd" // U+F18BD shield-crown-outline, aliases: administrator-outline, tags: Gaming / RPG -#define ICON_MD_SHIELD_EDIT "\xf3\xb1\x86\xa0" // U+F11A0 shield-edit, tags: Edit / Modify -#define ICON_MD_SHIELD_EDIT_OUTLINE "\xf3\xb1\x86\xa1" // U+F11A1 shield-edit-outline, tags: Edit / Modify -#define ICON_MD_SHIELD_HALF "\xf3\xb1\x8d\xa0" // U+F1360 shield-half -#define ICON_MD_SHIELD_HALF_FULL "\xf3\xb0\x9e\x80" // U+F0780 shield-half-full -#define ICON_MD_SHIELD_HOME "\xf3\xb0\x9a\x8a" // U+F068A shield-home, aliases: security-home, shield-house, alarm-arm-home, tags: Home Automation -#define ICON_MD_SHIELD_HOME_OUTLINE "\xf3\xb0\xb3\x8b" // U+F0CCB shield-home-outline, aliases: shield-house-outline, alarm-arm-home, tags: Home Automation -#define ICON_MD_SHIELD_KEY "\xf3\xb0\xaf\x84" // U+F0BC4 shield-key -#define ICON_MD_SHIELD_KEY_OUTLINE "\xf3\xb0\xaf\x85" // U+F0BC5 shield-key-outline -#define ICON_MD_SHIELD_LINK_VARIANT "\xf3\xb0\xb4\xb3" // U+F0D33 shield-link-variant -#define ICON_MD_SHIELD_LINK_VARIANT_OUTLINE "\xf3\xb0\xb4\xb4" // U+F0D34 shield-link-variant-outline -#define ICON_MD_SHIELD_LOCK "\xf3\xb0\xa6\x9d" // U+F099D shield-lock, aliases: security-lock, alarm-arm-away, tags: Lock, Home Automation -#define ICON_MD_SHIELD_LOCK_OPEN "\xf3\xb1\xa6\x9a" // U+F199A shield-lock-open, aliases: shield-unlocked, tags: Home Automation, Lock -#define ICON_MD_SHIELD_LOCK_OPEN_OUTLINE "\xf3\xb1\xa6\x9b" // U+F199B shield-lock-open-outline, aliases: shield-unlocked-outline, tags: Home Automation, Lock -#define ICON_MD_SHIELD_LOCK_OUTLINE "\xf3\xb0\xb3\x8c" // U+F0CCC shield-lock-outline, aliases: alarm-arm-away-outline, security-lock-outline, tags: Lock, Home Automation -#define ICON_MD_SHIELD_MOON "\xf3\xb1\xa0\xa8" // U+F1828 shield-moon, aliases: alarm-arm-night, tags: Home Automation -#define ICON_MD_SHIELD_MOON_OUTLINE "\xf3\xb1\xa0\xa9" // U+F1829 shield-moon-outline, aliases: alarm-arm-night-outline, tags: Home Automation -#define ICON_MD_SHIELD_OFF "\xf3\xb0\xa6\x9e" // U+F099E shield-off, aliases: security-off -#define ICON_MD_SHIELD_OFF_OUTLINE "\xf3\xb0\xa6\x9c" // U+F099C shield-off-outline -#define ICON_MD_SHIELD_OUTLINE "\xf3\xb0\x92\x99" // U+F0499 shield-outline, tags: Gaming / RPG -#define ICON_MD_SHIELD_PLUS "\xf3\xb0\xab\x9a" // U+F0ADA shield-plus, aliases: shield-add -#define ICON_MD_SHIELD_PLUS_OUTLINE "\xf3\xb0\xab\x9b" // U+F0ADB shield-plus-outline, aliases: shield-add-outline -#define ICON_MD_SHIELD_REFRESH "\xf3\xb0\x82\xaa" // U+F00AA shield-refresh -#define ICON_MD_SHIELD_REFRESH_OUTLINE "\xf3\xb0\x87\xa0" // U+F01E0 shield-refresh-outline -#define ICON_MD_SHIELD_REMOVE "\xf3\xb0\xab\x9c" // U+F0ADC shield-remove -#define ICON_MD_SHIELD_REMOVE_OUTLINE "\xf3\xb0\xab\x9d" // U+F0ADD shield-remove-outline -#define ICON_MD_SHIELD_SEARCH "\xf3\xb0\xb6\x9a" // U+F0D9A shield-search -#define ICON_MD_SHIELD_STAR "\xf3\xb1\x84\xbb" // U+F113B shield-star, aliases: badge, shield-favorite -#define ICON_MD_SHIELD_STAR_OUTLINE "\xf3\xb1\x84\xbc" // U+F113C shield-star-outline, aliases: badge-outline, shield-favorite-outline -#define ICON_MD_SHIELD_SUN "\xf3\xb1\x81\x9d" // U+F105D shield-sun, aliases: sun-protection -#define ICON_MD_SHIELD_SUN_OUTLINE "\xf3\xb1\x81\x9e" // U+F105E shield-sun-outline, aliases: sun-protection-outline -#define ICON_MD_SHIELD_SWORD "\xf3\xb1\xa2\xbe" // U+F18BE shield-sword, aliases: moderator, tags: Gaming / RPG -#define ICON_MD_SHIELD_SWORD_OUTLINE "\xf3\xb1\xa2\xbf" // U+F18BF shield-sword-outline, aliases: moderator-outline, tags: Gaming / RPG -#define ICON_MD_SHIELD_SYNC "\xf3\xb1\x86\xa2" // U+F11A2 shield-sync -#define ICON_MD_SHIELD_SYNC_OUTLINE "\xf3\xb1\x86\xa3" // U+F11A3 shield-sync-outline -#define ICON_MD_SHIMMER "\xf3\xb1\x95\x85" // U+F1545 shimmer, aliases: sparkles -#define ICON_MD_SHIP_WHEEL "\xf3\xb0\xa0\xb3" // U+F0833 ship-wheel, aliases: voyager, helm, tags: Transportation + Water -#define ICON_MD_SHIPPING_PALLET "\xf3\xb1\xa1\x8e" // U+F184E shipping-pallet -#define ICON_MD_SHOE_BALLET "\xf3\xb1\x97\x8a" // U+F15CA shoe-ballet, aliases: slippers-ballet, tags: Sport, Clothing -#define ICON_MD_SHOE_CLEAT "\xf3\xb1\x97\x87" // U+F15C7 shoe-cleat, tags: Sport, Clothing -#define ICON_MD_SHOE_FORMAL "\xf3\xb0\xad\x87" // U+F0B47 shoe-formal, tags: Clothing -#define ICON_MD_SHOE_HEEL "\xf3\xb0\xad\x88" // U+F0B48 shoe-heel, tags: Clothing -#define ICON_MD_SHOE_PRINT "\xf3\xb0\xb7\xba" // U+F0DFA shoe-print, aliases: footprints -#define ICON_MD_SHOE_SNEAKER "\xf3\xb1\x97\x88" // U+F15C8 shoe-sneaker, aliases: shoe-running, tags: Sport, Clothing -#define ICON_MD_SHOPPING "\xf3\xb0\x92\x9a" // U+F049A shopping, aliases: local-mall, marketplace, tags: Shopping -#define ICON_MD_SHOPPING_MUSIC "\xf3\xb0\x92\x9b" // U+F049B shopping-music, tags: Shopping -#define ICON_MD_SHOPPING_OUTLINE "\xf3\xb1\x87\x95" // U+F11D5 shopping-outline, aliases: local-mall-outline, marketplace-outline, tags: Shopping -#define ICON_MD_SHOPPING_SEARCH "\xf3\xb0\xbe\x84" // U+F0F84 shopping-search, tags: Shopping -#define ICON_MD_SHOPPING_SEARCH_OUTLINE "\xf3\xb1\xa9\xaf" // U+F1A6F shopping-search-outline, tags: Shopping -#define ICON_MD_SHORE "\xf3\xb1\x93\xb9" // U+F14F9 shore -#define ICON_MD_SHOVEL "\xf3\xb0\x9c\x90" // U+F0710 shovel, aliases: gardening, tags: Hardware / Tools -#define ICON_MD_SHOVEL_OFF "\xf3\xb0\x9c\x91" // U+F0711 shovel-off, tags: Hardware / Tools -#define ICON_MD_SHOWER "\xf3\xb0\xa6\xa0" // U+F09A0 shower, aliases: bathtub, bathroom, tags: Home Automation -#define ICON_MD_SHOWER_HEAD "\xf3\xb0\xa6\xa1" // U+F09A1 shower-head, aliases: bathroom, tags: Home Automation -#define ICON_MD_SHREDDER "\xf3\xb0\x92\x9c" // U+F049C shredder -#define ICON_MD_SHUFFLE "\xf3\xb0\x92\x9d" // U+F049D shuffle, tags: Arrow -#define ICON_MD_SHUFFLE_DISABLED "\xf3\xb0\x92\x9e" // U+F049E shuffle-disabled, tags: Arrow -#define ICON_MD_SHUFFLE_VARIANT "\xf3\xb0\x92\x9f" // U+F049F shuffle-variant, tags: Arrow -#define ICON_MD_SHURIKEN "\xf3\xb1\x8d\xbf" // U+F137F shuriken -#define ICON_MD_SICKLE "\xf3\xb1\xa3\x80" // U+F18C0 sickle, tags: Hardware / Tools -#define ICON_MD_SIGMA "\xf3\xb0\x92\xa0" // U+F04A0 sigma, aliases: summation, tags: Math -#define ICON_MD_SIGMA_LOWER "\xf3\xb0\x98\xab" // U+F062B sigma-lower -#define ICON_MD_SIGN_CAUTION "\xf3\xb0\x92\xa1" // U+F04A1 sign-caution, aliases: barrier, tags: Transportation + Road -#define ICON_MD_SIGN_DIRECTION "\xf3\xb0\x9e\x81" // U+F0781 sign-direction, aliases: milestone -#define ICON_MD_SIGN_DIRECTION_MINUS "\xf3\xb1\x80\x80" // U+F1000 sign-direction-minus, aliases: milestone-minus -#define ICON_MD_SIGN_DIRECTION_PLUS "\xf3\xb0\xbf\x9c" // U+F0FDC sign-direction-plus, aliases: milestone-plus, sign-direction-add, milestone-add -#define ICON_MD_SIGN_DIRECTION_REMOVE "\xf3\xb0\xbf\x9d" // U+F0FDD sign-direction-remove, aliases: milestone-remove -#define ICON_MD_SIGN_LANGUAGE "\xf3\xb1\xad\x8d" // U+F1B4D sign-language -#define ICON_MD_SIGN_LANGUAGE_OUTLINE "\xf3\xb1\xad\x8e" // U+F1B4E sign-language-outline -#define ICON_MD_SIGN_POLE "\xf3\xb1\x93\xb8" // U+F14F8 sign-pole -#define ICON_MD_SIGN_REAL_ESTATE "\xf3\xb1\x84\x98" // U+F1118 sign-real-estate -#define ICON_MD_SIGN_TEXT "\xf3\xb0\x9e\x82" // U+F0782 sign-text -#define ICON_MD_SIGN_YIELD "\xf3\xb1\xae\xaf" // U+F1BAF sign-yield, aliases: give-way, tags: Transportation + Road -#define ICON_MD_SIGNAL "\xf3\xb0\x92\xa2" // U+F04A2 signal, tags: Cellphone / Phone -#define ICON_MD_SIGNAL_2G "\xf3\xb0\x9c\x92" // U+F0712 signal-2g, tags: Cellphone / Phone -#define ICON_MD_SIGNAL_3G "\xf3\xb0\x9c\x93" // U+F0713 signal-3g, tags: Cellphone / Phone -#define ICON_MD_SIGNAL_4G "\xf3\xb0\x9c\x94" // U+F0714 signal-4g, tags: Cellphone / Phone -#define ICON_MD_SIGNAL_5G "\xf3\xb0\xa9\xaf" // U+F0A6F signal-5g, tags: Cellphone / Phone -#define ICON_MD_SIGNAL_CELLULAR_1 "\xf3\xb0\xa2\xbc" // U+F08BC signal-cellular-1, tags: Cellphone / Phone -#define ICON_MD_SIGNAL_CELLULAR_2 "\xf3\xb0\xa2\xbd" // U+F08BD signal-cellular-2, tags: Cellphone / Phone -#define ICON_MD_SIGNAL_CELLULAR_3 "\xf3\xb0\xa2\xbe" // U+F08BE signal-cellular-3, tags: Cellphone / Phone -#define ICON_MD_SIGNAL_CELLULAR_OUTLINE "\xf3\xb0\xa2\xbf" // U+F08BF signal-cellular-outline, aliases: signal-cellular-0, tags: Cellphone / Phone -#define ICON_MD_SIGNAL_DISTANCE_VARIANT "\xf3\xb0\xb9\xa4" // U+F0E64 signal-distance-variant -#define ICON_MD_SIGNAL_HSPA "\xf3\xb0\x9c\x95" // U+F0715 signal-hspa, tags: Cellphone / Phone -#define ICON_MD_SIGNAL_HSPA_PLUS "\xf3\xb0\x9c\x96" // U+F0716 signal-hspa-plus, tags: Cellphone / Phone -#define ICON_MD_SIGNAL_OFF "\xf3\xb0\x9e\x83" // U+F0783 signal-off, tags: Cellphone / Phone -#define ICON_MD_SIGNAL_VARIANT "\xf3\xb0\x98\x8a" // U+F060A signal-variant -#define ICON_MD_SIGNATURE "\xf3\xb0\xb7\xbb" // U+F0DFB signature, tags: Form -#define ICON_MD_SIGNATURE_FREEHAND "\xf3\xb0\xb7\xbc" // U+F0DFC signature-freehand, tags: Form -#define ICON_MD_SIGNATURE_IMAGE "\xf3\xb0\xb7\xbd" // U+F0DFD signature-image, tags: Form -#define ICON_MD_SIGNATURE_TEXT "\xf3\xb0\xb7\xbe" // U+F0DFE signature-text, tags: Form -#define ICON_MD_SILO "\xf3\xb1\xae\x9f" // U+F1B9F silo, aliases: farm, tags: Agriculture -#define ICON_MD_SILO_OUTLINE "\xf3\xb0\xad\x89" // U+F0B49 silo-outline, aliases: farm-outline, tags: Agriculture -#define ICON_MD_SILVERWARE "\xf3\xb0\x92\xa3" // U+F04A3 silverware, aliases: local-dining, restaurant-menu, local-restaurant, cutlery, tags: Food / Drink -#define ICON_MD_SILVERWARE_CLEAN "\xf3\xb0\xbf\x9e" // U+F0FDE silverware-clean, aliases: silverware-shimmer, cutlery-clean, tags: Food / Drink -#define ICON_MD_SILVERWARE_FORK "\xf3\xb0\x92\xa4" // U+F04A4 silverware-fork, aliases: cutlery-fork, tags: Food / Drink -#define ICON_MD_SILVERWARE_FORK_KNIFE "\xf3\xb0\xa9\xb0" // U+F0A70 silverware-fork-knife, aliases: restaurant, fortnite, cutlery-fork-knife, place-setting, tags: Food / Drink -#define ICON_MD_SILVERWARE_SPOON "\xf3\xb0\x92\xa5" // U+F04A5 silverware-spoon, aliases: cutlery-spoon, tags: Food / Drink -#define ICON_MD_SILVERWARE_VARIANT "\xf3\xb0\x92\xa6" // U+F04A6 silverware-variant, aliases: cutlery-variant, tags: Food / Drink, Places -#define ICON_MD_SIM "\xf3\xb0\x92\xa7" // U+F04A7 sim, aliases: sim-card, subscriber-identity-module, subscriber-identification-module, tags: Cellphone / Phone -#define ICON_MD_SIM_ALERT "\xf3\xb0\x92\xa8" // U+F04A8 sim-alert, aliases: sim-warning, sim-card-alert, tags: Alert / Error, Cellphone / Phone -#define ICON_MD_SIM_ALERT_OUTLINE "\xf3\xb1\x97\x93" // U+F15D3 sim-alert-outline, tags: Cellphone / Phone, Alert / Error -#define ICON_MD_SIM_OFF "\xf3\xb0\x92\xa9" // U+F04A9 sim-off, aliases: signal-cellular-no-sim, tags: Cellphone / Phone -#define ICON_MD_SIM_OFF_OUTLINE "\xf3\xb1\x97\x94" // U+F15D4 sim-off-outline, tags: Cellphone / Phone -#define ICON_MD_SIM_OUTLINE "\xf3\xb1\x97\x95" // U+F15D5 sim-outline, aliases: sim-card-outline, subscriber-identity-module-outline, subscriber-identification-module-outline, tags: Cellphone / Phone -#define ICON_MD_SIMPLE_ICONS "\xf3\xb1\x8c\x9d" // U+F131D simple-icons, tags: Brand / Logo -#define ICON_MD_SINA_WEIBO "\xf3\xb0\xab\x9f" // U+F0ADF sina-weibo, tags: Brand / Logo -#define ICON_MD_SINE_WAVE "\xf3\xb0\xa5\x9b" // U+F095B sine-wave, aliases: alternating-current, current-ac, wave, analog, frequency, amplitude, tags: Audio -#define ICON_MD_SITEMAP "\xf3\xb0\x92\xaa" // U+F04AA sitemap, aliases: workflow, flowchart -#define ICON_MD_SITEMAP_OUTLINE "\xf3\xb1\xa6\x9c" // U+F199C sitemap-outline, aliases: workflow-outline, flowchart-outline -#define ICON_MD_SIZE_L "\xf3\xb1\x8e\xa6" // U+F13A6 size-l, aliases: size-large -#define ICON_MD_SIZE_M "\xf3\xb1\x8e\xa5" // U+F13A5 size-m, aliases: size-medium -#define ICON_MD_SIZE_S "\xf3\xb1\x8e\xa4" // U+F13A4 size-s, aliases: size-small -#define ICON_MD_SIZE_XL "\xf3\xb1\x8e\xa7" // U+F13A7 size-xl, aliases: size-extra-large -#define ICON_MD_SIZE_XS "\xf3\xb1\x8e\xa3" // U+F13A3 size-xs, aliases: size-extra-small -#define ICON_MD_SIZE_XXL "\xf3\xb1\x8e\xa8" // U+F13A8 size-xxl, aliases: size-extra-extra-large -#define ICON_MD_SIZE_XXS "\xf3\xb1\x8e\xa2" // U+F13A2 size-xxs, aliases: size-extra-extra-small -#define ICON_MD_SIZE_XXXL "\xf3\xb1\x8e\xa9" // U+F13A9 size-xxxl -#define ICON_MD_SKATE "\xf3\xb0\xb4\xb5" // U+F0D35 skate, aliases: ice-skate, tags: Sport -#define ICON_MD_SKATE_OFF "\xf3\xb0\x9a\x99" // U+F0699 skate-off -#define ICON_MD_SKATEBOARD "\xf3\xb1\x93\x82" // U+F14C2 skateboard, tags: Sport -#define ICON_MD_SKATEBOARDING "\xf3\xb0\x94\x81" // U+F0501 skateboarding, aliases: human-skateboarding, tags: Sport, People / Family -#define ICON_MD_SKEW_LESS "\xf3\xb0\xb4\xb6" // U+F0D36 skew-less, aliases: skew-decrease, tags: Math -#define ICON_MD_SKEW_MORE "\xf3\xb0\xb4\xb7" // U+F0D37 skew-more, aliases: skew-increase, tags: Math -#define ICON_MD_SKI "\xf3\xb1\x8c\x84" // U+F1304 ski, aliases: human-ski, tags: Sport, People / Family -#define ICON_MD_SKI_CROSS_COUNTRY "\xf3\xb1\x8c\x85" // U+F1305 ski-cross-country, aliases: nordic-walking, human-ski-cross-country, tags: Sport, People / Family -#define ICON_MD_SKI_WATER "\xf3\xb1\x8c\x86" // U+F1306 ski-water, aliases: human-ski-water, tags: Sport, People / Family, Transportation + Water -#define ICON_MD_SKIP_BACKWARD "\xf3\xb0\x92\xab" // U+F04AB skip-backward, aliases: title-backward, previous-title, tags: Home Automation -#define ICON_MD_SKIP_BACKWARD_OUTLINE "\xf3\xb0\xbc\xa5" // U+F0F25 skip-backward-outline -#define ICON_MD_SKIP_FORWARD "\xf3\xb0\x92\xac" // U+F04AC skip-forward, aliases: title-forward, next-title, tags: Home Automation -#define ICON_MD_SKIP_FORWARD_OUTLINE "\xf3\xb0\xbc\xa6" // U+F0F26 skip-forward-outline -#define ICON_MD_SKIP_NEXT "\xf3\xb0\x92\xad" // U+F04AD skip-next, tags: Home Automation -#define ICON_MD_SKIP_NEXT_CIRCLE "\xf3\xb0\x99\xa1" // U+F0661 skip-next-circle -#define ICON_MD_SKIP_NEXT_CIRCLE_OUTLINE "\xf3\xb0\x99\xa2" // U+F0662 skip-next-circle-outline -#define ICON_MD_SKIP_NEXT_OUTLINE "\xf3\xb0\xbc\xa7" // U+F0F27 skip-next-outline -#define ICON_MD_SKIP_PREVIOUS "\xf3\xb0\x92\xae" // U+F04AE skip-previous, tags: Home Automation -#define ICON_MD_SKIP_PREVIOUS_CIRCLE "\xf3\xb0\x99\xa3" // U+F0663 skip-previous-circle -#define ICON_MD_SKIP_PREVIOUS_CIRCLE_OUTLINE "\xf3\xb0\x99\xa4" // U+F0664 skip-previous-circle-outline -#define ICON_MD_SKIP_PREVIOUS_OUTLINE "\xf3\xb0\xbc\xa8" // U+F0F28 skip-previous-outline -#define ICON_MD_SKULL "\xf3\xb0\x9a\x8c" // U+F068C skull, tags: Holiday, Gaming / RPG -#define ICON_MD_SKULL_CROSSBONES "\xf3\xb0\xaf\x86" // U+F0BC6 skull-crossbones, aliases: jolly-roger, tags: Gaming / RPG, Holiday -#define ICON_MD_SKULL_CROSSBONES_OUTLINE "\xf3\xb0\xaf\x87" // U+F0BC7 skull-crossbones-outline, aliases: jolly-roger-outline, tags: Gaming / RPG, Holiday -#define ICON_MD_SKULL_OUTLINE "\xf3\xb0\xaf\x88" // U+F0BC8 skull-outline, tags: Holiday, Gaming / RPG -#define ICON_MD_SKULL_SCAN "\xf3\xb1\x93\x87" // U+F14C7 skull-scan, aliases: x-ray, radiology, tags: Medical / Hospital -#define ICON_MD_SKULL_SCAN_OUTLINE "\xf3\xb1\x93\x88" // U+F14C8 skull-scan-outline, aliases: x-ray-outline, radiology-outline, tags: Medical / Hospital -#define ICON_MD_SKYPE "\xf3\xb0\x92\xaf" // U+F04AF skype, aliases: microsoft-skype, tags: Brand / Logo -#define ICON_MD_SKYPE_BUSINESS "\xf3\xb0\x92\xb0" // U+F04B0 skype-business, tags: Brand / Logo -#define ICON_MD_SLACK "\xf3\xb0\x92\xb1" // U+F04B1 slack, tags: Brand / Logo -#define ICON_MD_SLASH_FORWARD "\xf3\xb0\xbf\x9f" // U+F0FDF slash-forward, aliases: divide, division, tags: Math -#define ICON_MD_SLASH_FORWARD_BOX "\xf3\xb0\xbf\xa0" // U+F0FE0 slash-forward-box, aliases: divide-box, division-box, tags: Math -#define ICON_MD_SLEDDING "\xf3\xb0\x90\x9b" // U+F041B sledding, aliases: human-sledding, tags: Sport, People / Family -#define ICON_MD_SLEEP "\xf3\xb0\x92\xb2" // U+F04B2 sleep -#define ICON_MD_SLEEP_OFF "\xf3\xb0\x92\xb3" // U+F04B3 sleep-off -#define ICON_MD_SLIDE "\xf3\xb1\x96\xa5" // U+F15A5 slide, aliases: playground-slide -#define ICON_MD_SLOPE_DOWNHILL "\xf3\xb0\xb7\xbf" // U+F0DFF slope-downhill -#define ICON_MD_SLOPE_UPHILL "\xf3\xb0\xb8\x80" // U+F0E00 slope-uphill -#define ICON_MD_SLOT_MACHINE "\xf3\xb1\x84\x94" // U+F1114 slot-machine, aliases: casino, gambling -#define ICON_MD_SLOT_MACHINE_OUTLINE "\xf3\xb1\x84\x95" // U+F1115 slot-machine-outline, aliases: casino-outline, gambling-outline -#define ICON_MD_SMART_CARD "\xf3\xb1\x82\xbd" // U+F10BD smart-card, tags: Account / User -#define ICON_MD_SMART_CARD_OFF "\xf3\xb1\xa3\xb7" // U+F18F7 smart-card-off, tags: Account / User -#define ICON_MD_SMART_CARD_OFF_OUTLINE "\xf3\xb1\xa3\xb8" // U+F18F8 smart-card-off-outline, tags: Account / User -#define ICON_MD_SMART_CARD_OUTLINE "\xf3\xb1\x82\xbe" // U+F10BE smart-card-outline, tags: Account / User -#define ICON_MD_SMART_CARD_READER "\xf3\xb1\x82\xbf" // U+F10BF smart-card-reader, tags: Account / User -#define ICON_MD_SMART_CARD_READER_OUTLINE "\xf3\xb1\x83\x80" // U+F10C0 smart-card-reader-outline, tags: Account / User -#define ICON_MD_SMOG "\xf3\xb0\xa9\xb1" // U+F0A71 smog -#define ICON_MD_SMOKE "\xf3\xb1\x9e\x99" // U+F1799 smoke, aliases: smog, fire -#define ICON_MD_SMOKE_DETECTOR "\xf3\xb0\x8e\x92" // U+F0392 smoke-detector, aliases: nest-protect, subwoofer, tags: Device / Tech, Home Automation -#define ICON_MD_SMOKE_DETECTOR_ALERT "\xf3\xb1\xa4\xae" // U+F192E smoke-detector-alert, tags: Home Automation, Alert / Error -#define ICON_MD_SMOKE_DETECTOR_ALERT_OUTLINE "\xf3\xb1\xa4\xaf" // U+F192F smoke-detector-alert-outline, tags: Home Automation, Alert / Error -#define ICON_MD_SMOKE_DETECTOR_OFF "\xf3\xb1\xa0\x89" // U+F1809 smoke-detector-off, tags: Home Automation -#define ICON_MD_SMOKE_DETECTOR_OFF_OUTLINE "\xf3\xb1\xa0\x8a" // U+F180A smoke-detector-off-outline, tags: Home Automation -#define ICON_MD_SMOKE_DETECTOR_OUTLINE "\xf3\xb1\xa0\x88" // U+F1808 smoke-detector-outline, tags: Home Automation -#define ICON_MD_SMOKE_DETECTOR_VARIANT "\xf3\xb1\xa0\x8b" // U+F180B smoke-detector-variant, tags: Home Automation -#define ICON_MD_SMOKE_DETECTOR_VARIANT_ALERT "\xf3\xb1\xa4\xb0" // U+F1930 smoke-detector-variant-alert, tags: Home Automation, Alert / Error -#define ICON_MD_SMOKE_DETECTOR_VARIANT_OFF "\xf3\xb1\xa0\x8c" // U+F180C smoke-detector-variant-off, tags: Home Automation -#define ICON_MD_SMOKING "\xf3\xb0\x92\xb4" // U+F04B4 smoking, aliases: cigarette, smoking-area, smoking-rooms, tags: Automotive -#define ICON_MD_SMOKING_OFF "\xf3\xb0\x92\xb5" // U+F04B5 smoking-off, aliases: no-smoking, cigarette-off, smoke-free -#define ICON_MD_SMOKING_PIPE "\xf3\xb1\x90\x8d" // U+F140D smoking-pipe -#define ICON_MD_SMOKING_PIPE_OFF "\xf3\xb1\x90\xa8" // U+F1428 smoking-pipe-off -#define ICON_MD_SNAIL "\xf3\xb1\x99\xb7" // U+F1677 snail, aliases: gastropod, tags: Animal -#define ICON_MD_SNAKE "\xf3\xb1\x94\x8e" // U+F150E snake, aliases: reptile, tags: Animal -#define ICON_MD_SNAPCHAT "\xf3\xb0\x92\xb6" // U+F04B6 snapchat, tags: Brand / Logo -#define ICON_MD_SNOWBOARD "\xf3\xb1\x8c\x87" // U+F1307 snowboard, aliases: human-snowboard, tags: Sport, People / Family -#define ICON_MD_SNOWFLAKE "\xf3\xb0\x9c\x97" // U+F0717 snowflake, tags: Weather, Holiday, Automotive -#define ICON_MD_SNOWFLAKE_ALERT "\xf3\xb0\xbc\xa9" // U+F0F29 snowflake-alert, aliases: cold-alert, snow-advisory, freeze-advisory, tags: Weather, Alert / Error, Home Automation -#define ICON_MD_SNOWFLAKE_CHECK "\xf3\xb1\xa9\xb0" // U+F1A70 snowflake-check, aliases: snowflake-approve, tags: Weather -#define ICON_MD_SNOWFLAKE_MELT "\xf3\xb1\x8b\x8b" // U+F12CB snowflake-melt, aliases: defrost, tags: Weather -#define ICON_MD_SNOWFLAKE_OFF "\xf3\xb1\x93\xa3" // U+F14E3 snowflake-off, tags: Weather -#define ICON_MD_SNOWFLAKE_THERMOMETER "\xf3\xb1\xa9\xb1" // U+F1A71 snowflake-thermometer, aliases: frost-point, freezing-point, snowflake-temperature, tags: Weather, Home Automation -#define ICON_MD_SNOWFLAKE_VARIANT "\xf3\xb0\xbc\xaa" // U+F0F2A snowflake-variant, tags: Holiday, Weather -#define ICON_MD_SNOWMAN "\xf3\xb0\x92\xb7" // U+F04B7 snowman, tags: Holiday -#define ICON_MD_SNOWMOBILE "\xf3\xb0\x9b\x9d" // U+F06DD snowmobile, tags: Transportation + Other, Sport -#define ICON_MD_SNOWSHOEING "\xf3\xb1\xa9\xb2" // U+F1A72 snowshoeing, tags: Sport -#define ICON_MD_SOCCER "\xf3\xb0\x92\xb8" // U+F04B8 soccer, aliases: football, tags: Sport -#define ICON_MD_SOCCER_FIELD "\xf3\xb0\xa0\xb4" // U+F0834 soccer-field, aliases: football-pitch, tags: Sport -#define ICON_MD_SOCIAL_DISTANCE_2_METERS "\xf3\xb1\x95\xb9" // U+F1579 social-distance-2-meters, tags: Medical / Hospital -#define ICON_MD_SOCIAL_DISTANCE_6_FEET "\xf3\xb1\x95\xba" // U+F157A social-distance-6-feet, tags: Medical / Hospital -#define ICON_MD_SOFA "\xf3\xb0\x92\xb9" // U+F04B9 sofa, aliases: couch, living-room, family-room, tags: Home Automation -#define ICON_MD_SOFA_OUTLINE "\xf3\xb1\x95\xad" // U+F156D sofa-outline, aliases: couch-outline, living-room-outline, family-room-outline, tags: Home Automation -#define ICON_MD_SOFA_SINGLE "\xf3\xb1\x95\xae" // U+F156E sofa-single, aliases: loveseat, love-seat, couch, chair-accent, living-room, family-room, tags: Home Automation -#define ICON_MD_SOFA_SINGLE_OUTLINE "\xf3\xb1\x95\xaf" // U+F156F sofa-single-outline, aliases: loveseat-outline, love-seat-outline, couch-outline, chair-accent-outline, living-room-outline, family-room-outline, tags: Home Automation -#define ICON_MD_SOLAR_PANEL "\xf3\xb0\xb6\x9b" // U+F0D9B solar-panel, aliases: solar-energy, solar-electricity, tags: Home Automation -#define ICON_MD_SOLAR_PANEL_LARGE "\xf3\xb0\xb6\x9c" // U+F0D9C solar-panel-large, aliases: solar-panel-energy, solar-panel-electricity, tags: Home Automation -#define ICON_MD_SOLAR_POWER "\xf3\xb0\xa9\xb2" // U+F0A72 solar-power, aliases: solar-energy, solar-electricity, tags: Home Automation -#define ICON_MD_SOLAR_POWER_VARIANT "\xf3\xb1\xa9\xb3" // U+F1A73 solar-power-variant, aliases: solar-energy, solar-electricity, tags: Home Automation -#define ICON_MD_SOLAR_POWER_VARIANT_OUTLINE "\xf3\xb1\xa9\xb4" // U+F1A74 solar-power-variant-outline, aliases: solar-energy-outline, solar-electricity-outline, tags: Home Automation -#define ICON_MD_SOLDERING_IRON "\xf3\xb1\x82\x92" // U+F1092 soldering-iron -#define ICON_MD_SOLID "\xf3\xb0\x9a\x8d" // U+F068D solid -#define ICON_MD_SONY_PLAYSTATION "\xf3\xb0\x90\x94" // U+F0414 sony-playstation, aliases: sony-playstation, playstation-network, tags: Brand / Logo, Gaming / RPG -#define ICON_MD_SORT "\xf3\xb0\x92\xba" // U+F04BA sort, tags: Text / Content / Format -#define ICON_MD_SORT_ALPHABETICAL_ASCENDING "\xf3\xb0\x96\xbd" // U+F05BD sort-alphabetical-ascending, tags: Text / Content / Format -#define ICON_MD_SORT_ALPHABETICAL_ASCENDING_VARIANT "\xf3\xb1\x85\x88" // U+F1148 sort-alphabetical-ascending-variant, tags: Text / Content / Format -#define ICON_MD_SORT_ALPHABETICAL_DESCENDING "\xf3\xb0\x96\xbf" // U+F05BF sort-alphabetical-descending, tags: Text / Content / Format -#define ICON_MD_SORT_ALPHABETICAL_DESCENDING_VARIANT "\xf3\xb1\x85\x89" // U+F1149 sort-alphabetical-descending-variant, tags: Text / Content / Format -#define ICON_MD_SORT_ALPHABETICAL_VARIANT "\xf3\xb0\x92\xbb" // U+F04BB sort-alphabetical-variant, aliases: sort-by-alpha, sort-alphabetically, tags: Text / Content / Format -#define ICON_MD_SORT_ASCENDING "\xf3\xb0\x92\xbc" // U+F04BC sort-ascending, tags: Text / Content / Format -#define ICON_MD_SORT_BOOL_ASCENDING "\xf3\xb1\x8e\x85" // U+F1385 sort-bool-ascending, tags: Text / Content / Format -#define ICON_MD_SORT_BOOL_ASCENDING_VARIANT "\xf3\xb1\x8e\x86" // U+F1386 sort-bool-ascending-variant, aliases: sort-checkbox-ascending, tags: Text / Content / Format -#define ICON_MD_SORT_BOOL_DESCENDING "\xf3\xb1\x8e\x87" // U+F1387 sort-bool-descending, tags: Text / Content / Format -#define ICON_MD_SORT_BOOL_DESCENDING_VARIANT "\xf3\xb1\x8e\x88" // U+F1388 sort-bool-descending-variant, aliases: sort-checkbox-descending, tags: Text / Content / Format -#define ICON_MD_SORT_CALENDAR_ASCENDING "\xf3\xb1\x95\x87" // U+F1547 sort-calendar-ascending, aliases: sort-date-ascending, tags: Text / Content / Format, Date / Time -#define ICON_MD_SORT_CALENDAR_DESCENDING "\xf3\xb1\x95\x88" // U+F1548 sort-calendar-descending, aliases: sort-date-descending, tags: Text / Content / Format, Date / Time -#define ICON_MD_SORT_CLOCK_ASCENDING "\xf3\xb1\x95\x89" // U+F1549 sort-clock-ascending, aliases: sort-time-ascending, tags: Text / Content / Format, Date / Time -#define ICON_MD_SORT_CLOCK_ASCENDING_OUTLINE "\xf3\xb1\x95\x8a" // U+F154A sort-clock-ascending-outline, aliases: sort-time-ascending-outline, tags: Text / Content / Format, Date / Time -#define ICON_MD_SORT_CLOCK_DESCENDING "\xf3\xb1\x95\x8b" // U+F154B sort-clock-descending, aliases: sort-time-descending, tags: Text / Content / Format, Date / Time -#define ICON_MD_SORT_CLOCK_DESCENDING_OUTLINE "\xf3\xb1\x95\x8c" // U+F154C sort-clock-descending-outline, aliases: sort-time-descending-outline, tags: Text / Content / Format, Date / Time -#define ICON_MD_SORT_DESCENDING "\xf3\xb0\x92\xbd" // U+F04BD sort-descending, tags: Text / Content / Format -#define ICON_MD_SORT_NUMERIC_ASCENDING "\xf3\xb1\x8e\x89" // U+F1389 sort-numeric-ascending, tags: Text / Content / Format -#define ICON_MD_SORT_NUMERIC_ASCENDING_VARIANT "\xf3\xb0\xa4\x8d" // U+F090D sort-numeric-ascending-variant, tags: Text / Content / Format -#define ICON_MD_SORT_NUMERIC_DESCENDING "\xf3\xb1\x8e\x8a" // U+F138A sort-numeric-descending, tags: Text / Content / Format -#define ICON_MD_SORT_NUMERIC_DESCENDING_VARIANT "\xf3\xb0\xab\x92" // U+F0AD2 sort-numeric-descending-variant, tags: Text / Content / Format -#define ICON_MD_SORT_NUMERIC_VARIANT "\xf3\xb0\x92\xbe" // U+F04BE sort-numeric-variant, aliases: sort-numerically, tags: Text / Content / Format -#define ICON_MD_SORT_REVERSE_VARIANT "\xf3\xb0\x8c\xbc" // U+F033C sort-reverse-variant, tags: Text / Content / Format -#define ICON_MD_SORT_VARIANT "\xf3\xb0\x92\xbf" // U+F04BF sort-variant, tags: Text / Content / Format -#define ICON_MD_SORT_VARIANT_LOCK "\xf3\xb0\xb3\x8d" // U+F0CCD sort-variant-lock, tags: Text / Content / Format, Lock -#define ICON_MD_SORT_VARIANT_LOCK_OPEN "\xf3\xb0\xb3\x8e" // U+F0CCE sort-variant-lock-open, tags: Text / Content / Format, Lock -#define ICON_MD_SORT_VARIANT_OFF "\xf3\xb1\xaa\xbb" // U+F1ABB sort-variant-off, tags: Text / Content / Format -#define ICON_MD_SORT_VARIANT_REMOVE "\xf3\xb1\x85\x87" // U+F1147 sort-variant-remove, tags: Text / Content / Format -#define ICON_MD_SOUNDBAR "\xf3\xb1\x9f\x9b" // U+F17DB soundbar, aliases: speaker-bar, tags: Home Automation -#define ICON_MD_SOUNDCLOUD "\xf3\xb0\x93\x80" // U+F04C0 soundcloud, tags: Brand / Logo -#define ICON_MD_SOURCE_BRANCH "\xf3\xb0\x98\xac" // U+F062C source-branch, tags: Developer / Languages -#define ICON_MD_SOURCE_BRANCH_CHECK "\xf3\xb1\x93\x8f" // U+F14CF source-branch-check, tags: Developer / Languages -#define ICON_MD_SOURCE_BRANCH_MINUS "\xf3\xb1\x93\x8b" // U+F14CB source-branch-minus, tags: Developer / Languages -#define ICON_MD_SOURCE_BRANCH_PLUS "\xf3\xb1\x93\x8a" // U+F14CA source-branch-plus, tags: Developer / Languages -#define ICON_MD_SOURCE_BRANCH_REFRESH "\xf3\xb1\x93\x8d" // U+F14CD source-branch-refresh, tags: Developer / Languages -#define ICON_MD_SOURCE_BRANCH_REMOVE "\xf3\xb1\x93\x8c" // U+F14CC source-branch-remove, tags: Developer / Languages -#define ICON_MD_SOURCE_BRANCH_SYNC "\xf3\xb1\x93\x8e" // U+F14CE source-branch-sync, tags: Developer / Languages -#define ICON_MD_SOURCE_COMMIT "\xf3\xb0\x9c\x98" // U+F0718 source-commit -#define ICON_MD_SOURCE_COMMIT_END "\xf3\xb0\x9c\x99" // U+F0719 source-commit-end -#define ICON_MD_SOURCE_COMMIT_END_LOCAL "\xf3\xb0\x9c\x9a" // U+F071A source-commit-end-local -#define ICON_MD_SOURCE_COMMIT_LOCAL "\xf3\xb0\x9c\x9b" // U+F071B source-commit-local -#define ICON_MD_SOURCE_COMMIT_NEXT_LOCAL "\xf3\xb0\x9c\x9c" // U+F071C source-commit-next-local -#define ICON_MD_SOURCE_COMMIT_START "\xf3\xb0\x9c\x9d" // U+F071D source-commit-start -#define ICON_MD_SOURCE_COMMIT_START_NEXT_LOCAL "\xf3\xb0\x9c\x9e" // U+F071E source-commit-start-next-local -#define ICON_MD_SOURCE_FORK "\xf3\xb0\x93\x81" // U+F04C1 source-fork, tags: Developer / Languages -#define ICON_MD_SOURCE_MERGE "\xf3\xb0\x98\xad" // U+F062D source-merge, tags: Developer / Languages -#define ICON_MD_SOURCE_PULL "\xf3\xb0\x93\x82" // U+F04C2 source-pull, tags: Developer / Languages -#define ICON_MD_SOURCE_REPOSITORY "\xf3\xb0\xb3\x8f" // U+F0CCF source-repository, tags: Developer / Languages -#define ICON_MD_SOURCE_REPOSITORY_MULTIPLE "\xf3\xb0\xb3\x90" // U+F0CD0 source-repository-multiple, aliases: source-repositories, tags: Developer / Languages -#define ICON_MD_SOY_SAUCE "\xf3\xb0\x9f\xae" // U+F07EE soy-sauce, aliases: soya-sauce, tags: Food / Drink -#define ICON_MD_SOY_SAUCE_OFF "\xf3\xb1\x8f\xbc" // U+F13FC soy-sauce-off -#define ICON_MD_SPA "\xf3\xb0\xb3\x91" // U+F0CD1 spa, aliases: flower-lotus, plant, tags: Nature -#define ICON_MD_SPA_OUTLINE "\xf3\xb0\xb3\x92" // U+F0CD2 spa-outline, aliases: flower-lotus-outline, plant, tags: Nature -#define ICON_MD_SPACE_INVADERS "\xf3\xb0\xaf\x89" // U+F0BC9 space-invaders, tags: Gaming / RPG -#define ICON_MD_SPACE_STATION "\xf3\xb1\x8e\x83" // U+F1383 space-station -#define ICON_MD_SPADE "\xf3\xb0\xb9\xa5" // U+F0E65 spade, tags: Hardware / Tools -#define ICON_MD_SPEAKER "\xf3\xb0\x93\x83" // U+F04C3 speaker, tags: Audio, Home Automation -#define ICON_MD_SPEAKER_BLUETOOTH "\xf3\xb0\xa6\xa2" // U+F09A2 speaker-bluetooth, tags: Audio -#define ICON_MD_SPEAKER_MESSAGE "\xf3\xb1\xac\x91" // U+F1B11 speaker-message, aliases: text-to-speech, tags: Home Automation, Audio -#define ICON_MD_SPEAKER_MULTIPLE "\xf3\xb0\xb4\xb8" // U+F0D38 speaker-multiple, aliases: speakers, tags: Audio -#define ICON_MD_SPEAKER_OFF "\xf3\xb0\x93\x84" // U+F04C4 speaker-off, tags: Audio, Home Automation -#define ICON_MD_SPEAKER_PAUSE "\xf3\xb1\xad\xb3" // U+F1B73 speaker-pause, tags: Audio, Music -#define ICON_MD_SPEAKER_PLAY "\xf3\xb1\xad\xb2" // U+F1B72 speaker-play, tags: Audio, Music -#define ICON_MD_SPEAKER_STOP "\xf3\xb1\xad\xb4" // U+F1B74 speaker-stop, tags: Audio, Music -#define ICON_MD_SPEAKER_WIRELESS "\xf3\xb0\x9c\x9f" // U+F071F speaker-wireless, tags: Audio, Home Automation -#define ICON_MD_SPEAR "\xf3\xb1\xa1\x85" // U+F1845 spear, aliases: staff, fishing, tags: Gaming / RPG -#define ICON_MD_SPEEDOMETER "\xf3\xb0\x93\x85" // U+F04C5 speedometer, tags: Automotive -#define ICON_MD_SPEEDOMETER_MEDIUM "\xf3\xb0\xbe\x85" // U+F0F85 speedometer-medium, tags: Automotive -#define ICON_MD_SPEEDOMETER_SLOW "\xf3\xb0\xbe\x86" // U+F0F86 speedometer-slow, tags: Automotive -#define ICON_MD_SPELLCHECK "\xf3\xb0\x93\x86" // U+F04C6 spellcheck -#define ICON_MD_SPHERE "\xf3\xb1\xa5\x94" // U+F1954 sphere, tags: Shape -#define ICON_MD_SPHERE_OFF "\xf3\xb1\xa5\x95" // U+F1955 sphere-off, tags: Shape -#define ICON_MD_SPIDER "\xf3\xb1\x87\xaa" // U+F11EA spider, aliases: arachnid, bug, tags: Holiday, Nature, Animal -#define ICON_MD_SPIDER_THREAD "\xf3\xb1\x87\xab" // U+F11EB spider-thread, aliases: arachnid-thread, bug, tags: Holiday, Nature, Animal -#define ICON_MD_SPIDER_WEB "\xf3\xb0\xaf\x8a" // U+F0BCA spider-web, aliases: cobweb, arachnid-web, tags: Holiday -#define ICON_MD_SPIRIT_LEVEL "\xf3\xb1\x93\xb1" // U+F14F1 spirit-level, tags: Hardware / Tools -#define ICON_MD_SPOON_SUGAR "\xf3\xb1\x90\xa9" // U+F1429 spoon-sugar, tags: Food / Drink -#define ICON_MD_SPOTIFY "\xf3\xb0\x93\x87" // U+F04C7 spotify, tags: Brand / Logo -#define ICON_MD_SPOTLIGHT "\xf3\xb0\x93\x88" // U+F04C8 spotlight, tags: Home Automation -#define ICON_MD_SPOTLIGHT_BEAM "\xf3\xb0\x93\x89" // U+F04C9 spotlight-beam, tags: Home Automation -#define ICON_MD_SPRAY "\xf3\xb0\x99\xa5" // U+F0665 spray, aliases: paint, aerosol, tags: Agriculture, Drawing / Art, Color -#define ICON_MD_SPRAY_BOTTLE "\xf3\xb0\xab\xa0" // U+F0AE0 spray-bottle, aliases: cleaning -#define ICON_MD_SPRINKLER "\xf3\xb1\x81\x9f" // U+F105F sprinkler, aliases: irrigation, tags: Home Automation, Agriculture -#define ICON_MD_SPRINKLER_FIRE "\xf3\xb1\xa6\x9d" // U+F199D sprinkler-fire, aliases: sprinkler-mist, mister, sprinkler-head, tags: Home Automation, Agriculture -#define ICON_MD_SPRINKLER_VARIANT "\xf3\xb1\x81\xa0" // U+F1060 sprinkler-variant, aliases: irrigation, tags: Home Automation, Agriculture -#define ICON_MD_SPROUT "\xf3\xb0\xb9\xa6" // U+F0E66 sprout, aliases: seedling, plant, tags: Agriculture, Nature -#define ICON_MD_SPROUT_OUTLINE "\xf3\xb0\xb9\xa7" // U+F0E67 sprout-outline, aliases: seedling-outline, plant-outline, tags: Agriculture, Nature -#define ICON_MD_SQUARE "\xf3\xb0\x9d\xa4" // U+F0764 square, tags: Shape -#define ICON_MD_SQUARE_CIRCLE "\xf3\xb1\x94\x80" // U+F1500 square-circle, aliases: vegetarian, lacto-vegetarian, tags: Food / Drink -#define ICON_MD_SQUARE_EDIT_OUTLINE "\xf3\xb0\xa4\x8c" // U+F090C square-edit-outline, tags: Edit / Modify -#define ICON_MD_SQUARE_MEDIUM "\xf3\xb0\xa8\x93" // U+F0A13 square-medium, tags: Shape -#define ICON_MD_SQUARE_MEDIUM_OUTLINE "\xf3\xb0\xa8\x94" // U+F0A14 square-medium-outline, tags: Shape -#define ICON_MD_SQUARE_OFF "\xf3\xb1\x8b\xae" // U+F12EE square-off -#define ICON_MD_SQUARE_OFF_OUTLINE "\xf3\xb1\x8b\xaf" // U+F12EF square-off-outline -#define ICON_MD_SQUARE_OPACITY "\xf3\xb1\xa1\x94" // U+F1854 square-opacity, aliases: square-transparent, tags: Drawing / Art, Shape -#define ICON_MD_SQUARE_OUTLINE "\xf3\xb0\x9d\xa3" // U+F0763 square-outline, tags: Shape -#define ICON_MD_SQUARE_ROOT "\xf3\xb0\x9e\x84" // U+F0784 square-root, tags: Math -#define ICON_MD_SQUARE_ROOT_BOX "\xf3\xb0\xa6\xa3" // U+F09A3 square-root-box -#define ICON_MD_SQUARE_ROUNDED "\xf3\xb1\x93\xbb" // U+F14FB square-rounded -#define ICON_MD_SQUARE_ROUNDED_BADGE "\xf3\xb1\xa8\x87" // U+F1A07 square-rounded-badge, aliases: app-badge, push-notification, tags: Shape, Notification -#define ICON_MD_SQUARE_ROUNDED_BADGE_OUTLINE "\xf3\xb1\xa8\x88" // U+F1A08 square-rounded-badge-outline, aliases: app-badge-outline, push-notification-outline, tags: Shape, Notification -#define ICON_MD_SQUARE_ROUNDED_OUTLINE "\xf3\xb1\x93\xbc" // U+F14FC square-rounded-outline -#define ICON_MD_SQUARE_SMALL "\xf3\xb0\xa8\x95" // U+F0A15 square-small, aliases: bullet -#define ICON_MD_SQUARE_WAVE "\xf3\xb1\x91\xbb" // U+F147B square-wave, tags: Audio -#define ICON_MD_SQUEEGEE "\xf3\xb0\xab\xa1" // U+F0AE1 squeegee -#define ICON_MD_SSH "\xf3\xb0\xa3\x80" // U+F08C0 ssh -#define ICON_MD_STACK_EXCHANGE "\xf3\xb0\x98\x8b" // U+F060B stack-exchange, aliases: stackexchange, tags: Brand / Logo -#define ICON_MD_STACK_OVERFLOW "\xf3\xb0\x93\x8c" // U+F04CC stack-overflow, aliases: stackoverflow, tags: Brand / Logo -#define ICON_MD_STACKPATH "\xf3\xb0\x8d\x99" // U+F0359 stackpath, tags: Brand / Logo -#define ICON_MD_STADIUM "\xf3\xb0\xbf\xb9" // U+F0FF9 stadium, aliases: arena, tags: Sport, Places -#define ICON_MD_STADIUM_OUTLINE "\xf3\xb1\xac\x83" // U+F1B03 stadium-outline, aliases: arena-outline, tags: Sport, Places -#define ICON_MD_STADIUM_VARIANT "\xf3\xb0\x9c\xa0" // U+F0720 stadium-variant, aliases: arena, tags: Places, Sport -#define ICON_MD_STAIRS "\xf3\xb0\x93\x8d" // U+F04CD stairs, tags: Transportation + Other -#define ICON_MD_STAIRS_BOX "\xf3\xb1\x8e\x9e" // U+F139E stairs-box -#define ICON_MD_STAIRS_DOWN "\xf3\xb1\x8a\xbe" // U+F12BE stairs-down, tags: Transportation + Other -#define ICON_MD_STAIRS_UP "\xf3\xb1\x8a\xbd" // U+F12BD stairs-up, tags: Transportation + Other -#define ICON_MD_STAMPER "\xf3\xb0\xb4\xb9" // U+F0D39 stamper -#define ICON_MD_STANDARD_DEFINITION "\xf3\xb0\x9f\xaf" // U+F07EF standard-definition, tags: Video / Movie -#define ICON_MD_STAR "\xf3\xb0\x93\x8e" // U+F04CE star, aliases: grade, star-rate, favorite, tags: Shape -#define ICON_MD_STAR_BOX "\xf3\xb0\xa9\xb3" // U+F0A73 star-box, aliases: favorite-box -#define ICON_MD_STAR_BOX_MULTIPLE "\xf3\xb1\x8a\x86" // U+F1286 star-box-multiple, aliases: favorite-box-multiple -#define ICON_MD_STAR_BOX_MULTIPLE_OUTLINE "\xf3\xb1\x8a\x87" // U+F1287 star-box-multiple-outline, aliases: favorite-box-multiple-outline -#define ICON_MD_STAR_BOX_OUTLINE "\xf3\xb0\xa9\xb4" // U+F0A74 star-box-outline, aliases: favorite-box-outline -#define ICON_MD_STAR_CHECK "\xf3\xb1\x95\xa6" // U+F1566 star-check, aliases: favorite-check, tags: Shape -#define ICON_MD_STAR_CHECK_OUTLINE "\xf3\xb1\x95\xaa" // U+F156A star-check-outline, aliases: favorite-check-outline, tags: Shape -#define ICON_MD_STAR_CIRCLE "\xf3\xb0\x93\x8f" // U+F04CF star-circle, aliases: stars, favorite-circle -#define ICON_MD_STAR_CIRCLE_OUTLINE "\xf3\xb0\xa6\xa4" // U+F09A4 star-circle-outline, aliases: feature-highlight, favorite-circle-outline -#define ICON_MD_STAR_COG "\xf3\xb1\x99\xa8" // U+F1668 star-cog, aliases: favorite-cog -#define ICON_MD_STAR_COG_OUTLINE "\xf3\xb1\x99\xa9" // U+F1669 star-cog-outline, aliases: favorite-cog-outline -#define ICON_MD_STAR_CRESCENT "\xf3\xb0\xa5\xb9" // U+F0979 star-crescent, aliases: islam, religion-islamic, religion-muslim, tags: Religion -#define ICON_MD_STAR_DAVID "\xf3\xb0\xa5\xba" // U+F097A star-david, aliases: jewish, religion-judaic, judaism, magen-david, tags: Religion -#define ICON_MD_STAR_FACE "\xf3\xb0\xa6\xa5" // U+F09A5 star-face, aliases: favorite-face, emoji-star, emoticon-star, tags: Gaming / RPG -#define ICON_MD_STAR_FOUR_POINTS "\xf3\xb0\xab\xa2" // U+F0AE2 star-four-points, tags: Shape -#define ICON_MD_STAR_FOUR_POINTS_OUTLINE "\xf3\xb0\xab\xa3" // U+F0AE3 star-four-points-outline, tags: Shape -#define ICON_MD_STAR_HALF "\xf3\xb0\x89\x86" // U+F0246 star-half, aliases: favorite-half, tags: Shape -#define ICON_MD_STAR_HALF_FULL "\xf3\xb0\x93\x90" // U+F04D0 star-half-full, aliases: favorite-half-full -#define ICON_MD_STAR_MINUS "\xf3\xb1\x95\xa4" // U+F1564 star-minus, aliases: favorite-minus, tags: Shape -#define ICON_MD_STAR_MINUS_OUTLINE "\xf3\xb1\x95\xa8" // U+F1568 star-minus-outline, aliases: favorite-minus-outline, tags: Shape -#define ICON_MD_STAR_OFF "\xf3\xb0\x93\x91" // U+F04D1 star-off, aliases: favorite-off -#define ICON_MD_STAR_OFF_OUTLINE "\xf3\xb1\x95\x9b" // U+F155B star-off-outline, aliases: favorite-off-outline -#define ICON_MD_STAR_OUTLINE "\xf3\xb0\x93\x92" // U+F04D2 star-outline, aliases: star-border, favorite-outline, tags: Shape -#define ICON_MD_STAR_PLUS "\xf3\xb1\x95\xa3" // U+F1563 star-plus, aliases: favorite-plus, star-add, favorite-add, tags: Shape -#define ICON_MD_STAR_PLUS_OUTLINE "\xf3\xb1\x95\xa7" // U+F1567 star-plus-outline, aliases: star-add-outline, favorite-plus-outline, favorite-add-outline, tags: Shape -#define ICON_MD_STAR_REMOVE "\xf3\xb1\x95\xa5" // U+F1565 star-remove, aliases: favorite-remove, tags: Shape -#define ICON_MD_STAR_REMOVE_OUTLINE "\xf3\xb1\x95\xa9" // U+F1569 star-remove-outline, aliases: favorite-remove-outline, tags: Shape -#define ICON_MD_STAR_SETTINGS "\xf3\xb1\x99\xaa" // U+F166A star-settings, aliases: favorite-settings, tags: Settings -#define ICON_MD_STAR_SETTINGS_OUTLINE "\xf3\xb1\x99\xab" // U+F166B star-settings-outline, aliases: favorite-settings-outline, tags: Settings -#define ICON_MD_STAR_SHOOTING "\xf3\xb1\x9d\x81" // U+F1741 star-shooting, aliases: favorite-shooting -#define ICON_MD_STAR_SHOOTING_OUTLINE "\xf3\xb1\x9d\x82" // U+F1742 star-shooting-outline, aliases: favorite-shooting-outline -#define ICON_MD_STAR_THREE_POINTS "\xf3\xb0\xab\xa4" // U+F0AE4 star-three-points, tags: Shape -#define ICON_MD_STAR_THREE_POINTS_OUTLINE "\xf3\xb0\xab\xa5" // U+F0AE5 star-three-points-outline, tags: Shape -#define ICON_MD_STATE_MACHINE "\xf3\xb1\x87\xaf" // U+F11EF state-machine -#define ICON_MD_STEAM "\xf3\xb0\x93\x93" // U+F04D3 steam, tags: Brand / Logo, Gaming / RPG -#define ICON_MD_STEERING "\xf3\xb0\x93\x94" // U+F04D4 steering, aliases: search-hands-free, tags: Automotive -#define ICON_MD_STEERING_OFF "\xf3\xb0\xa4\x8e" // U+F090E steering-off, aliases: search-hands-free-off, tags: Automotive -#define ICON_MD_STEP_BACKWARD "\xf3\xb0\x93\x95" // U+F04D5 step-backward -#define ICON_MD_STEP_BACKWARD_2 "\xf3\xb0\x93\x96" // U+F04D6 step-backward-2, aliases: frame-backward -#define ICON_MD_STEP_FORWARD "\xf3\xb0\x93\x97" // U+F04D7 step-forward -#define ICON_MD_STEP_FORWARD_2 "\xf3\xb0\x93\x98" // U+F04D8 step-forward-2, aliases: frame-forward -#define ICON_MD_STETHOSCOPE "\xf3\xb0\x93\x99" // U+F04D9 stethoscope, tags: Medical / Hospital -#define ICON_MD_STICKER "\xf3\xb1\x8d\xa4" // U+F1364 sticker -#define ICON_MD_STICKER_ALERT "\xf3\xb1\x8d\xa5" // U+F1365 sticker-alert, tags: Alert / Error -#define ICON_MD_STICKER_ALERT_OUTLINE "\xf3\xb1\x8d\xa6" // U+F1366 sticker-alert-outline, tags: Alert / Error -#define ICON_MD_STICKER_CHECK "\xf3\xb1\x8d\xa7" // U+F1367 sticker-check -#define ICON_MD_STICKER_CHECK_OUTLINE "\xf3\xb1\x8d\xa8" // U+F1368 sticker-check-outline -#define ICON_MD_STICKER_CIRCLE_OUTLINE "\xf3\xb0\x97\x90" // U+F05D0 sticker-circle-outline -#define ICON_MD_STICKER_EMOJI "\xf3\xb0\x9e\x85" // U+F0785 sticker-emoji, tags: Emoji -#define ICON_MD_STICKER_MINUS "\xf3\xb1\x8d\xa9" // U+F1369 sticker-minus -#define ICON_MD_STICKER_MINUS_OUTLINE "\xf3\xb1\x8d\xaa" // U+F136A sticker-minus-outline -#define ICON_MD_STICKER_OUTLINE "\xf3\xb1\x8d\xab" // U+F136B sticker-outline -#define ICON_MD_STICKER_PLUS "\xf3\xb1\x8d\xac" // U+F136C sticker-plus -#define ICON_MD_STICKER_PLUS_OUTLINE "\xf3\xb1\x8d\xad" // U+F136D sticker-plus-outline -#define ICON_MD_STICKER_REMOVE "\xf3\xb1\x8d\xae" // U+F136E sticker-remove -#define ICON_MD_STICKER_REMOVE_OUTLINE "\xf3\xb1\x8d\xaf" // U+F136F sticker-remove-outline -#define ICON_MD_STICKER_TEXT "\xf3\xb1\x9e\x8e" // U+F178E sticker-text -#define ICON_MD_STICKER_TEXT_OUTLINE "\xf3\xb1\x9e\x8f" // U+F178F sticker-text-outline -#define ICON_MD_STOCKING "\xf3\xb0\x93\x9a" // U+F04DA stocking, tags: Holiday -#define ICON_MD_STOMACH "\xf3\xb1\x82\x93" // U+F1093 stomach, tags: Medical / Hospital -#define ICON_MD_STOOL "\xf3\xb1\xa5\x9d" // U+F195D stool -#define ICON_MD_STOOL_OUTLINE "\xf3\xb1\xa5\x9e" // U+F195E stool-outline -#define ICON_MD_STOP "\xf3\xb0\x93\x9b" // U+F04DB stop -#define ICON_MD_STOP_CIRCLE "\xf3\xb0\x99\xa6" // U+F0666 stop-circle -#define ICON_MD_STOP_CIRCLE_OUTLINE "\xf3\xb0\x99\xa7" // U+F0667 stop-circle-outline -#define ICON_MD_STORAGE_TANK "\xf3\xb1\xa9\xb5" // U+F1A75 storage-tank, aliases: propane-tank, gas-tank -#define ICON_MD_STORAGE_TANK_OUTLINE "\xf3\xb1\xa9\xb6" // U+F1A76 storage-tank-outline, aliases: propane-tank-outline, gas-tank-outline -#define ICON_MD_STORE "\xf3\xb0\x93\x9c" // U+F04DC store, aliases: shop, store-mall-directory, tags: Places, Shopping -#define ICON_MD_STORE_24_HOUR "\xf3\xb0\x93\x9d" // U+F04DD store-24-hour, aliases: local-convenience-store, shop-24-hour, tags: Places, Shopping -#define ICON_MD_STORE_ALERT "\xf3\xb1\xa3\x81" // U+F18C1 store-alert, aliases: shop-alert, tags: Places, Shopping, Alert / Error -#define ICON_MD_STORE_ALERT_OUTLINE "\xf3\xb1\xa3\x82" // U+F18C2 store-alert-outline, aliases: shop-alert-outline, tags: Places, Shopping, Alert / Error -#define ICON_MD_STORE_CHECK "\xf3\xb1\xa3\x83" // U+F18C3 store-check, aliases: shop-check, shop-complete, store-complete, tags: Shopping, Places -#define ICON_MD_STORE_CHECK_OUTLINE "\xf3\xb1\xa3\x84" // U+F18C4 store-check-outline, aliases: shop-complete, store-complete-outline, shop-check-outline, tags: Shopping, Places -#define ICON_MD_STORE_CLOCK "\xf3\xb1\xa3\x85" // U+F18C5 store-clock, aliases: store-schedule, store-hours, shop-clock, shop-hours, shop-schedule, store-time, shop-time, tags: Places, Shopping -#define ICON_MD_STORE_CLOCK_OUTLINE "\xf3\xb1\xa3\x86" // U+F18C6 store-clock-outline, aliases: shop-clock-outline, store-hours-outline, shop-hours-outline, store-time-outline, shop-time-outline, store-schedule-outline, shop-schedule-outline, tags: Places, Shopping -#define ICON_MD_STORE_COG "\xf3\xb1\xa3\x87" // U+F18C7 store-cog, aliases: store-settings, shop-settings, tags: Places, Shopping, Settings -#define ICON_MD_STORE_COG_OUTLINE "\xf3\xb1\xa3\x88" // U+F18C8 store-cog-outline, aliases: store-settings-outline, shop-settings-outline, shop-cog-outline, tags: Places, Shopping, Settings -#define ICON_MD_STORE_EDIT "\xf3\xb1\xa3\x89" // U+F18C9 store-edit, aliases: shop-edit, tags: Places, Shopping, Edit / Modify -#define ICON_MD_STORE_EDIT_OUTLINE "\xf3\xb1\xa3\x8a" // U+F18CA store-edit-outline, aliases: shop-edit-outline, tags: Places, Shopping, Edit / Modify -#define ICON_MD_STORE_MARKER "\xf3\xb1\xa3\x8b" // U+F18CB store-marker, aliases: store-location, shop-marker, shop-location, tags: Places, Shopping, Navigation -#define ICON_MD_STORE_MARKER_OUTLINE "\xf3\xb1\xa3\x8c" // U+F18CC store-marker-outline, aliases: store-location-outline, shop-marker-outline, shop-location-outline, tags: Places, Shopping, Navigation -#define ICON_MD_STORE_MINUS "\xf3\xb1\x99\x9e" // U+F165E store-minus, aliases: shop-minus, tags: Places, Shopping -#define ICON_MD_STORE_MINUS_OUTLINE "\xf3\xb1\xa3\x8d" // U+F18CD store-minus-outline, aliases: shop-minus-outline, tags: Places, Shopping -#define ICON_MD_STORE_OFF "\xf3\xb1\xa3\x8e" // U+F18CE store-off, aliases: shop-off, tags: Places, Shopping -#define ICON_MD_STORE_OFF_OUTLINE "\xf3\xb1\xa3\x8f" // U+F18CF store-off-outline, aliases: shop-off-outline, tags: Places, Shopping -#define ICON_MD_STORE_OUTLINE "\xf3\xb1\x8d\xa1" // U+F1361 store-outline, aliases: shop-outline, store-mall-directory-outline, tags: Places, Shopping -#define ICON_MD_STORE_PLUS "\xf3\xb1\x99\x9f" // U+F165F store-plus, aliases: shop-plus, tags: Places, Shopping -#define ICON_MD_STORE_PLUS_OUTLINE "\xf3\xb1\xa3\x90" // U+F18D0 store-plus-outline, aliases: shop-plus-outline, tags: Places, Shopping -#define ICON_MD_STORE_REMOVE "\xf3\xb1\x99\xa0" // U+F1660 store-remove, aliases: shop-remove, store-delete, shop-delete, tags: Places, Shopping -#define ICON_MD_STORE_REMOVE_OUTLINE "\xf3\xb1\xa3\x91" // U+F18D1 store-remove-outline, aliases: shop-remove-outline, store-delete-outline, shop-delete-outline, tags: Places, Shopping -#define ICON_MD_STORE_SEARCH "\xf3\xb1\xa3\x92" // U+F18D2 store-search, aliases: shop-search, store-find, shop-find, store-locator, shop-locator, store-look-up, shop-look-up, tags: Places, Shopping -#define ICON_MD_STORE_SEARCH_OUTLINE "\xf3\xb1\xa3\x93" // U+F18D3 store-search-outline, aliases: store-find-outline, shop-search-outline, shop-find-outline, store-locator-outline, shop-locator-outline, store-look-up-outline, shop-look-up-outline, tags: Places, Shopping -#define ICON_MD_STORE_SETTINGS "\xf3\xb1\xa3\x94" // U+F18D4 store-settings, aliases: shop-settings, tags: Places, Shopping, Settings -#define ICON_MD_STORE_SETTINGS_OUTLINE "\xf3\xb1\xa3\x95" // U+F18D5 store-settings-outline, aliases: shop-settings-outline, tags: Places, Shopping, Settings -#define ICON_MD_STOREFRONT "\xf3\xb0\x9f\x87" // U+F07C7 storefront, aliases: awning, tags: Places -#define ICON_MD_STOREFRONT_CHECK "\xf3\xb1\xad\xbd" // U+F1B7D storefront-check -#define ICON_MD_STOREFRONT_CHECK_OUTLINE "\xf3\xb1\xad\xbe" // U+F1B7E storefront-check-outline -#define ICON_MD_STOREFRONT_EDIT "\xf3\xb1\xad\xbf" // U+F1B7F storefront-edit -#define ICON_MD_STOREFRONT_EDIT_OUTLINE "\xf3\xb1\xae\x80" // U+F1B80 storefront-edit-outline -#define ICON_MD_STOREFRONT_MINUS "\xf3\xb1\xae\x83" // U+F1B83 storefront-minus -#define ICON_MD_STOREFRONT_MINUS_OUTLINE "\xf3\xb1\xae\x84" // U+F1B84 storefront-minus-outline -#define ICON_MD_STOREFRONT_OUTLINE "\xf3\xb1\x83\x81" // U+F10C1 storefront-outline, aliases: awning, tags: Shopping, Places -#define ICON_MD_STOREFRONT_PLUS "\xf3\xb1\xae\x81" // U+F1B81 storefront-plus -#define ICON_MD_STOREFRONT_PLUS_OUTLINE "\xf3\xb1\xae\x82" // U+F1B82 storefront-plus-outline -#define ICON_MD_STOREFRONT_REMOVE "\xf3\xb1\xae\x85" // U+F1B85 storefront-remove -#define ICON_MD_STOREFRONT_REMOVE_OUTLINE "\xf3\xb1\xae\x86" // U+F1B86 storefront-remove-outline -#define ICON_MD_STOVE "\xf3\xb0\x93\x9e" // U+F04DE stove, aliases: cooker, oven, tags: Food / Drink, Home Automation -#define ICON_MD_STRATEGY "\xf3\xb1\x87\x96" // U+F11D6 strategy, aliases: football-play, tags: Sport -#define ICON_MD_STRETCH_TO_PAGE "\xf3\xb0\xbc\xab" // U+F0F2B stretch-to-page, tags: Text / Content / Format, Arrow -#define ICON_MD_STRETCH_TO_PAGE_OUTLINE "\xf3\xb0\xbc\xac" // U+F0F2C stretch-to-page-outline, tags: Text / Content / Format, Arrow -#define ICON_MD_STRING_LIGHTS "\xf3\xb1\x8a\xba" // U+F12BA string-lights, aliases: italian-lights, christmas-lights, fairy-lights, tags: Home Automation -#define ICON_MD_STRING_LIGHTS_OFF "\xf3\xb1\x8a\xbb" // U+F12BB string-lights-off, aliases: italian-lights-off, christmas-lights-off, fairy-lights-off, tags: Home Automation -#define ICON_MD_SUBDIRECTORY_ARROW_LEFT "\xf3\xb0\x98\x8c" // U+F060C subdirectory-arrow-left, tags: Arrow -#define ICON_MD_SUBDIRECTORY_ARROW_RIGHT "\xf3\xb0\x98\x8d" // U+F060D subdirectory-arrow-right, tags: Arrow -#define ICON_MD_SUBMARINE "\xf3\xb1\x95\xac" // U+F156C submarine -#define ICON_MD_SUBTITLES "\xf3\xb0\xa8\x96" // U+F0A16 subtitles -#define ICON_MD_SUBTITLES_OUTLINE "\xf3\xb0\xa8\x97" // U+F0A17 subtitles-outline -#define ICON_MD_SUBWAY "\xf3\xb0\x9a\xac" // U+F06AC subway, aliases: metro, tube, underground, tags: Transportation + Other -#define ICON_MD_SUBWAY_ALERT_VARIANT "\xf3\xb0\xb6\x9d" // U+F0D9D subway-alert-variant, aliases: subway-warning-variant, tags: Alert / Error, Transportation + Other -#define ICON_MD_SUBWAY_VARIANT "\xf3\xb0\x93\x9f" // U+F04DF subway-variant, aliases: metro-variant, tube-variant, underground-variant, directions-subway, directions-transit, tags: Transportation + Other -#define ICON_MD_SUMMIT "\xf3\xb0\x9e\x86" // U+F0786 summit, aliases: peak -#define ICON_MD_SUN_ANGLE "\xf3\xb1\xac\xa7" // U+F1B27 sun-angle, aliases: solar-angle, tags: Weather -#define ICON_MD_SUN_ANGLE_OUTLINE "\xf3\xb1\xac\xa8" // U+F1B28 sun-angle-outline, aliases: solar-angle-outline, tags: Weather -#define ICON_MD_SUN_CLOCK "\xf3\xb1\xa9\xb7" // U+F1A77 sun-clock, aliases: sun-schedule, sun-time, time-of-day, tags: Weather, Home Automation -#define ICON_MD_SUN_CLOCK_OUTLINE "\xf3\xb1\xa9\xb8" // U+F1A78 sun-clock-outline, aliases: sun-schedule-outline, sun-time-outline, time-of-day-outline, tags: Weather, Home Automation -#define ICON_MD_SUN_COMPASS "\xf3\xb1\xa6\xa5" // U+F19A5 sun-compass, aliases: sun-azimuth, solar-compass, solar-asimuth, tags: Weather, Home Automation, Navigation -#define ICON_MD_SUN_SNOWFLAKE "\xf3\xb1\x9e\x96" // U+F1796 sun-snowflake, aliases: hot-cold, heat-cool, tags: Weather, Home Automation -#define ICON_MD_SUN_SNOWFLAKE_VARIANT "\xf3\xb1\xa9\xb9" // U+F1A79 sun-snowflake-variant, aliases: hot-cold, heat-cool, tags: Home Automation, Weather -#define ICON_MD_SUN_THERMOMETER "\xf3\xb1\xa3\x96" // U+F18D6 sun-thermometer, aliases: heat-index, sun-temperature, day-temperature, external-temperature, outdoor-temperature, tags: Weather, Home Automation -#define ICON_MD_SUN_THERMOMETER_OUTLINE "\xf3\xb1\xa3\x97" // U+F18D7 sun-thermometer-outline, aliases: external-temperature, outside-temperature, heat-index, day-temperature, tags: Home Automation, Weather -#define ICON_MD_SUN_WIRELESS "\xf3\xb1\x9f\xbe" // U+F17FE sun-wireless, aliases: weather-sun-wireless, illuminance, uv-ray, ultraviolet, tags: Home Automation, Weather -#define ICON_MD_SUN_WIRELESS_OUTLINE "\xf3\xb1\x9f\xbf" // U+F17FF sun-wireless-outline, aliases: weather-sun-wireless-outline, illuminance-outline, uv-ray-outline, ultraviolet-outline, tags: Home Automation, Weather -#define ICON_MD_SUNGLASSES "\xf3\xb0\x93\xa0" // U+F04E0 sunglasses, tags: Clothing -#define ICON_MD_SURFING "\xf3\xb1\x9d\x86" // U+F1746 surfing -#define ICON_MD_SURROUND_SOUND "\xf3\xb0\x97\x85" // U+F05C5 surround-sound, tags: Audio -#define ICON_MD_SURROUND_SOUND_2_0 "\xf3\xb0\x9f\xb0" // U+F07F0 surround-sound-2-0, aliases: stereo, tags: Audio -#define ICON_MD_SURROUND_SOUND_2_1 "\xf3\xb1\x9c\xa9" // U+F1729 surround-sound-2-1 -#define ICON_MD_SURROUND_SOUND_3_1 "\xf3\xb0\x9f\xb1" // U+F07F1 surround-sound-3-1, tags: Audio -#define ICON_MD_SURROUND_SOUND_5_1 "\xf3\xb0\x9f\xb2" // U+F07F2 surround-sound-5-1, tags: Audio -#define ICON_MD_SURROUND_SOUND_5_1_2 "\xf3\xb1\x9c\xaa" // U+F172A surround-sound-5-1-2 -#define ICON_MD_SURROUND_SOUND_7_1 "\xf3\xb0\x9f\xb3" // U+F07F3 surround-sound-7-1, tags: Audio -#define ICON_MD_SVG "\xf3\xb0\x9c\xa1" // U+F0721 svg, tags: Brand / Logo -#define ICON_MD_SWAP_HORIZONTAL "\xf3\xb0\x93\xa1" // U+F04E1 swap-horizontal, aliases: arrow-left-right, transfer, exchange, switch, tags: Arrow -#define ICON_MD_SWAP_HORIZONTAL_BOLD "\xf3\xb0\xaf\x8d" // U+F0BCD swap-horizontal-bold, aliases: arrow-left-right-bold, tags: Arrow -#define ICON_MD_SWAP_HORIZONTAL_CIRCLE "\xf3\xb0\xbf\xa1" // U+F0FE1 swap-horizontal-circle, tags: Arrow -#define ICON_MD_SWAP_HORIZONTAL_CIRCLE_OUTLINE "\xf3\xb0\xbf\xa2" // U+F0FE2 swap-horizontal-circle-outline, tags: Arrow -#define ICON_MD_SWAP_HORIZONTAL_VARIANT "\xf3\xb0\xa3\x81" // U+F08C1 swap-horizontal-variant, tags: Arrow -#define ICON_MD_SWAP_VERTICAL "\xf3\xb0\x93\xa2" // U+F04E2 swap-vertical, aliases: import-export, arrow-up-down, tags: Arrow -#define ICON_MD_SWAP_VERTICAL_BOLD "\xf3\xb0\xaf\x8e" // U+F0BCE swap-vertical-bold, aliases: arrow-up-down-bold, import-export-bold, tags: Arrow -#define ICON_MD_SWAP_VERTICAL_CIRCLE "\xf3\xb0\xbf\xa3" // U+F0FE3 swap-vertical-circle, tags: Arrow -#define ICON_MD_SWAP_VERTICAL_CIRCLE_OUTLINE "\xf3\xb0\xbf\xa4" // U+F0FE4 swap-vertical-circle-outline, tags: Arrow -#define ICON_MD_SWAP_VERTICAL_VARIANT "\xf3\xb0\xa3\x82" // U+F08C2 swap-vertical-variant, aliases: swap-calls, tags: Arrow -#define ICON_MD_SWIM "\xf3\xb0\x93\xa3" // U+F04E3 swim, tags: Sport -#define ICON_MD_SWITCH "\xf3\xb0\x93\xa4" // U+F04E4 switch -#define ICON_MD_SWORD "\xf3\xb0\x93\xa5" // U+F04E5 sword, tags: Gaming / RPG -#define ICON_MD_SWORD_CROSS "\xf3\xb0\x9e\x87" // U+F0787 sword-cross, tags: Gaming / RPG -#define ICON_MD_SYLLABARY_HANGUL "\xf3\xb1\x8c\xb3" // U+F1333 syllabary-hangul, aliases: writing-system-hangul, tags: Alpha / Numeric -#define ICON_MD_SYLLABARY_HIRAGANA "\xf3\xb1\x8c\xb4" // U+F1334 syllabary-hiragana, aliases: writing-system-hiragana, tags: Alpha / Numeric -#define ICON_MD_SYLLABARY_KATAKANA "\xf3\xb1\x8c\xb5" // U+F1335 syllabary-katakana, aliases: writing-system-katakana, tags: Alpha / Numeric -#define ICON_MD_SYLLABARY_KATAKANA_HALFWIDTH "\xf3\xb1\x8c\xb6" // U+F1336 syllabary-katakana-halfwidth, aliases: writing-system-katakana-half-width, tags: Alpha / Numeric -#define ICON_MD_SYMBOL "\xf3\xb1\x94\x81" // U+F1501 symbol -#define ICON_MD_SYMFONY "\xf3\xb0\xab\xa6" // U+F0AE6 symfony, tags: Brand / Logo -#define ICON_MD_SYNAGOGUE "\xf3\xb1\xac\x84" // U+F1B04 synagogue, aliases: shul, temple, jewish, tags: Places, Religion -#define ICON_MD_SYNAGOGUE_OUTLINE "\xf3\xb1\xac\x85" // U+F1B05 synagogue-outline, aliases: temple-outline, shul-outline, jewish-outline, tags: Places, Religion -#define ICON_MD_SYNC "\xf3\xb0\x93\xa6" // U+F04E6 sync, aliases: loop, counterclockwise-arrows, circular-arrows, circle-arrows -#define ICON_MD_SYNC_ALERT "\xf3\xb0\x93\xa7" // U+F04E7 sync-alert, aliases: sync-warning, sync-problem, tags: Alert / Error -#define ICON_MD_SYNC_CIRCLE "\xf3\xb1\x8d\xb8" // U+F1378 sync-circle -#define ICON_MD_SYNC_OFF "\xf3\xb0\x93\xa8" // U+F04E8 sync-off, aliases: sync-disabled -#define ICON_MD_TAB "\xf3\xb0\x93\xa9" // U+F04E9 tab -#define ICON_MD_TAB_MINUS "\xf3\xb0\xad\x8b" // U+F0B4B tab-minus -#define ICON_MD_TAB_PLUS "\xf3\xb0\x9d\x9c" // U+F075C tab-plus, aliases: tab-add -#define ICON_MD_TAB_REMOVE "\xf3\xb0\xad\x8c" // U+F0B4C tab-remove -#define ICON_MD_TAB_SEARCH "\xf3\xb1\xa6\x9e" // U+F199E tab-search, aliases: tab-find -#define ICON_MD_TAB_UNSELECTED "\xf3\xb0\x93\xaa" // U+F04EA tab-unselected -#define ICON_MD_TABLE "\xf3\xb0\x93\xab" // U+F04EB table, tags: Text / Content / Format -#define ICON_MD_TABLE_ACCOUNT "\xf3\xb1\x8e\xb9" // U+F13B9 table-account, aliases: table-user, tags: Account / User -#define ICON_MD_TABLE_ALERT "\xf3\xb1\x8e\xba" // U+F13BA table-alert, tags: Alert / Error -#define ICON_MD_TABLE_ARROW_DOWN "\xf3\xb1\x8e\xbb" // U+F13BB table-arrow-down, aliases: table-download -#define ICON_MD_TABLE_ARROW_LEFT "\xf3\xb1\x8e\xbc" // U+F13BC table-arrow-left, aliases: table-import -#define ICON_MD_TABLE_ARROW_RIGHT "\xf3\xb1\x8e\xbd" // U+F13BD table-arrow-right, aliases: table-share, table-export -#define ICON_MD_TABLE_ARROW_UP "\xf3\xb1\x8e\xbe" // U+F13BE table-arrow-up, aliases: table-upload -#define ICON_MD_TABLE_BORDER "\xf3\xb0\xa8\x98" // U+F0A18 table-border, tags: Text / Content / Format -#define ICON_MD_TABLE_CANCEL "\xf3\xb1\x8e\xbf" // U+F13BF table-cancel -#define ICON_MD_TABLE_CHAIR "\xf3\xb1\x81\xa1" // U+F1061 table-chair, aliases: restaurant, kitchen, dining, dining-room, tags: Home Automation -#define ICON_MD_TABLE_CHECK "\xf3\xb1\x8f\x80" // U+F13C0 table-check -#define ICON_MD_TABLE_CLOCK "\xf3\xb1\x8f\x81" // U+F13C1 table-clock, tags: Date / Time -#define ICON_MD_TABLE_COG "\xf3\xb1\x8f\x82" // U+F13C2 table-cog, aliases: table-settings, tags: Settings -#define ICON_MD_TABLE_COLUMN "\xf3\xb0\xa0\xb5" // U+F0835 table-column, tags: Text / Content / Format -#define ICON_MD_TABLE_COLUMN_PLUS_AFTER "\xf3\xb0\x93\xac" // U+F04EC table-column-plus-after, aliases: table-column-add-after, tags: Text / Content / Format -#define ICON_MD_TABLE_COLUMN_PLUS_BEFORE "\xf3\xb0\x93\xad" // U+F04ED table-column-plus-before, aliases: table-column-add-before, tags: Text / Content / Format -#define ICON_MD_TABLE_COLUMN_REMOVE "\xf3\xb0\x93\xae" // U+F04EE table-column-remove, tags: Text / Content / Format -#define ICON_MD_TABLE_COLUMN_WIDTH "\xf3\xb0\x93\xaf" // U+F04EF table-column-width, tags: Text / Content / Format -#define ICON_MD_TABLE_EDIT "\xf3\xb0\x93\xb0" // U+F04F0 table-edit, tags: Edit / Modify, Text / Content / Format -#define ICON_MD_TABLE_EYE "\xf3\xb1\x82\x94" // U+F1094 table-eye -#define ICON_MD_TABLE_EYE_OFF "\xf3\xb1\x8f\x83" // U+F13C3 table-eye-off -#define ICON_MD_TABLE_FILTER "\xf3\xb1\xae\x8c" // U+F1B8C table-filter -#define ICON_MD_TABLE_FURNITURE "\xf3\xb0\x96\xbc" // U+F05BC table-furniture, aliases: kitchen, dining-room, tags: Home Automation -#define ICON_MD_TABLE_HEADERS_EYE "\xf3\xb1\x88\x9d" // U+F121D table-headers-eye -#define ICON_MD_TABLE_HEADERS_EYE_OFF "\xf3\xb1\x88\x9e" // U+F121E table-headers-eye-off -#define ICON_MD_TABLE_HEART "\xf3\xb1\x8f\x84" // U+F13C4 table-heart, aliases: table-favorite -#define ICON_MD_TABLE_KEY "\xf3\xb1\x8f\x85" // U+F13C5 table-key -#define ICON_MD_TABLE_LARGE "\xf3\xb0\x93\xb1" // U+F04F1 table-large, tags: Text / Content / Format, Geographic Information System -#define ICON_MD_TABLE_LARGE_PLUS "\xf3\xb0\xbe\x87" // U+F0F87 table-large-plus, aliases: table-large-add, tags: Text / Content / Format, Geographic Information System -#define ICON_MD_TABLE_LARGE_REMOVE "\xf3\xb0\xbe\x88" // U+F0F88 table-large-remove, tags: Text / Content / Format, Geographic Information System -#define ICON_MD_TABLE_LOCK "\xf3\xb1\x8f\x86" // U+F13C6 table-lock, tags: Lock -#define ICON_MD_TABLE_MERGE_CELLS "\xf3\xb0\xa6\xa6" // U+F09A6 table-merge-cells, tags: Text / Content / Format -#define ICON_MD_TABLE_MINUS "\xf3\xb1\x8f\x87" // U+F13C7 table-minus -#define ICON_MD_TABLE_MULTIPLE "\xf3\xb1\x8f\x88" // U+F13C8 table-multiple -#define ICON_MD_TABLE_NETWORK "\xf3\xb1\x8f\x89" // U+F13C9 table-network -#define ICON_MD_TABLE_OF_CONTENTS "\xf3\xb0\xa0\xb6" // U+F0836 table-of-contents, aliases: toc -#define ICON_MD_TABLE_OFF "\xf3\xb1\x8f\x8a" // U+F13CA table-off -#define ICON_MD_TABLE_PICNIC "\xf3\xb1\x9d\x83" // U+F1743 table-picnic -#define ICON_MD_TABLE_PIVOT "\xf3\xb1\xa0\xbc" // U+F183C table-pivot, tags: Text / Content / Format -#define ICON_MD_TABLE_PLUS "\xf3\xb0\xa9\xb5" // U+F0A75 table-plus, aliases: table-add, tags: Text / Content / Format -#define ICON_MD_TABLE_QUESTION "\xf3\xb1\xac\xa1" // U+F1B21 table-question, aliases: table-help -#define ICON_MD_TABLE_REFRESH "\xf3\xb1\x8e\xa0" // U+F13A0 table-refresh -#define ICON_MD_TABLE_REMOVE "\xf3\xb0\xa9\xb6" // U+F0A76 table-remove, tags: Text / Content / Format -#define ICON_MD_TABLE_ROW "\xf3\xb0\xa0\xb7" // U+F0837 table-row, tags: Text / Content / Format -#define ICON_MD_TABLE_ROW_HEIGHT "\xf3\xb0\x93\xb2" // U+F04F2 table-row-height, tags: Text / Content / Format -#define ICON_MD_TABLE_ROW_PLUS_AFTER "\xf3\xb0\x93\xb3" // U+F04F3 table-row-plus-after, aliases: table-row-add-after, tags: Text / Content / Format -#define ICON_MD_TABLE_ROW_PLUS_BEFORE "\xf3\xb0\x93\xb4" // U+F04F4 table-row-plus-before, aliases: table-row-add-before, tags: Text / Content / Format -#define ICON_MD_TABLE_ROW_REMOVE "\xf3\xb0\x93\xb5" // U+F04F5 table-row-remove, tags: Text / Content / Format -#define ICON_MD_TABLE_SEARCH "\xf3\xb0\xa4\x8f" // U+F090F table-search -#define ICON_MD_TABLE_SETTINGS "\xf3\xb0\xa0\xb8" // U+F0838 table-settings, tags: Settings -#define ICON_MD_TABLE_SPLIT_CELL "\xf3\xb1\x90\xaa" // U+F142A table-split-cell, tags: Text / Content / Format -#define ICON_MD_TABLE_STAR "\xf3\xb1\x8f\x8b" // U+F13CB table-star, aliases: table-favorite -#define ICON_MD_TABLE_SYNC "\xf3\xb1\x8e\xa1" // U+F13A1 table-sync -#define ICON_MD_TABLE_TENNIS "\xf3\xb0\xb9\xa8" // U+F0E68 table-tennis, aliases: ping-pong, whiff-whaff, tags: Sport -#define ICON_MD_TABLET "\xf3\xb0\x93\xb6" // U+F04F6 tablet, tags: Device / Tech -#define ICON_MD_TABLET_CELLPHONE "\xf3\xb0\xa6\xa7" // U+F09A7 tablet-cellphone, aliases: mobile-devices, tablet-mobile-phone, tablet-smartphone, tags: Cellphone / Phone, Device / Tech -#define ICON_MD_TABLET_DASHBOARD "\xf3\xb0\xbb\x8e" // U+F0ECE tablet-dashboard, tags: Device / Tech -#define ICON_MD_TACO "\xf3\xb0\x9d\xa2" // U+F0762 taco, tags: Food / Drink -#define ICON_MD_TAG "\xf3\xb0\x93\xb9" // U+F04F9 tag, aliases: local-offer -#define ICON_MD_TAG_ARROW_DOWN "\xf3\xb1\x9c\xab" // U+F172B tag-arrow-down -#define ICON_MD_TAG_ARROW_DOWN_OUTLINE "\xf3\xb1\x9c\xac" // U+F172C tag-arrow-down-outline -#define ICON_MD_TAG_ARROW_LEFT "\xf3\xb1\x9c\xad" // U+F172D tag-arrow-left -#define ICON_MD_TAG_ARROW_LEFT_OUTLINE "\xf3\xb1\x9c\xae" // U+F172E tag-arrow-left-outline -#define ICON_MD_TAG_ARROW_RIGHT "\xf3\xb1\x9c\xaf" // U+F172F tag-arrow-right -#define ICON_MD_TAG_ARROW_RIGHT_OUTLINE "\xf3\xb1\x9c\xb0" // U+F1730 tag-arrow-right-outline -#define ICON_MD_TAG_ARROW_UP "\xf3\xb1\x9c\xb1" // U+F1731 tag-arrow-up -#define ICON_MD_TAG_ARROW_UP_OUTLINE "\xf3\xb1\x9c\xb2" // U+F1732 tag-arrow-up-outline -#define ICON_MD_TAG_CHECK "\xf3\xb1\xa9\xba" // U+F1A7A tag-check, aliases: tag-approve -#define ICON_MD_TAG_CHECK_OUTLINE "\xf3\xb1\xa9\xbb" // U+F1A7B tag-check-outline, aliases: tag-approve-outline -#define ICON_MD_TAG_FACES "\xf3\xb0\x93\xba" // U+F04FA tag-faces, aliases: tag-emoji, tag-emoticon -#define ICON_MD_TAG_HEART "\xf3\xb0\x9a\x8b" // U+F068B tag-heart, aliases: loyalty -#define ICON_MD_TAG_HEART_OUTLINE "\xf3\xb0\xaf\x8f" // U+F0BCF tag-heart-outline -#define ICON_MD_TAG_MINUS "\xf3\xb0\xa4\x90" // U+F0910 tag-minus -#define ICON_MD_TAG_MINUS_OUTLINE "\xf3\xb1\x88\x9f" // U+F121F tag-minus-outline -#define ICON_MD_TAG_MULTIPLE "\xf3\xb0\x93\xbb" // U+F04FB tag-multiple, aliases: tags -#define ICON_MD_TAG_MULTIPLE_OUTLINE "\xf3\xb1\x8b\xb7" // U+F12F7 tag-multiple-outline -#define ICON_MD_TAG_OFF "\xf3\xb1\x88\xa0" // U+F1220 tag-off -#define ICON_MD_TAG_OFF_OUTLINE "\xf3\xb1\x88\xa1" // U+F1221 tag-off-outline -#define ICON_MD_TAG_OUTLINE "\xf3\xb0\x93\xbc" // U+F04FC tag-outline -#define ICON_MD_TAG_PLUS "\xf3\xb0\x9c\xa2" // U+F0722 tag-plus, aliases: tag-add -#define ICON_MD_TAG_PLUS_OUTLINE "\xf3\xb1\x88\xa2" // U+F1222 tag-plus-outline -#define ICON_MD_TAG_REMOVE "\xf3\xb0\x9c\xa3" // U+F0723 tag-remove -#define ICON_MD_TAG_REMOVE_OUTLINE "\xf3\xb1\x88\xa3" // U+F1223 tag-remove-outline -#define ICON_MD_TAG_SEARCH "\xf3\xb1\xa4\x87" // U+F1907 tag-search, aliases: tag-find -#define ICON_MD_TAG_SEARCH_OUTLINE "\xf3\xb1\xa4\x88" // U+F1908 tag-search-outline, aliases: tag-find-outline -#define ICON_MD_TAG_TEXT "\xf3\xb1\x88\xa4" // U+F1224 tag-text -#define ICON_MD_TAG_TEXT_OUTLINE "\xf3\xb0\x93\xbd" // U+F04FD tag-text-outline -#define ICON_MD_TAILWIND "\xf3\xb1\x8f\xbf" // U+F13FF tailwind, tags: Brand / Logo -#define ICON_MD_TALLY_MARK_1 "\xf3\xb1\xaa\xbc" // U+F1ABC tally-mark-1, aliases: counting-1, one, tags: Math -#define ICON_MD_TALLY_MARK_2 "\xf3\xb1\xaa\xbd" // U+F1ABD tally-mark-2, aliases: counting-2, two, tags: Math -#define ICON_MD_TALLY_MARK_3 "\xf3\xb1\xaa\xbe" // U+F1ABE tally-mark-3, aliases: counting-3, three, tags: Math -#define ICON_MD_TALLY_MARK_4 "\xf3\xb1\xaa\xbf" // U+F1ABF tally-mark-4, aliases: counting-4, four, tags: Math -#define ICON_MD_TALLY_MARK_5 "\xf3\xb1\xab\x80" // U+F1AC0 tally-mark-5, aliases: counting-5, five, tags: Math -#define ICON_MD_TANGRAM "\xf3\xb0\x93\xb8" // U+F04F8 tangram, aliases: puzzle, tags: Gaming / RPG -#define ICON_MD_TANK "\xf3\xb0\xb4\xba" // U+F0D3A tank -#define ICON_MD_TANKER_TRUCK "\xf3\xb0\xbf\xa5" // U+F0FE5 tanker-truck, aliases: fuel-truck, oil-truck, water-truck, tanker, tags: Transportation + Road -#define ICON_MD_TAPE_DRIVE "\xf3\xb1\x9b\x9f" // U+F16DF tape-drive -#define ICON_MD_TAPE_MEASURE "\xf3\xb0\xad\x8d" // U+F0B4D tape-measure, aliases: measuring-tape, tags: Hardware / Tools -#define ICON_MD_TARGET "\xf3\xb0\x93\xbe" // U+F04FE target, aliases: registration-mark -#define ICON_MD_TARGET_ACCOUNT "\xf3\xb0\xaf\x90" // U+F0BD0 target-account, aliases: crosshairs-account, target-user, tags: Account / User -#define ICON_MD_TARGET_VARIANT "\xf3\xb0\xa9\xb7" // U+F0A77 target-variant, aliases: registration-mark -#define ICON_MD_TAXI "\xf3\xb0\x93\xbf" // U+F04FF taxi, aliases: local-taxi, cab, tags: Transportation + Road, Navigation -#define ICON_MD_TEA "\xf3\xb0\xb6\x9e" // U+F0D9E tea, tags: Food / Drink -#define ICON_MD_TEA_OUTLINE "\xf3\xb0\xb6\x9f" // U+F0D9F tea-outline, tags: Food / Drink -#define ICON_MD_TEAMVIEWER "\xf3\xb0\x94\x80" // U+F0500 teamviewer, tags: Brand / Logo -#define ICON_MD_TEDDY_BEAR "\xf3\xb1\xa3\xbb" // U+F18FB teddy-bear, aliases: child-toy, children-toy, kids-room, childrens-room, play-room, tags: Holiday, Home Automation -#define ICON_MD_TELESCOPE "\xf3\xb0\xad\x8e" // U+F0B4E telescope, tags: Science -#define ICON_MD_TELEVISION "\xf3\xb0\x94\x82" // U+F0502 television, aliases: tv, tags: Device / Tech, Home Automation -#define ICON_MD_TELEVISION_AMBIENT_LIGHT "\xf3\xb1\x8d\x96" // U+F1356 television-ambient-light, tags: Home Automation -#define ICON_MD_TELEVISION_BOX "\xf3\xb0\xa0\xb9" // U+F0839 television-box, aliases: tv-box, tv-guide -#define ICON_MD_TELEVISION_CLASSIC "\xf3\xb0\x9f\xb4" // U+F07F4 television-classic, aliases: tv-classic, tags: Device / Tech, Home Automation -#define ICON_MD_TELEVISION_CLASSIC_OFF "\xf3\xb0\xa0\xba" // U+F083A television-classic-off, aliases: tv-classic-off, tags: Device / Tech, Home Automation -#define ICON_MD_TELEVISION_GUIDE "\xf3\xb0\x94\x83" // U+F0503 television-guide, tags: Device / Tech, Home Automation -#define ICON_MD_TELEVISION_OFF "\xf3\xb0\xa0\xbb" // U+F083B television-off, aliases: tv-off, tags: Device / Tech, Home Automation -#define ICON_MD_TELEVISION_PAUSE "\xf3\xb0\xbe\x89" // U+F0F89 television-pause, tags: Device / Tech -#define ICON_MD_TELEVISION_PLAY "\xf3\xb0\xbb\x8f" // U+F0ECF television-play, tags: Device / Tech -#define ICON_MD_TELEVISION_SHIMMER "\xf3\xb1\x84\x90" // U+F1110 television-shimmer, aliases: television-clean, tags: Device / Tech -#define ICON_MD_TELEVISION_SPEAKER "\xf3\xb1\xac\x9b" // U+F1B1B television-speaker, tags: Audio, Video / Movie -#define ICON_MD_TELEVISION_SPEAKER_OFF "\xf3\xb1\xac\x9c" // U+F1B1C television-speaker-off, tags: Audio, Video / Movie -#define ICON_MD_TELEVISION_STOP "\xf3\xb0\xbe\x8a" // U+F0F8A television-stop, tags: Device / Tech -#define ICON_MD_TEMPERATURE_CELSIUS "\xf3\xb0\x94\x84" // U+F0504 temperature-celsius, aliases: temperature-centigrade, tags: Weather -#define ICON_MD_TEMPERATURE_FAHRENHEIT "\xf3\xb0\x94\x85" // U+F0505 temperature-fahrenheit, tags: Weather -#define ICON_MD_TEMPERATURE_KELVIN "\xf3\xb0\x94\x86" // U+F0506 temperature-kelvin, tags: Weather -#define ICON_MD_TEMPLE_BUDDHIST "\xf3\xb1\xac\x86" // U+F1B06 temple-buddhist, tags: Places, Religion -#define ICON_MD_TEMPLE_BUDDHIST_OUTLINE "\xf3\xb1\xac\x87" // U+F1B07 temple-buddhist-outline, tags: Places, Religion -#define ICON_MD_TEMPLE_HINDU "\xf3\xb1\xac\x88" // U+F1B08 temple-hindu, tags: Places, Religion -#define ICON_MD_TEMPLE_HINDU_OUTLINE "\xf3\xb1\xac\x89" // U+F1B09 temple-hindu-outline, tags: Places, Religion -#define ICON_MD_TENNIS "\xf3\xb0\xb6\xa0" // U+F0DA0 tennis, aliases: tennis-racquet, tennis-racket, tags: Sport -#define ICON_MD_TENNIS_BALL "\xf3\xb0\x94\x87" // U+F0507 tennis-ball, tags: Sport -#define ICON_MD_TENT "\xf3\xb0\x94\x88" // U+F0508 tent, aliases: camping -#define ICON_MD_TERRAFORM "\xf3\xb1\x81\xa2" // U+F1062 terraform, tags: Brand / Logo -#define ICON_MD_TERRAIN "\xf3\xb0\x94\x89" // U+F0509 terrain, tags: Nature -#define ICON_MD_TEST_TUBE "\xf3\xb0\x99\xa8" // U+F0668 test-tube, tags: Science -#define ICON_MD_TEST_TUBE_EMPTY "\xf3\xb0\xa4\x91" // U+F0911 test-tube-empty, tags: Science -#define ICON_MD_TEST_TUBE_OFF "\xf3\xb0\xa4\x92" // U+F0912 test-tube-off, tags: Science -#define ICON_MD_TEXT "\xf3\xb0\xa6\xa8" // U+F09A8 text, aliases: notes, tags: Text / Content / Format -#define ICON_MD_TEXT_ACCOUNT "\xf3\xb1\x95\xb0" // U+F1570 text-account, aliases: biography, text-user, tags: Account / User -#define ICON_MD_TEXT_BOX "\xf3\xb0\x88\x9a" // U+F021A text-box, aliases: drive-document, file-document-box, tags: Files / Folders -#define ICON_MD_TEXT_BOX_CHECK "\xf3\xb0\xba\xa6" // U+F0EA6 text-box-check, aliases: file-document-box-tick, file-document-box-check, tags: Files / Folders -#define ICON_MD_TEXT_BOX_CHECK_OUTLINE "\xf3\xb0\xba\xa7" // U+F0EA7 text-box-check-outline, aliases: file-document-box-tick-outline, file-document-box-check-outline, tags: Files / Folders -#define ICON_MD_TEXT_BOX_EDIT "\xf3\xb1\xa9\xbc" // U+F1A7C text-box-edit, tags: Files / Folders, Edit / Modify -#define ICON_MD_TEXT_BOX_EDIT_OUTLINE "\xf3\xb1\xa9\xbd" // U+F1A7D text-box-edit-outline, tags: Files / Folders, Edit / Modify -#define ICON_MD_TEXT_BOX_MINUS "\xf3\xb0\xba\xa8" // U+F0EA8 text-box-minus, aliases: file-document-box-minus, tags: Files / Folders -#define ICON_MD_TEXT_BOX_MINUS_OUTLINE "\xf3\xb0\xba\xa9" // U+F0EA9 text-box-minus-outline, aliases: file-document-box-minus-outline, tags: Files / Folders -#define ICON_MD_TEXT_BOX_MULTIPLE "\xf3\xb0\xaa\xb7" // U+F0AB7 text-box-multiple, aliases: file-document-boxes, file-document-box-multiple, tags: Files / Folders -#define ICON_MD_TEXT_BOX_MULTIPLE_OUTLINE "\xf3\xb0\xaa\xb8" // U+F0AB8 text-box-multiple-outline, aliases: file-document-boxes-outline, file-document-box-multiple-outline, tags: Files / Folders -#define ICON_MD_TEXT_BOX_OUTLINE "\xf3\xb0\xa7\xad" // U+F09ED text-box-outline, aliases: file-document-box-outline, tags: Files / Folders -#define ICON_MD_TEXT_BOX_PLUS "\xf3\xb0\xba\xaa" // U+F0EAA text-box-plus, aliases: file-document-box-plus, tags: Files / Folders -#define ICON_MD_TEXT_BOX_PLUS_OUTLINE "\xf3\xb0\xba\xab" // U+F0EAB text-box-plus-outline, aliases: file-document-box-plus-outline, tags: Files / Folders -#define ICON_MD_TEXT_BOX_REMOVE "\xf3\xb0\xba\xac" // U+F0EAC text-box-remove, aliases: file-document-box-remove, tags: Files / Folders -#define ICON_MD_TEXT_BOX_REMOVE_OUTLINE "\xf3\xb0\xba\xad" // U+F0EAD text-box-remove-outline, aliases: file-document-box-remove-outline, tags: Files / Folders -#define ICON_MD_TEXT_BOX_SEARCH "\xf3\xb0\xba\xae" // U+F0EAE text-box-search, aliases: file-document-box-search, tags: Files / Folders -#define ICON_MD_TEXT_BOX_SEARCH_OUTLINE "\xf3\xb0\xba\xaf" // U+F0EAF text-box-search-outline, aliases: file-document-box-search-outline, tags: Files / Folders -#define ICON_MD_TEXT_LONG "\xf3\xb0\xa6\xaa" // U+F09AA text-long, aliases: text-subject -#define ICON_MD_TEXT_RECOGNITION "\xf3\xb1\x84\xbd" // U+F113D text-recognition -#define ICON_MD_TEXT_SEARCH "\xf3\xb1\x8e\xb8" // U+F13B8 text-search, aliases: notes-search -#define ICON_MD_TEXT_SEARCH_VARIANT "\xf3\xb1\xa9\xbe" // U+F1A7E text-search-variant, aliases: notes-search-variant -#define ICON_MD_TEXT_SHADOW "\xf3\xb0\x99\xa9" // U+F0669 text-shadow -#define ICON_MD_TEXT_SHORT "\xf3\xb0\xa6\xa9" // U+F09A9 text-short -#define ICON_MD_TEXTURE "\xf3\xb0\x94\x8c" // U+F050C texture -#define ICON_MD_TEXTURE_BOX "\xf3\xb0\xbf\xa6" // U+F0FE6 texture-box, aliases: surface-area, tags: Math -#define ICON_MD_THEATER "\xf3\xb0\x94\x8d" // U+F050D theater, aliases: cinema, theatre, tags: Places, Home Automation -#define ICON_MD_THEME_LIGHT_DARK "\xf3\xb0\x94\x8e" // U+F050E theme-light-dark, aliases: sun-moon-stars, tags: Weather -#define ICON_MD_THERMOMETER "\xf3\xb0\x94\x8f" // U+F050F thermometer, aliases: temperature, tags: Weather, Home Automation, Automotive -#define ICON_MD_THERMOMETER_ALERT "\xf3\xb0\xb8\x81" // U+F0E01 thermometer-alert, aliases: thermometer-warning, temperature-alert, temperature-warning, tags: Home Automation, Weather, Alert / Error -#define ICON_MD_THERMOMETER_AUTO "\xf3\xb1\xac\x8f" // U+F1B0F thermometer-auto, aliases: temperature-auto, tags: Home Automation -#define ICON_MD_THERMOMETER_BLUETOOTH "\xf3\xb1\xa2\x95" // U+F1895 thermometer-bluetooth, aliases: temperature-bluetooth, tags: Weather, Home Automation, Automotive -#define ICON_MD_THERMOMETER_CHECK "\xf3\xb1\xa9\xbf" // U+F1A7F thermometer-check, aliases: thermometer-approve, temperature-check, temperature-approve, tags: Weather, Home Automation -#define ICON_MD_THERMOMETER_CHEVRON_DOWN "\xf3\xb0\xb8\x82" // U+F0E02 thermometer-chevron-down, aliases: temperature-chevron-down, temperature-decrease, thermometer-decrease, tags: Home Automation, Weather -#define ICON_MD_THERMOMETER_CHEVRON_UP "\xf3\xb0\xb8\x83" // U+F0E03 thermometer-chevron-up, aliases: temperature-chevron-up, temperature-increase, thermometer-increase, tags: Home Automation, Weather -#define ICON_MD_THERMOMETER_HIGH "\xf3\xb1\x83\x82" // U+F10C2 thermometer-high, aliases: temperature-high, tags: Home Automation, Weather -#define ICON_MD_THERMOMETER_LINES "\xf3\xb0\x94\x90" // U+F0510 thermometer-lines, aliases: temperature-lines, tags: Weather, Home Automation -#define ICON_MD_THERMOMETER_LOW "\xf3\xb1\x83\x83" // U+F10C3 thermometer-low, aliases: temperature-low, tags: Home Automation, Weather -#define ICON_MD_THERMOMETER_MINUS "\xf3\xb0\xb8\x84" // U+F0E04 thermometer-minus, aliases: temperature-minus, thermometer-decrease, temperature-decrease, tags: Home Automation, Weather -#define ICON_MD_THERMOMETER_OFF "\xf3\xb1\x94\xb1" // U+F1531 thermometer-off, aliases: temperature-off, tags: Weather, Home Automation -#define ICON_MD_THERMOMETER_PLUS "\xf3\xb0\xb8\x85" // U+F0E05 thermometer-plus, aliases: thermometer-add, thermometer-increase, temperature-plus, temperature-add, temperature-increase, tags: Home Automation, Weather -#define ICON_MD_THERMOMETER_PROBE "\xf3\xb1\xac\xab" // U+F1B2B thermometer-probe -#define ICON_MD_THERMOMETER_PROBE_OFF "\xf3\xb1\xac\xac" // U+F1B2C thermometer-probe-off -#define ICON_MD_THERMOMETER_WATER "\xf3\xb1\xaa\x80" // U+F1A80 thermometer-water, aliases: dew-point, water-temperature, boiling-point, tags: Weather, Home Automation -#define ICON_MD_THERMOSTAT "\xf3\xb0\x8e\x93" // U+F0393 thermostat, aliases: nest, tags: Device / Tech, Home Automation -#define ICON_MD_THERMOSTAT_AUTO "\xf3\xb1\xac\x97" // U+F1B17 thermostat-auto, tags: Home Automation -#define ICON_MD_THERMOSTAT_BOX "\xf3\xb0\xa2\x91" // U+F0891 thermostat-box, tags: Home Automation, Device / Tech -#define ICON_MD_THERMOSTAT_BOX_AUTO "\xf3\xb1\xac\x98" // U+F1B18 thermostat-box-auto, tags: Home Automation -#define ICON_MD_THOUGHT_BUBBLE "\xf3\xb0\x9f\xb6" // U+F07F6 thought-bubble, aliases: comic-bubble, thinking -#define ICON_MD_THOUGHT_BUBBLE_OUTLINE "\xf3\xb0\x9f\xb7" // U+F07F7 thought-bubble-outline, aliases: comic-thought-bubble-outline, thinking-outline, think-outline -#define ICON_MD_THUMB_DOWN "\xf3\xb0\x94\x91" // U+F0511 thumb-down, aliases: dislike, thumbs-down -#define ICON_MD_THUMB_DOWN_OUTLINE "\xf3\xb0\x94\x92" // U+F0512 thumb-down-outline, aliases: dislike-outline, thumbs-down-outline -#define ICON_MD_THUMB_UP "\xf3\xb0\x94\x93" // U+F0513 thumb-up, aliases: like, thumbs-up -#define ICON_MD_THUMB_UP_OUTLINE "\xf3\xb0\x94\x94" // U+F0514 thumb-up-outline, aliases: like-outline, thumbs-up-outline -#define ICON_MD_THUMBS_UP_DOWN "\xf3\xb0\x94\x95" // U+F0515 thumbs-up-down, aliases: like-dislike -#define ICON_MD_THUMBS_UP_DOWN_OUTLINE "\xf3\xb1\xa4\x94" // U+F1914 thumbs-up-down-outline, aliases: like-dislike-outline -#define ICON_MD_TICKET "\xf3\xb0\x94\x96" // U+F0516 ticket, aliases: local-activity, local-play, local-attraction -#define ICON_MD_TICKET_ACCOUNT "\xf3\xb0\x94\x97" // U+F0517 ticket-account, aliases: ticket-user, tags: Account / User -#define ICON_MD_TICKET_CONFIRMATION "\xf3\xb0\x94\x98" // U+F0518 ticket-confirmation, aliases: confirmation-number -#define ICON_MD_TICKET_CONFIRMATION_OUTLINE "\xf3\xb1\x8e\xaa" // U+F13AA ticket-confirmation-outline, aliases: confirmation-number-outline -#define ICON_MD_TICKET_OUTLINE "\xf3\xb0\xa4\x93" // U+F0913 ticket-outline -#define ICON_MD_TICKET_PERCENT "\xf3\xb0\x9c\xa4" // U+F0724 ticket-percent, aliases: coupon, voucher -#define ICON_MD_TICKET_PERCENT_OUTLINE "\xf3\xb1\x90\xab" // U+F142B ticket-percent-outline, aliases: coupon-outline, voucher-outline -#define ICON_MD_TIE "\xf3\xb0\x94\x99" // U+F0519 tie, tags: Clothing -#define ICON_MD_TILDE "\xf3\xb0\x9c\xa5" // U+F0725 tilde -#define ICON_MD_TILDE_OFF "\xf3\xb1\xa3\xb3" // U+F18F3 tilde-off -#define ICON_MD_TIMELAPSE "\xf3\xb0\x94\x9a" // U+F051A timelapse, tags: Date / Time -#define ICON_MD_TIMELINE "\xf3\xb0\xaf\x91" // U+F0BD1 timeline -#define ICON_MD_TIMELINE_ALERT "\xf3\xb0\xbe\x95" // U+F0F95 timeline-alert, tags: Alert / Error -#define ICON_MD_TIMELINE_ALERT_OUTLINE "\xf3\xb0\xbe\x98" // U+F0F98 timeline-alert-outline, tags: Alert / Error -#define ICON_MD_TIMELINE_CHECK "\xf3\xb1\x94\xb2" // U+F1532 timeline-check -#define ICON_MD_TIMELINE_CHECK_OUTLINE "\xf3\xb1\x94\xb3" // U+F1533 timeline-check-outline -#define ICON_MD_TIMELINE_CLOCK "\xf3\xb1\x87\xbb" // U+F11FB timeline-clock, tags: Date / Time -#define ICON_MD_TIMELINE_CLOCK_OUTLINE "\xf3\xb1\x87\xbc" // U+F11FC timeline-clock-outline, tags: Date / Time -#define ICON_MD_TIMELINE_MINUS "\xf3\xb1\x94\xb4" // U+F1534 timeline-minus -#define ICON_MD_TIMELINE_MINUS_OUTLINE "\xf3\xb1\x94\xb5" // U+F1535 timeline-minus-outline -#define ICON_MD_TIMELINE_OUTLINE "\xf3\xb0\xaf\x92" // U+F0BD2 timeline-outline -#define ICON_MD_TIMELINE_PLUS "\xf3\xb0\xbe\x96" // U+F0F96 timeline-plus -#define ICON_MD_TIMELINE_PLUS_OUTLINE "\xf3\xb0\xbe\x97" // U+F0F97 timeline-plus-outline -#define ICON_MD_TIMELINE_QUESTION "\xf3\xb0\xbe\x99" // U+F0F99 timeline-question, aliases: timeline-help -#define ICON_MD_TIMELINE_QUESTION_OUTLINE "\xf3\xb0\xbe\x9a" // U+F0F9A timeline-question-outline, aliases: timeline-help-outline -#define ICON_MD_TIMELINE_REMOVE "\xf3\xb1\x94\xb6" // U+F1536 timeline-remove -#define ICON_MD_TIMELINE_REMOVE_OUTLINE "\xf3\xb1\x94\xb7" // U+F1537 timeline-remove-outline -#define ICON_MD_TIMELINE_TEXT "\xf3\xb0\xaf\x93" // U+F0BD3 timeline-text -#define ICON_MD_TIMELINE_TEXT_OUTLINE "\xf3\xb0\xaf\x94" // U+F0BD4 timeline-text-outline -#define ICON_MD_TIMER "\xf3\xb1\x8e\xab" // U+F13AB timer, aliases: stopwatch, tags: Sport, Date / Time -#define ICON_MD_TIMER_10 "\xf3\xb0\x94\x9c" // U+F051C timer-10, aliases: timer-ten, tags: Date / Time -#define ICON_MD_TIMER_3 "\xf3\xb0\x94\x9d" // U+F051D timer-3, aliases: timer-three, tags: Date / Time -#define ICON_MD_TIMER_ALERT "\xf3\xb1\xab\x8c" // U+F1ACC timer-alert, aliases: stopwatch-alert, tags: Date / Time, Alert / Error -#define ICON_MD_TIMER_ALERT_OUTLINE "\xf3\xb1\xab\x8d" // U+F1ACD timer-alert-outline, aliases: stopwatch-alert-outline, tags: Date / Time, Alert / Error -#define ICON_MD_TIMER_CANCEL "\xf3\xb1\xab\x8e" // U+F1ACE timer-cancel, aliases: stopwatch-cancel, tags: Date / Time -#define ICON_MD_TIMER_CANCEL_OUTLINE "\xf3\xb1\xab\x8f" // U+F1ACF timer-cancel-outline, aliases: stopwatch-cancel-outline, tags: Date / Time -#define ICON_MD_TIMER_CHECK "\xf3\xb1\xab\x90" // U+F1AD0 timer-check, aliases: stopwatch-check, timer-tick, stopwatch-tick, tags: Date / Time -#define ICON_MD_TIMER_CHECK_OUTLINE "\xf3\xb1\xab\x91" // U+F1AD1 timer-check-outline, aliases: timer-tick-outline, stopwatch-check-outline, stopwatch-tick-outline, tags: Date / Time -#define ICON_MD_TIMER_COG "\xf3\xb1\xa4\xa5" // U+F1925 timer-cog, aliases: timer-settings, tags: Date / Time, Settings -#define ICON_MD_TIMER_COG_OUTLINE "\xf3\xb1\xa4\xa6" // U+F1926 timer-cog-outline, aliases: timer-settings-outline, tags: Date / Time, Settings -#define ICON_MD_TIMER_EDIT "\xf3\xb1\xab\x92" // U+F1AD2 timer-edit, aliases: stopwatch-edit, tags: Date / Time, Edit / Modify -#define ICON_MD_TIMER_EDIT_OUTLINE "\xf3\xb1\xab\x93" // U+F1AD3 timer-edit-outline, aliases: stopwatch-edit-outline, tags: Date / Time, Edit / Modify -#define ICON_MD_TIMER_LOCK "\xf3\xb1\xab\x94" // U+F1AD4 timer-lock, aliases: stopwatch-lock, timer-secure, stopwatch-secure, tags: Date / Time, Lock -#define ICON_MD_TIMER_LOCK_OPEN "\xf3\xb1\xab\x95" // U+F1AD5 timer-lock-open, aliases: stopwatch-lock-open, tags: Date / Time, Lock -#define ICON_MD_TIMER_LOCK_OPEN_OUTLINE "\xf3\xb1\xab\x96" // U+F1AD6 timer-lock-open-outline, aliases: stopwatch-lock-open-outline, tags: Date / Time, Lock -#define ICON_MD_TIMER_LOCK_OUTLINE "\xf3\xb1\xab\x97" // U+F1AD7 timer-lock-outline, aliases: stopwatch-lock-outline, stopwatch-secure-outline, timer-secure-outline, tags: Date / Time, Lock -#define ICON_MD_TIMER_MARKER "\xf3\xb1\xab\x98" // U+F1AD8 timer-marker, aliases: stopwatch-marker, timer-location, stopwatch-location, tags: Date / Time, Navigation -#define ICON_MD_TIMER_MARKER_OUTLINE "\xf3\xb1\xab\x99" // U+F1AD9 timer-marker-outline, aliases: stopwatch-marker-outline, timer-location-outline, stopwatch-location-outline, tags: Date / Time, Navigation -#define ICON_MD_TIMER_MINUS "\xf3\xb1\xab\x9a" // U+F1ADA timer-minus, aliases: timer-subtract, stopwatch-minus, stopwatch-subtract, tags: Date / Time -#define ICON_MD_TIMER_MINUS_OUTLINE "\xf3\xb1\xab\x9b" // U+F1ADB timer-minus-outline, aliases: timer-subtract-outline, stopwatch-minus-outline, stopwatch-subtract-outline, tags: Date / Time -#define ICON_MD_TIMER_MUSIC "\xf3\xb1\xab\x9c" // U+F1ADC timer-music, aliases: stopwatch-music, tags: Date / Time, Music -#define ICON_MD_TIMER_MUSIC_OUTLINE "\xf3\xb1\xab\x9d" // U+F1ADD timer-music-outline, aliases: stopwatch-music-outline, tags: Date / Time, Music -#define ICON_MD_TIMER_OFF "\xf3\xb1\x8e\xac" // U+F13AC timer-off, aliases: stopwatch-off, tags: Date / Time -#define ICON_MD_TIMER_OFF_OUTLINE "\xf3\xb0\x94\x9e" // U+F051E timer-off-outline, aliases: stopwatch-off-outline, tags: Date / Time -#define ICON_MD_TIMER_OUTLINE "\xf3\xb0\x94\x9b" // U+F051B timer-outline, aliases: stopwatch-outline, tags: Date / Time, Sport -#define ICON_MD_TIMER_PAUSE "\xf3\xb1\xab\x9e" // U+F1ADE timer-pause, aliases: stopwatch-pause, tags: Date / Time -#define ICON_MD_TIMER_PAUSE_OUTLINE "\xf3\xb1\xab\x9f" // U+F1ADF timer-pause-outline, aliases: stopwatch-pause-outline, tags: Date / Time -#define ICON_MD_TIMER_PLAY "\xf3\xb1\xab\xa0" // U+F1AE0 timer-play, aliases: timer-start, stopwatch-play, stopwatch-start, tags: Date / Time -#define ICON_MD_TIMER_PLAY_OUTLINE "\xf3\xb1\xab\xa1" // U+F1AE1 timer-play-outline, aliases: timer-start-outline, stopwatch-play-outline, stopwatch-start-outline, tags: Date / Time -#define ICON_MD_TIMER_PLUS "\xf3\xb1\xab\xa2" // U+F1AE2 timer-plus, aliases: timer-add, stopwatch-plus, stopwatch-add, tags: Date / Time -#define ICON_MD_TIMER_PLUS_OUTLINE "\xf3\xb1\xab\xa3" // U+F1AE3 timer-plus-outline, aliases: timer-add-outline, stopwatch-plus-outline, stopwatch-add-outline, tags: Date / Time -#define ICON_MD_TIMER_REFRESH "\xf3\xb1\xab\xa4" // U+F1AE4 timer-refresh, aliases: stopwatch-refresh, tags: Date / Time -#define ICON_MD_TIMER_REFRESH_OUTLINE "\xf3\xb1\xab\xa5" // U+F1AE5 timer-refresh-outline, aliases: stopwatch-refresh-outline, tags: Date / Time -#define ICON_MD_TIMER_REMOVE "\xf3\xb1\xab\xa6" // U+F1AE6 timer-remove, aliases: stopwatch-remove, tags: Date / Time -#define ICON_MD_TIMER_REMOVE_OUTLINE "\xf3\xb1\xab\xa7" // U+F1AE7 timer-remove-outline, aliases: stopwatch-remove-outline, tags: Date / Time -#define ICON_MD_TIMER_SAND "\xf3\xb0\x94\x9f" // U+F051F timer-sand, aliases: hourglass, tags: Date / Time -#define ICON_MD_TIMER_SAND_COMPLETE "\xf3\xb1\xa6\x9f" // U+F199F timer-sand-complete, aliases: hourglass-complete, tags: Date / Time -#define ICON_MD_TIMER_SAND_EMPTY "\xf3\xb0\x9a\xad" // U+F06AD timer-sand-empty, aliases: hourglass-empty, tags: Date / Time -#define ICON_MD_TIMER_SAND_FULL "\xf3\xb0\x9e\x8c" // U+F078C timer-sand-full, aliases: hourglass-full, tags: Date / Time -#define ICON_MD_TIMER_SAND_PAUSED "\xf3\xb1\xa6\xa0" // U+F19A0 timer-sand-paused, aliases: hourglass-paused, tags: Date / Time -#define ICON_MD_TIMER_SETTINGS "\xf3\xb1\xa4\xa3" // U+F1923 timer-settings, tags: Date / Time, Settings -#define ICON_MD_TIMER_SETTINGS_OUTLINE "\xf3\xb1\xa4\xa4" // U+F1924 timer-settings-outline, tags: Date / Time, Settings -#define ICON_MD_TIMER_STAR "\xf3\xb1\xab\xa8" // U+F1AE8 timer-star, aliases: timer-favorite, stopwatch-star, stopwatch-favorite, tags: Date / Time -#define ICON_MD_TIMER_STAR_OUTLINE "\xf3\xb1\xab\xa9" // U+F1AE9 timer-star-outline, aliases: timer-favorite-outline, stopwatch-star-outline, stopwatch-favorite-outline, tags: Date / Time -#define ICON_MD_TIMER_STOP "\xf3\xb1\xab\xaa" // U+F1AEA timer-stop, aliases: stopwatch-stop, tags: Date / Time -#define ICON_MD_TIMER_STOP_OUTLINE "\xf3\xb1\xab\xab" // U+F1AEB timer-stop-outline, aliases: stopwatch-stop-outline, tags: Date / Time -#define ICON_MD_TIMER_SYNC "\xf3\xb1\xab\xac" // U+F1AEC timer-sync, aliases: stopwatch-sync, tags: Date / Time -#define ICON_MD_TIMER_SYNC_OUTLINE "\xf3\xb1\xab\xad" // U+F1AED timer-sync-outline, aliases: stopwatch-sync-outline, tags: Date / Time -#define ICON_MD_TIMETABLE "\xf3\xb0\x94\xa0" // U+F0520 timetable, tags: Date / Time -#define ICON_MD_TIRE "\xf3\xb1\xa2\x96" // U+F1896 tire, aliases: tyre, wheel, tags: Automotive, Agriculture -#define ICON_MD_TOASTER "\xf3\xb1\x81\xa3" // U+F1063 toaster, tags: Home Automation -#define ICON_MD_TOASTER_OFF "\xf3\xb1\x86\xb7" // U+F11B7 toaster-off, tags: Home Automation -#define ICON_MD_TOASTER_OVEN "\xf3\xb0\xb3\x93" // U+F0CD3 toaster-oven, tags: Home Automation, Food / Drink -#define ICON_MD_TOGGLE_SWITCH "\xf3\xb0\x94\xa1" // U+F0521 toggle-switch -#define ICON_MD_TOGGLE_SWITCH_OFF "\xf3\xb0\x94\xa2" // U+F0522 toggle-switch-off -#define ICON_MD_TOGGLE_SWITCH_OFF_OUTLINE "\xf3\xb0\xa8\x99" // U+F0A19 toggle-switch-off-outline -#define ICON_MD_TOGGLE_SWITCH_OUTLINE "\xf3\xb0\xa8\x9a" // U+F0A1A toggle-switch-outline -#define ICON_MD_TOGGLE_SWITCH_VARIANT "\xf3\xb1\xa8\xa5" // U+F1A25 toggle-switch-variant, aliases: light-switch-on, tags: Home Automation -#define ICON_MD_TOGGLE_SWITCH_VARIANT_OFF "\xf3\xb1\xa8\xa6" // U+F1A26 toggle-switch-variant-off, aliases: light-switch-off, rocker-switch-off, tags: Home Automation -#define ICON_MD_TOILET "\xf3\xb0\xa6\xab" // U+F09AB toilet, aliases: bathroom, lavatory, bidet, tags: Home Automation -#define ICON_MD_TOOLBOX "\xf3\xb0\xa6\xac" // U+F09AC toolbox, tags: Hardware / Tools -#define ICON_MD_TOOLBOX_OUTLINE "\xf3\xb0\xa6\xad" // U+F09AD toolbox-outline, aliases: service-toolbox, tags: Hardware / Tools -#define ICON_MD_TOOLS "\xf3\xb1\x81\xa4" // U+F1064 tools, aliases: wrench, screwdriver, tags: Hardware / Tools -#define ICON_MD_TOOLTIP "\xf3\xb0\x94\xa3" // U+F0523 tooltip, tags: Tooltip -#define ICON_MD_TOOLTIP_ACCOUNT "\xf3\xb0\x80\x8c" // U+F000C tooltip-account, aliases: tooltip-user, tooltip-person, account-location, tags: Account / User, Tooltip -#define ICON_MD_TOOLTIP_CELLPHONE "\xf3\xb1\xa0\xbb" // U+F183B tooltip-cellphone, aliases: cellphone-location, cellphone-gps, find-my-phone, tags: Cellphone / Phone, Tooltip -#define ICON_MD_TOOLTIP_CHECK "\xf3\xb1\x95\x9c" // U+F155C tooltip-check, tags: Tooltip -#define ICON_MD_TOOLTIP_CHECK_OUTLINE "\xf3\xb1\x95\x9d" // U+F155D tooltip-check-outline, tags: Tooltip -#define ICON_MD_TOOLTIP_EDIT "\xf3\xb0\x94\xa4" // U+F0524 tooltip-edit, tags: Tooltip, Edit / Modify -#define ICON_MD_TOOLTIP_EDIT_OUTLINE "\xf3\xb1\x8b\x85" // U+F12C5 tooltip-edit-outline, tags: Edit / Modify, Tooltip -#define ICON_MD_TOOLTIP_IMAGE "\xf3\xb0\x94\xa5" // U+F0525 tooltip-image, tags: Tooltip -#define ICON_MD_TOOLTIP_IMAGE_OUTLINE "\xf3\xb0\xaf\x95" // U+F0BD5 tooltip-image-outline, tags: Tooltip -#define ICON_MD_TOOLTIP_MINUS "\xf3\xb1\x95\x9e" // U+F155E tooltip-minus, tags: Tooltip -#define ICON_MD_TOOLTIP_MINUS_OUTLINE "\xf3\xb1\x95\x9f" // U+F155F tooltip-minus-outline, tags: Tooltip -#define ICON_MD_TOOLTIP_OUTLINE "\xf3\xb0\x94\xa6" // U+F0526 tooltip-outline, tags: Tooltip -#define ICON_MD_TOOLTIP_PLUS "\xf3\xb0\xaf\x96" // U+F0BD6 tooltip-plus, aliases: tooltip-add, tags: Tooltip -#define ICON_MD_TOOLTIP_PLUS_OUTLINE "\xf3\xb0\x94\xa7" // U+F0527 tooltip-plus-outline, aliases: tooltip-outline-plus, tooltip-add-outline, tags: Tooltip -#define ICON_MD_TOOLTIP_REMOVE "\xf3\xb1\x95\xa0" // U+F1560 tooltip-remove, tags: Tooltip -#define ICON_MD_TOOLTIP_REMOVE_OUTLINE "\xf3\xb1\x95\xa1" // U+F1561 tooltip-remove-outline, tags: Tooltip -#define ICON_MD_TOOLTIP_TEXT "\xf3\xb0\x94\xa8" // U+F0528 tooltip-text, tags: Tooltip -#define ICON_MD_TOOLTIP_TEXT_OUTLINE "\xf3\xb0\xaf\x97" // U+F0BD7 tooltip-text-outline, tags: Tooltip -#define ICON_MD_TOOTH "\xf3\xb0\xa3\x83" // U+F08C3 tooth, aliases: dentist, tags: Medical / Hospital -#define ICON_MD_TOOTH_OUTLINE "\xf3\xb0\x94\xa9" // U+F0529 tooth-outline, tags: Medical / Hospital -#define ICON_MD_TOOTHBRUSH "\xf3\xb1\x84\xa9" // U+F1129 toothbrush, aliases: dentist, oral-hygiene, tags: Medical / Hospital -#define ICON_MD_TOOTHBRUSH_ELECTRIC "\xf3\xb1\x84\xac" // U+F112C toothbrush-electric, aliases: dentist, oral-hygiene, tags: Medical / Hospital -#define ICON_MD_TOOTHBRUSH_PASTE "\xf3\xb1\x84\xaa" // U+F112A toothbrush-paste, aliases: dentist, oral-hygiene, tags: Medical / Hospital -#define ICON_MD_TORCH "\xf3\xb1\x98\x86" // U+F1606 torch, aliases: olympics, tags: Sport -#define ICON_MD_TORTOISE "\xf3\xb0\xb4\xbb" // U+F0D3B tortoise, aliases: turtle, reptile, tags: Animal -#define ICON_MD_TOSLINK "\xf3\xb1\x8a\xb8" // U+F12B8 toslink, aliases: optical-audio, tags: Audio -#define ICON_MD_TOURNAMENT "\xf3\xb0\xa6\xae" // U+F09AE tournament, aliases: bracket, tags: Gaming / RPG, Sport -#define ICON_MD_TOW_TRUCK "\xf3\xb0\xa0\xbc" // U+F083C tow-truck, aliases: auto-towing, truck, tags: Transportation + Road -#define ICON_MD_TOWER_BEACH "\xf3\xb0\x9a\x81" // U+F0681 tower-beach -#define ICON_MD_TOWER_FIRE "\xf3\xb0\x9a\x82" // U+F0682 tower-fire -#define ICON_MD_TOWN_HALL "\xf3\xb1\xa1\xb5" // U+F1875 town-hall, aliases: school, tags: Places -#define ICON_MD_TOY_BRICK "\xf3\xb1\x8a\x88" // U+F1288 toy-brick, aliases: lego, plugin, extension -#define ICON_MD_TOY_BRICK_MARKER "\xf3\xb1\x8a\x89" // U+F1289 toy-brick-marker, aliases: lego, plugin, extension, lego-location, toy-brick-location, tags: Navigation -#define ICON_MD_TOY_BRICK_MARKER_OUTLINE "\xf3\xb1\x8a\x8a" // U+F128A toy-brick-marker-outline, aliases: extension-outline, lego-location-outline, toy-brick-location-outline, plugin-outline, lego-outline, tags: Navigation -#define ICON_MD_TOY_BRICK_MINUS "\xf3\xb1\x8a\x8b" // U+F128B toy-brick-minus, aliases: lego, plugin, extension -#define ICON_MD_TOY_BRICK_MINUS_OUTLINE "\xf3\xb1\x8a\x8c" // U+F128C toy-brick-minus-outline, aliases: lego, plugin, extension -#define ICON_MD_TOY_BRICK_OUTLINE "\xf3\xb1\x8a\x8d" // U+F128D toy-brick-outline, aliases: lego, plugin, extension -#define ICON_MD_TOY_BRICK_PLUS "\xf3\xb1\x8a\x8e" // U+F128E toy-brick-plus, aliases: lego, plugin, extension -#define ICON_MD_TOY_BRICK_PLUS_OUTLINE "\xf3\xb1\x8a\x8f" // U+F128F toy-brick-plus-outline, aliases: lego, plugin, extension -#define ICON_MD_TOY_BRICK_REMOVE "\xf3\xb1\x8a\x90" // U+F1290 toy-brick-remove, aliases: lego, plugin, extension -#define ICON_MD_TOY_BRICK_REMOVE_OUTLINE "\xf3\xb1\x8a\x91" // U+F1291 toy-brick-remove-outline, aliases: lego, plugin, extension -#define ICON_MD_TOY_BRICK_SEARCH "\xf3\xb1\x8a\x92" // U+F1292 toy-brick-search, aliases: lego, plugin, extension -#define ICON_MD_TOY_BRICK_SEARCH_OUTLINE "\xf3\xb1\x8a\x93" // U+F1293 toy-brick-search-outline, aliases: lego, plugin, extension -#define ICON_MD_TRACK_LIGHT "\xf3\xb0\xa4\x94" // U+F0914 track-light, tags: Home Automation -#define ICON_MD_TRACK_LIGHT_OFF "\xf3\xb1\xac\x81" // U+F1B01 track-light-off -#define ICON_MD_TRACKPAD "\xf3\xb0\x9f\xb8" // U+F07F8 trackpad -#define ICON_MD_TRACKPAD_LOCK "\xf3\xb0\xa4\xb3" // U+F0933 trackpad-lock, tags: Lock -#define ICON_MD_TRACTOR "\xf3\xb0\xa2\x92" // U+F0892 tractor, aliases: farm, tags: Agriculture, Transportation + Road -#define ICON_MD_TRACTOR_VARIANT "\xf3\xb1\x93\x84" // U+F14C4 tractor-variant, aliases: agriculture, tags: Agriculture -#define ICON_MD_TRADEMARK "\xf3\xb0\xa9\xb8" // U+F0A78 trademark, aliases: tm -#define ICON_MD_TRAFFIC_CONE "\xf3\xb1\x8d\xbc" // U+F137C traffic-cone, tags: Transportation + Road -#define ICON_MD_TRAFFIC_LIGHT "\xf3\xb0\x94\xab" // U+F052B traffic-light, aliases: traffic-signal, stop-light, tags: Transportation + Road -#define ICON_MD_TRAFFIC_LIGHT_OUTLINE "\xf3\xb1\xa0\xaa" // U+F182A traffic-light-outline, aliases: traffic-signal-outline, stop-light-outline, tags: Transportation + Road -#define ICON_MD_TRAIN "\xf3\xb0\x94\xac" // U+F052C train, aliases: directions-railway, locomotive, railroad, tags: Navigation, Transportation + Other -#define ICON_MD_TRAIN_CAR "\xf3\xb0\xaf\x98" // U+F0BD8 train-car, aliases: commute, transportation, travel, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_AUTORACK "\xf3\xb1\xac\xad" // U+F1B2D train-car-autorack, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_BOX "\xf3\xb1\xac\xae" // U+F1B2E train-car-box, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_BOX_FULL "\xf3\xb1\xac\xaf" // U+F1B2F train-car-box-full, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_BOX_OPEN "\xf3\xb1\xac\xb0" // U+F1B30 train-car-box-open, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_CABOOSE "\xf3\xb1\xac\xb1" // U+F1B31 train-car-caboose, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_CENTERBEAM "\xf3\xb1\xac\xb2" // U+F1B32 train-car-centerbeam, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_CENTERBEAM_FULL "\xf3\xb1\xac\xb3" // U+F1B33 train-car-centerbeam-full, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_CONTAINER "\xf3\xb1\xac\xb4" // U+F1B34 train-car-container, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_FLATBED "\xf3\xb1\xac\xb5" // U+F1B35 train-car-flatbed, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_FLATBED_CAR "\xf3\xb1\xac\xb6" // U+F1B36 train-car-flatbed-car, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_FLATBED_TANK "\xf3\xb1\xac\xb7" // U+F1B37 train-car-flatbed-tank, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_GONDOLA "\xf3\xb1\xac\xb8" // U+F1B38 train-car-gondola, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_GONDOLA_FULL "\xf3\xb1\xac\xb9" // U+F1B39 train-car-gondola-full, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_HOPPER "\xf3\xb1\xac\xba" // U+F1B3A train-car-hopper, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_HOPPER_COVERED "\xf3\xb1\xac\xbb" // U+F1B3B train-car-hopper-covered, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_HOPPER_FULL "\xf3\xb1\xac\xbc" // U+F1B3C train-car-hopper-full, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_INTERMODAL "\xf3\xb1\xac\xbd" // U+F1B3D train-car-intermodal, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_PASSENGER "\xf3\xb1\x9c\xb3" // U+F1733 train-car-passenger, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_PASSENGER_DOOR "\xf3\xb1\x9c\xb4" // U+F1734 train-car-passenger-door, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_PASSENGER_DOOR_OPEN "\xf3\xb1\x9c\xb5" // U+F1735 train-car-passenger-door-open, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_PASSENGER_VARIANT "\xf3\xb1\x9c\xb6" // U+F1736 train-car-passenger-variant, tags: Transportation + Other -#define ICON_MD_TRAIN_CAR_TANK "\xf3\xb1\xac\xbe" // U+F1B3E train-car-tank, tags: Transportation + Other -#define ICON_MD_TRAIN_VARIANT "\xf3\xb0\xa3\x84" // U+F08C4 train-variant, aliases: locomotive-variant, railroad-variant, tags: Transportation + Other -#define ICON_MD_TRAM "\xf3\xb0\x94\xad" // U+F052D tram, tags: Navigation, Transportation + Other -#define ICON_MD_TRAM_SIDE "\xf3\xb0\xbf\xa7" // U+F0FE7 tram-side, tags: Transportation + Other -#define ICON_MD_TRANSCRIBE "\xf3\xb0\x94\xae" // U+F052E transcribe -#define ICON_MD_TRANSCRIBE_CLOSE "\xf3\xb0\x94\xaf" // U+F052F transcribe-close -#define ICON_MD_TRANSFER "\xf3\xb1\x81\xa5" // U+F1065 transfer -#define ICON_MD_TRANSFER_DOWN "\xf3\xb0\xb6\xa1" // U+F0DA1 transfer-down, tags: Arrow -#define ICON_MD_TRANSFER_LEFT "\xf3\xb0\xb6\xa2" // U+F0DA2 transfer-left, tags: Arrow -#define ICON_MD_TRANSFER_RIGHT "\xf3\xb0\x94\xb0" // U+F0530 transfer-right, tags: Arrow -#define ICON_MD_TRANSFER_UP "\xf3\xb0\xb6\xa3" // U+F0DA3 transfer-up, tags: Arrow -#define ICON_MD_TRANSIT_CONNECTION "\xf3\xb0\xb4\xbc" // U+F0D3C transit-connection, tags: Transportation + Other, Navigation -#define ICON_MD_TRANSIT_CONNECTION_HORIZONTAL "\xf3\xb1\x95\x86" // U+F1546 transit-connection-horizontal, tags: Transportation + Other -#define ICON_MD_TRANSIT_CONNECTION_VARIANT "\xf3\xb0\xb4\xbd" // U+F0D3D transit-connection-variant, tags: Transportation + Other, Navigation -#define ICON_MD_TRANSIT_DETOUR "\xf3\xb0\xbe\x8b" // U+F0F8B transit-detour, tags: Transportation + Other, Navigation -#define ICON_MD_TRANSIT_SKIP "\xf3\xb1\x94\x95" // U+F1515 transit-skip, tags: Transportation + Other -#define ICON_MD_TRANSIT_TRANSFER "\xf3\xb0\x9a\xae" // U+F06AE transit-transfer, aliases: transfer-within-a-station, tags: Transportation + Other, Navigation -#define ICON_MD_TRANSITION "\xf3\xb0\xa4\x95" // U+F0915 transition, aliases: animation, motion, translate -#define ICON_MD_TRANSITION_MASKED "\xf3\xb0\xa4\x96" // U+F0916 transition-masked, aliases: masked-transitions -#define ICON_MD_TRANSLATE "\xf3\xb0\x97\x8a" // U+F05CA translate, aliases: language -#define ICON_MD_TRANSLATE_OFF "\xf3\xb0\xb8\x86" // U+F0E06 translate-off -#define ICON_MD_TRANSLATE_VARIANT "\xf3\xb1\xae\x99" // U+F1B99 translate-variant, aliases: spoken-language, tags: Developer / Languages -#define ICON_MD_TRANSMISSION_TOWER "\xf3\xb0\xb4\xbe" // U+F0D3E transmission-tower, aliases: pylon, powerline, electricity, energy, power, grid, tags: Home Automation -#define ICON_MD_TRANSMISSION_TOWER_EXPORT "\xf3\xb1\xa4\xac" // U+F192C transmission-tower-export, aliases: power-from-grid, energy-from-grid, electricity-from-grid, tags: Home Automation -#define ICON_MD_TRANSMISSION_TOWER_IMPORT "\xf3\xb1\xa4\xad" // U+F192D transmission-tower-import, aliases: power-to-grid, energy-to-grid, electricity-to-grid, return-to-grid, tags: Home Automation -#define ICON_MD_TRANSMISSION_TOWER_OFF "\xf3\xb1\xa7\x9d" // U+F19DD transmission-tower-off, aliases: powerline-off, pylon-off, grid-off, tags: Home Automation -#define ICON_MD_TRASH_CAN "\xf3\xb0\xa9\xb9" // U+F0A79 trash-can, aliases: delete, rubbish-bin, trashcan, garbage-can -#define ICON_MD_TRASH_CAN_OUTLINE "\xf3\xb0\xa9\xba" // U+F0A7A trash-can-outline, aliases: delete-outline, rubbish-bin-outline, trashcan-outline, garbage-can-outline -#define ICON_MD_TRAY "\xf3\xb1\x8a\x94" // U+F1294 tray, aliases: queue, printer, inbox -#define ICON_MD_TRAY_ALERT "\xf3\xb1\x8a\x95" // U+F1295 tray-alert, aliases: queue, printer, inbox, tags: Alert / Error -#define ICON_MD_TRAY_ARROW_DOWN "\xf3\xb0\x84\xa0" // U+F0120 tray-arrow-down, aliases: tray-download, tags: Arrow -#define ICON_MD_TRAY_ARROW_UP "\xf3\xb0\x84\x9d" // U+F011D tray-arrow-up, aliases: tray-upload, tags: Arrow -#define ICON_MD_TRAY_FULL "\xf3\xb1\x8a\x96" // U+F1296 tray-full, aliases: queue, printer, inbox -#define ICON_MD_TRAY_MINUS "\xf3\xb1\x8a\x97" // U+F1297 tray-minus, aliases: queue, printer, inbox -#define ICON_MD_TRAY_PLUS "\xf3\xb1\x8a\x98" // U+F1298 tray-plus, aliases: queue, printer, inbox -#define ICON_MD_TRAY_REMOVE "\xf3\xb1\x8a\x99" // U+F1299 tray-remove, aliases: queue, printer, inbox -#define ICON_MD_TREASURE_CHEST "\xf3\xb0\x9c\xa6" // U+F0726 treasure-chest, tags: Gaming / RPG -#define ICON_MD_TREE "\xf3\xb0\x94\xb1" // U+F0531 tree, aliases: plant, tags: Nature -#define ICON_MD_TREE_OUTLINE "\xf3\xb0\xb9\xa9" // U+F0E69 tree-outline, aliases: plant, tags: Nature -#define ICON_MD_TRELLO "\xf3\xb0\x94\xb2" // U+F0532 trello, tags: Brand / Logo -#define ICON_MD_TRENDING_DOWN "\xf3\xb0\x94\xb3" // U+F0533 trending-down -#define ICON_MD_TRENDING_NEUTRAL "\xf3\xb0\x94\xb4" // U+F0534 trending-neutral, aliases: trending-flat -#define ICON_MD_TRENDING_UP "\xf3\xb0\x94\xb5" // U+F0535 trending-up -#define ICON_MD_TRIANGLE "\xf3\xb0\x94\xb6" // U+F0536 triangle, tags: Shape -#define ICON_MD_TRIANGLE_OUTLINE "\xf3\xb0\x94\xb7" // U+F0537 triangle-outline, tags: Shape -#define ICON_MD_TRIANGLE_SMALL_DOWN "\xf3\xb1\xa8\x89" // U+F1A09 triangle-small-down, aliases: trending-down-variant, tags: Shape -#define ICON_MD_TRIANGLE_SMALL_UP "\xf3\xb1\xa8\x8a" // U+F1A0A triangle-small-up, aliases: trending-up-variant, tags: Shape -#define ICON_MD_TRIANGLE_WAVE "\xf3\xb1\x91\xbc" // U+F147C triangle-wave, tags: Audio -#define ICON_MD_TRIFORCE "\xf3\xb0\xaf\x99" // U+F0BD9 triforce, aliases: zelda, tags: Gaming / RPG -#define ICON_MD_TROPHY "\xf3\xb0\x94\xb8" // U+F0538 trophy, aliases: achievement, tags: Sport -#define ICON_MD_TROPHY_AWARD "\xf3\xb0\x94\xb9" // U+F0539 trophy-award, aliases: achievement-award, tags: Sport -#define ICON_MD_TROPHY_BROKEN "\xf3\xb0\xb6\xa4" // U+F0DA4 trophy-broken, tags: Sport -#define ICON_MD_TROPHY_OUTLINE "\xf3\xb0\x94\xba" // U+F053A trophy-outline, aliases: achievement-outline, tags: Sport -#define ICON_MD_TROPHY_VARIANT "\xf3\xb0\x94\xbb" // U+F053B trophy-variant, aliases: achievement-variant, tags: Sport -#define ICON_MD_TROPHY_VARIANT_OUTLINE "\xf3\xb0\x94\xbc" // U+F053C trophy-variant-outline, aliases: achievement-variant-outline, tags: Sport -#define ICON_MD_TRUCK "\xf3\xb0\x94\xbd" // U+F053D truck, aliases: lorry, local-shipping, courier, tags: Transportation + Road -#define ICON_MD_TRUCK_ALERT "\xf3\xb1\xa7\x9e" // U+F19DE truck-alert, aliases: truck-error, tags: Transportation + Road, Alert / Error -#define ICON_MD_TRUCK_ALERT_OUTLINE "\xf3\xb1\xa7\x9f" // U+F19DF truck-alert-outline, aliases: truck-error-outline, tags: Transportation + Road, Alert / Error -#define ICON_MD_TRUCK_CARGO_CONTAINER "\xf3\xb1\xa3\x98" // U+F18D8 truck-cargo-container, aliases: truck-shipping, tags: Transportation + Road -#define ICON_MD_TRUCK_CHECK "\xf3\xb0\xb3\x94" // U+F0CD4 truck-check, aliases: truck-tick, lorry-check, courier-check, tags: Transportation + Road -#define ICON_MD_TRUCK_CHECK_OUTLINE "\xf3\xb1\x8a\x9a" // U+F129A truck-check-outline, tags: Transportation + Road -#define ICON_MD_TRUCK_DELIVERY "\xf3\xb0\x94\xbe" // U+F053E truck-delivery, aliases: lorry-delivery, tags: Transportation + Road -#define ICON_MD_TRUCK_DELIVERY_OUTLINE "\xf3\xb1\x8a\x9b" // U+F129B truck-delivery-outline, tags: Transportation + Road -#define ICON_MD_TRUCK_FAST "\xf3\xb0\x9e\x88" // U+F0788 truck-fast, aliases: lorry-fast, courier-fast, tags: Transportation + Road -#define ICON_MD_TRUCK_FAST_OUTLINE "\xf3\xb1\x8a\x9c" // U+F129C truck-fast-outline, tags: Transportation + Road -#define ICON_MD_TRUCK_FLATBED "\xf3\xb1\xa2\x91" // U+F1891 truck-flatbed, aliases: truck-flatbed-tow, tags: Automotive, Transportation + Road -#define ICON_MD_TRUCK_MINUS "\xf3\xb1\xa6\xae" // U+F19AE truck-minus, aliases: truck-subtract, tags: Transportation + Road -#define ICON_MD_TRUCK_MINUS_OUTLINE "\xf3\xb1\xa6\xbd" // U+F19BD truck-minus-outline, aliases: truck-subtract-outline, tags: Transportation + Road -#define ICON_MD_TRUCK_OUTLINE "\xf3\xb1\x8a\x9d" // U+F129D truck-outline, tags: Transportation + Road -#define ICON_MD_TRUCK_PLUS "\xf3\xb1\xa6\xad" // U+F19AD truck-plus, aliases: truck-add, tags: Transportation + Road, Medical / Hospital -#define ICON_MD_TRUCK_PLUS_OUTLINE "\xf3\xb1\xa6\xbc" // U+F19BC truck-plus-outline, aliases: truck-add-outline, tags: Transportation + Road, Medical / Hospital -#define ICON_MD_TRUCK_REMOVE "\xf3\xb1\xa6\xaf" // U+F19AF truck-remove, tags: Transportation + Road -#define ICON_MD_TRUCK_REMOVE_OUTLINE "\xf3\xb1\xa6\xbe" // U+F19BE truck-remove-outline, tags: Transportation + Road -#define ICON_MD_TRUCK_SNOWFLAKE "\xf3\xb1\xa6\xa6" // U+F19A6 truck-snowflake, aliases: truck-refrigerator, truck-freezer, tags: Transportation + Road -#define ICON_MD_TRUCK_TRAILER "\xf3\xb0\x9c\xa7" // U+F0727 truck-trailer, tags: Transportation + Road -#define ICON_MD_TRUMPET "\xf3\xb1\x82\x96" // U+F1096 trumpet, tags: Music -#define ICON_MD_TSHIRT_CREW "\xf3\xb0\xa9\xbb" // U+F0A7B tshirt-crew, aliases: t-shirt-crew, tags: Clothing -#define ICON_MD_TSHIRT_CREW_OUTLINE "\xf3\xb0\x94\xbf" // U+F053F tshirt-crew-outline, aliases: t-shirt-crew-outline, tags: Clothing -#define ICON_MD_TSHIRT_V "\xf3\xb0\xa9\xbc" // U+F0A7C tshirt-v, aliases: t-shirt-v, tags: Clothing -#define ICON_MD_TSHIRT_V_OUTLINE "\xf3\xb0\x95\x80" // U+F0540 tshirt-v-outline, aliases: t-shirt-v-outline, tags: Clothing -#define ICON_MD_TSUNAMI "\xf3\xb1\xaa\x81" // U+F1A81 tsunami, tags: Nature, Weather -#define ICON_MD_TUMBLE_DRYER "\xf3\xb0\xa4\x97" // U+F0917 tumble-dryer, aliases: laundry-room, tags: Home Automation -#define ICON_MD_TUMBLE_DRYER_ALERT "\xf3\xb1\x86\xba" // U+F11BA tumble-dryer-alert, aliases: laundry-room-alert, tags: Home Automation, Alert / Error -#define ICON_MD_TUMBLE_DRYER_OFF "\xf3\xb1\x86\xbb" // U+F11BB tumble-dryer-off, aliases: laundry-room-off, tags: Home Automation -#define ICON_MD_TUNE "\xf3\xb0\x98\xae" // U+F062E tune, aliases: mixer-settings, equaliser, settings, tags: Settings, Audio -#define ICON_MD_TUNE_VARIANT "\xf3\xb1\x95\x82" // U+F1542 tune-variant, aliases: settings, equalizer, tags: Audio, Settings -#define ICON_MD_TUNE_VERTICAL "\xf3\xb0\x99\xaa" // U+F066A tune-vertical, aliases: equaliser-vertical, instant-mix, settings-vertical, mixer-settings-vertical, tags: Settings, Audio -#define ICON_MD_TUNE_VERTICAL_VARIANT "\xf3\xb1\x95\x83" // U+F1543 tune-vertical-variant, aliases: settings-vertical, equalizer-vertical, tags: Audio, Settings -#define ICON_MD_TUNNEL "\xf3\xb1\xa0\xbd" // U+F183D tunnel, tags: Transportation + Road, Transportation + Other -#define ICON_MD_TUNNEL_OUTLINE "\xf3\xb1\xa0\xbe" // U+F183E tunnel-outline, tags: Transportation + Road, Transportation + Other -#define ICON_MD_TURBINE "\xf3\xb1\xaa\x82" // U+F1A82 turbine, aliases: jet-engine, wind-turbine, tags: Transportation + Flying -#define ICON_MD_TURKEY "\xf3\xb1\x9c\x9b" // U+F171B turkey, aliases: thanksgiving, tags: Animal, Holiday, Agriculture -#define ICON_MD_TURNSTILE "\xf3\xb0\xb3\x95" // U+F0CD5 turnstile -#define ICON_MD_TURNSTILE_OUTLINE "\xf3\xb0\xb3\x96" // U+F0CD6 turnstile-outline -#define ICON_MD_TURTLE "\xf3\xb0\xb3\x97" // U+F0CD7 turtle, aliases: reptile, tags: Animal -#define ICON_MD_TWITCH "\xf3\xb0\x95\x83" // U+F0543 twitch, tags: Social Media, Brand / Logo -#define ICON_MD_TWITTER "\xf3\xb0\x95\x84" // U+F0544 twitter, tags: Brand / Logo, Social Media -#define ICON_MD_TWO_FACTOR_AUTHENTICATION "\xf3\xb0\xa6\xaf" // U+F09AF two-factor-authentication -#define ICON_MD_TYPEWRITER "\xf3\xb0\xbc\xad" // U+F0F2D typewriter -#define ICON_MD_UBISOFT "\xf3\xb0\xaf\x9a" // U+F0BDA ubisoft, aliases: uplay, tags: Brand / Logo, Gaming / RPG -#define ICON_MD_UBUNTU "\xf3\xb0\x95\x88" // U+F0548 ubuntu, tags: Brand / Logo -#define ICON_MD_UFO "\xf3\xb1\x83\x84" // U+F10C4 ufo, aliases: unidentified-flying-object, alien -#define ICON_MD_UFO_OUTLINE "\xf3\xb1\x83\x85" // U+F10C5 ufo-outline, aliases: unidentified-flying-object-outline, alien -#define ICON_MD_ULTRA_HIGH_DEFINITION "\xf3\xb0\x9f\xb9" // U+F07F9 ultra-high-definition, aliases: uhd, tags: Video / Movie -#define ICON_MD_UMBRACO "\xf3\xb0\x95\x89" // U+F0549 umbraco, tags: Brand / Logo -#define ICON_MD_UMBRELLA "\xf3\xb0\x95\x8a" // U+F054A umbrella, tags: Weather -#define ICON_MD_UMBRELLA_BEACH "\xf3\xb1\xa2\x8a" // U+F188A umbrella-beach, tags: Weather -#define ICON_MD_UMBRELLA_BEACH_OUTLINE "\xf3\xb1\xa2\x8b" // U+F188B umbrella-beach-outline, tags: Weather -#define ICON_MD_UMBRELLA_CLOSED "\xf3\xb0\xa6\xb0" // U+F09B0 umbrella-closed, tags: Weather -#define ICON_MD_UMBRELLA_CLOSED_OUTLINE "\xf3\xb1\x8f\xa2" // U+F13E2 umbrella-closed-outline, tags: Weather -#define ICON_MD_UMBRELLA_CLOSED_VARIANT "\xf3\xb1\x8f\xa1" // U+F13E1 umbrella-closed-variant, tags: Weather -#define ICON_MD_UMBRELLA_OUTLINE "\xf3\xb0\x95\x8b" // U+F054B umbrella-outline, tags: Weather -#define ICON_MD_UNDO "\xf3\xb0\x95\x8c" // U+F054C undo, aliases: arrow -#define ICON_MD_UNDO_VARIANT "\xf3\xb0\x95\x8d" // U+F054D undo-variant, aliases: arrow -#define ICON_MD_UNFOLD_LESS_HORIZONTAL "\xf3\xb0\x95\x8e" // U+F054E unfold-less-horizontal, aliases: chevron-down-up, collapse-horizontal -#define ICON_MD_UNFOLD_LESS_VERTICAL "\xf3\xb0\x9d\xa0" // U+F0760 unfold-less-vertical, aliases: chevron-right-left, collapse-vertical -#define ICON_MD_UNFOLD_MORE_HORIZONTAL "\xf3\xb0\x95\x8f" // U+F054F unfold-more-horizontal, aliases: chevron-up-down, expand-horizontal -#define ICON_MD_UNFOLD_MORE_VERTICAL "\xf3\xb0\x9d\xa1" // U+F0761 unfold-more-vertical, aliases: chevron-left-right, expand-vertical -#define ICON_MD_UNGROUP "\xf3\xb0\x95\x90" // U+F0550 ungroup -#define ICON_MD_UNICODE "\xf3\xb0\xbb\x90" // U+F0ED0 unicode, tags: Developer / Languages, Brand / Logo -#define ICON_MD_UNICORN "\xf3\xb1\x97\x82" // U+F15C2 unicorn, aliases: fantasy, tags: Animal -#define ICON_MD_UNICORN_VARIANT "\xf3\xb1\x97\x83" // U+F15C3 unicorn-variant, aliases: fantasy-variant, tags: Animal -#define ICON_MD_UNICYCLE "\xf3\xb1\x97\xa5" // U+F15E5 unicycle, tags: Sport, Transportation + Other -#define ICON_MD_UNITY "\xf3\xb0\x9a\xaf" // U+F06AF unity, tags: Brand / Logo, Gaming / RPG -#define ICON_MD_UNREAL "\xf3\xb0\xa6\xb1" // U+F09B1 unreal, aliases: unreal-engine, tags: Brand / Logo, Gaming / RPG -#define ICON_MD_UPDATE "\xf3\xb0\x9a\xb0" // U+F06B0 update, aliases: clockwise, clock-arrow, tags: Date / Time -#define ICON_MD_UPLOAD "\xf3\xb0\x95\x92" // U+F0552 upload, aliases: file-upload -#define ICON_MD_UPLOAD_LOCK "\xf3\xb1\x8d\xb3" // U+F1373 upload-lock, tags: Lock -#define ICON_MD_UPLOAD_LOCK_OUTLINE "\xf3\xb1\x8d\xb4" // U+F1374 upload-lock-outline, tags: Lock -#define ICON_MD_UPLOAD_MULTIPLE "\xf3\xb0\xa0\xbd" // U+F083D upload-multiple, aliases: uploads -#define ICON_MD_UPLOAD_NETWORK "\xf3\xb0\x9b\xb6" // U+F06F6 upload-network -#define ICON_MD_UPLOAD_NETWORK_OUTLINE "\xf3\xb0\xb3\x98" // U+F0CD8 upload-network-outline -#define ICON_MD_UPLOAD_OFF "\xf3\xb1\x83\x86" // U+F10C6 upload-off -#define ICON_MD_UPLOAD_OFF_OUTLINE "\xf3\xb1\x83\x87" // U+F10C7 upload-off-outline -#define ICON_MD_UPLOAD_OUTLINE "\xf3\xb0\xb8\x87" // U+F0E07 upload-outline, aliases: file-upload-outline -#define ICON_MD_USB "\xf3\xb0\x95\x93" // U+F0553 usb -#define ICON_MD_USB_FLASH_DRIVE "\xf3\xb1\x8a\x9e" // U+F129E usb-flash-drive -#define ICON_MD_USB_FLASH_DRIVE_OUTLINE "\xf3\xb1\x8a\x9f" // U+F129F usb-flash-drive-outline -#define ICON_MD_USB_PORT "\xf3\xb1\x87\xb0" // U+F11F0 usb-port -#define ICON_MD_VACUUM "\xf3\xb1\xa6\xa1" // U+F19A1 vacuum, aliases: vacuum-cleaner, tags: Home Automation -#define ICON_MD_VACUUM_OUTLINE "\xf3\xb1\xa6\xa2" // U+F19A2 vacuum-outline, aliases: vacuum-cleaner-outline, tags: Home Automation -#define ICON_MD_VALVE "\xf3\xb1\x81\xa6" // U+F1066 valve, tags: Home Automation -#define ICON_MD_VALVE_CLOSED "\xf3\xb1\x81\xa7" // U+F1067 valve-closed, tags: Home Automation -#define ICON_MD_VALVE_OPEN "\xf3\xb1\x81\xa8" // U+F1068 valve-open, tags: Home Automation -#define ICON_MD_VAN_PASSENGER "\xf3\xb0\x9f\xba" // U+F07FA van-passenger, tags: Transportation + Road -#define ICON_MD_VAN_UTILITY "\xf3\xb0\x9f\xbb" // U+F07FB van-utility, aliases: van-candy, tags: Transportation + Road -#define ICON_MD_VANISH "\xf3\xb0\x9f\xbc" // U+F07FC vanish -#define ICON_MD_VANISH_QUARTER "\xf3\xb1\x95\x94" // U+F1554 vanish-quarter -#define ICON_MD_VANITY_LIGHT "\xf3\xb1\x87\xa1" // U+F11E1 vanity-light, tags: Home Automation -#define ICON_MD_VARIABLE "\xf3\xb0\xab\xa7" // U+F0AE7 variable, tags: Developer / Languages, Math -#define ICON_MD_VARIABLE_BOX "\xf3\xb1\x84\x91" // U+F1111 variable-box, tags: Developer / Languages -#define ICON_MD_VECTOR_ARRANGE_ABOVE "\xf3\xb0\x95\x94" // U+F0554 vector-arrange-above, tags: Vector, Arrange, Geographic Information System -#define ICON_MD_VECTOR_ARRANGE_BELOW "\xf3\xb0\x95\x95" // U+F0555 vector-arrange-below, tags: Vector, Arrange, Geographic Information System -#define ICON_MD_VECTOR_BEZIER "\xf3\xb0\xab\xa8" // U+F0AE8 vector-bezier, tags: Vector -#define ICON_MD_VECTOR_CIRCLE "\xf3\xb0\x95\x96" // U+F0556 vector-circle, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_CIRCLE_VARIANT "\xf3\xb0\x95\x97" // U+F0557 vector-circle-variant, tags: Vector -#define ICON_MD_VECTOR_COMBINE "\xf3\xb0\x95\x98" // U+F0558 vector-combine, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_CURVE "\xf3\xb0\x95\x99" // U+F0559 vector-curve, aliases: bezier, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_DIFFERENCE "\xf3\xb0\x95\x9a" // U+F055A vector-difference, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_DIFFERENCE_AB "\xf3\xb0\x95\x9b" // U+F055B vector-difference-ab, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_DIFFERENCE_BA "\xf3\xb0\x95\x9c" // U+F055C vector-difference-ba, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_ELLIPSE "\xf3\xb0\xa2\x93" // U+F0893 vector-ellipse, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_INTERSECTION "\xf3\xb0\x95\x9d" // U+F055D vector-intersection, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_LINE "\xf3\xb0\x95\x9e" // U+F055E vector-line, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_LINK "\xf3\xb0\xbf\xa8" // U+F0FE8 vector-link, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_POINT "\xf3\xb0\x87\x84" // U+F01C4 vector-point, tags: Vector -#define ICON_MD_VECTOR_POINT_EDIT "\xf3\xb0\xa7\xa8" // U+F09E8 vector-point-edit, tags: Vector -#define ICON_MD_VECTOR_POINT_MINUS "\xf3\xb1\xad\xb8" // U+F1B78 vector-point-minus, tags: Vector -#define ICON_MD_VECTOR_POINT_PLUS "\xf3\xb1\xad\xb9" // U+F1B79 vector-point-plus, aliases: vector-point-add, tags: Vector -#define ICON_MD_VECTOR_POINT_SELECT "\xf3\xb0\x95\x9f" // U+F055F vector-point-select, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_POLYGON "\xf3\xb0\x95\xa0" // U+F0560 vector-polygon, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_POLYGON_VARIANT "\xf3\xb1\xa1\x96" // U+F1856 vector-polygon-variant, tags: Vector -#define ICON_MD_VECTOR_POLYLINE "\xf3\xb0\x95\xa1" // U+F0561 vector-polyline, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_POLYLINE_EDIT "\xf3\xb1\x88\xa5" // U+F1225 vector-polyline-edit, tags: Edit / Modify -#define ICON_MD_VECTOR_POLYLINE_MINUS "\xf3\xb1\x88\xa6" // U+F1226 vector-polyline-minus -#define ICON_MD_VECTOR_POLYLINE_PLUS "\xf3\xb1\x88\xa7" // U+F1227 vector-polyline-plus -#define ICON_MD_VECTOR_POLYLINE_REMOVE "\xf3\xb1\x88\xa8" // U+F1228 vector-polyline-remove -#define ICON_MD_VECTOR_RADIUS "\xf3\xb0\x9d\x8a" // U+F074A vector-radius, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_RECTANGLE "\xf3\xb0\x97\x86" // U+F05C6 vector-rectangle, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_SELECTION "\xf3\xb0\x95\xa2" // U+F0562 vector-selection, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_SQUARE "\xf3\xb0\x80\x81" // U+F0001 vector-square, aliases: mdi, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_SQUARE_CLOSE "\xf3\xb1\xa1\x97" // U+F1857 vector-square-close, tags: Vector -#define ICON_MD_VECTOR_SQUARE_EDIT "\xf3\xb1\xa3\x99" // U+F18D9 vector-square-edit, tags: Vector, Edit / Modify -#define ICON_MD_VECTOR_SQUARE_MINUS "\xf3\xb1\xa3\x9a" // U+F18DA vector-square-minus, aliases: vector-square-subtract, tags: Vector -#define ICON_MD_VECTOR_SQUARE_OPEN "\xf3\xb1\xa1\x98" // U+F1858 vector-square-open, tags: Vector -#define ICON_MD_VECTOR_SQUARE_PLUS "\xf3\xb1\xa3\x9b" // U+F18DB vector-square-plus, aliases: vector-square-add, tags: Vector -#define ICON_MD_VECTOR_SQUARE_REMOVE "\xf3\xb1\xa3\x9c" // U+F18DC vector-square-remove, aliases: vector-square-delete, tags: Vector -#define ICON_MD_VECTOR_TRIANGLE "\xf3\xb0\x95\xa3" // U+F0563 vector-triangle, tags: Vector, Geographic Information System -#define ICON_MD_VECTOR_UNION "\xf3\xb0\x95\xa4" // U+F0564 vector-union, tags: Vector, Geographic Information System -#define ICON_MD_VHS "\xf3\xb0\xa8\x9b" // U+F0A1B vhs, aliases: video-home-system, vhs-cassette, vhs-tape, tags: Video / Movie -#define ICON_MD_VIBRATE "\xf3\xb0\x95\xa6" // U+F0566 vibrate, aliases: vibration -#define ICON_MD_VIBRATE_OFF "\xf3\xb0\xb3\x99" // U+F0CD9 vibrate-off -#define ICON_MD_VIDEO "\xf3\xb0\x95\xa7" // U+F0567 video, aliases: videocam, tags: Video / Movie, Home Automation -#define ICON_MD_VIDEO_2D "\xf3\xb1\xa8\x9c" // U+F1A1C video-2d, tags: Video / Movie -#define ICON_MD_VIDEO_3D "\xf3\xb0\x9f\xbd" // U+F07FD video-3d, tags: Video / Movie -#define ICON_MD_VIDEO_3D_OFF "\xf3\xb1\x8f\x99" // U+F13D9 video-3d-off, tags: Video / Movie -#define ICON_MD_VIDEO_3D_VARIANT "\xf3\xb0\xbb\x91" // U+F0ED1 video-3d-variant, tags: Video / Movie -#define ICON_MD_VIDEO_4K_BOX "\xf3\xb0\xa0\xbe" // U+F083E video-4k-box, aliases: 4k, tags: Video / Movie -#define ICON_MD_VIDEO_ACCOUNT "\xf3\xb0\xa4\x99" // U+F0919 video-account, aliases: video-user, tags: Account / User, Video / Movie -#define ICON_MD_VIDEO_BOX "\xf3\xb0\x83\xbd" // U+F00FD video-box, tags: Video / Movie -#define ICON_MD_VIDEO_BOX_OFF "\xf3\xb0\x83\xbe" // U+F00FE video-box-off, tags: Video / Movie -#define ICON_MD_VIDEO_CHECK "\xf3\xb1\x81\xa9" // U+F1069 video-check, tags: Video / Movie -#define ICON_MD_VIDEO_CHECK_OUTLINE "\xf3\xb1\x81\xaa" // U+F106A video-check-outline, tags: Video / Movie -#define ICON_MD_VIDEO_HIGH_DEFINITION "\xf3\xb1\x94\xae" // U+F152E video-high-definition, tags: Video / Movie -#define ICON_MD_VIDEO_IMAGE "\xf3\xb0\xa4\x9a" // U+F091A video-image, tags: Video / Movie -#define ICON_MD_VIDEO_INPUT_ANTENNA "\xf3\xb0\xa0\xbf" // U+F083F video-input-antenna, aliases: settings-input-antenna, tags: Video / Movie -#define ICON_MD_VIDEO_INPUT_COMPONENT "\xf3\xb0\xa1\x80" // U+F0840 video-input-component, aliases: video-input-composite, settings-input-component, settings-input-composite, video-input-ypbpr, rca, tags: Video / Movie -#define ICON_MD_VIDEO_INPUT_HDMI "\xf3\xb0\xa1\x81" // U+F0841 video-input-hdmi, aliases: settings-input-hdmi, tags: Video / Movie -#define ICON_MD_VIDEO_INPUT_SCART "\xf3\xb0\xbe\x8c" // U+F0F8C video-input-scart, tags: Video / Movie -#define ICON_MD_VIDEO_INPUT_SVIDEO "\xf3\xb0\xa1\x82" // U+F0842 video-input-svideo, aliases: settings-input-svideo, tags: Video / Movie -#define ICON_MD_VIDEO_MARKER "\xf3\xb1\xa6\xa9" // U+F19A9 video-marker, aliases: video-location, tags: Video / Movie, Navigation -#define ICON_MD_VIDEO_MARKER_OUTLINE "\xf3\xb1\xa6\xaa" // U+F19AA video-marker-outline, aliases: video-location-outline, tags: Video / Movie, Navigation -#define ICON_MD_VIDEO_MINUS "\xf3\xb0\xa6\xb2" // U+F09B2 video-minus, aliases: video-remove, tags: Video / Movie -#define ICON_MD_VIDEO_MINUS_OUTLINE "\xf3\xb0\x8a\xba" // U+F02BA video-minus-outline, tags: Video / Movie -#define ICON_MD_VIDEO_OFF "\xf3\xb0\x95\xa8" // U+F0568 video-off, aliases: videocam-off, tags: Video / Movie, Home Automation -#define ICON_MD_VIDEO_OFF_OUTLINE "\xf3\xb0\xaf\x9b" // U+F0BDB video-off-outline, aliases: videocam-off-outline, tags: Video / Movie -#define ICON_MD_VIDEO_OUTLINE "\xf3\xb0\xaf\x9c" // U+F0BDC video-outline, aliases: videocam-outline, tags: Video / Movie -#define ICON_MD_VIDEO_PLUS "\xf3\xb0\xa6\xb3" // U+F09B3 video-plus, aliases: video-call, video-add, tags: Video / Movie -#define ICON_MD_VIDEO_PLUS_OUTLINE "\xf3\xb0\x87\x93" // U+F01D3 video-plus-outline, tags: Video / Movie -#define ICON_MD_VIDEO_STABILIZATION "\xf3\xb0\xa4\x9b" // U+F091B video-stabilization, aliases: video-stabilisation, tags: Video / Movie -#define ICON_MD_VIDEO_SWITCH "\xf3\xb0\x95\xa9" // U+F0569 video-switch, aliases: switch-video, tags: Video / Movie -#define ICON_MD_VIDEO_SWITCH_OUTLINE "\xf3\xb0\x9e\x90" // U+F0790 video-switch-outline, tags: Video / Movie -#define ICON_MD_VIDEO_VINTAGE "\xf3\xb0\xa8\x9c" // U+F0A1C video-vintage, aliases: video-film, video-classic, tags: Video / Movie -#define ICON_MD_VIDEO_WIRELESS "\xf3\xb0\xbb\x92" // U+F0ED2 video-wireless, tags: Video / Movie -#define ICON_MD_VIDEO_WIRELESS_OUTLINE "\xf3\xb0\xbb\x93" // U+F0ED3 video-wireless-outline, tags: Video / Movie -#define ICON_MD_VIEW_AGENDA "\xf3\xb0\x95\xaa" // U+F056A view-agenda, tags: View -#define ICON_MD_VIEW_AGENDA_OUTLINE "\xf3\xb1\x87\x98" // U+F11D8 view-agenda-outline, tags: View -#define ICON_MD_VIEW_ARRAY "\xf3\xb0\x95\xab" // U+F056B view-array, tags: View -#define ICON_MD_VIEW_ARRAY_OUTLINE "\xf3\xb1\x92\x85" // U+F1485 view-array-outline, tags: View -#define ICON_MD_VIEW_CAROUSEL "\xf3\xb0\x95\xac" // U+F056C view-carousel, tags: View -#define ICON_MD_VIEW_CAROUSEL_OUTLINE "\xf3\xb1\x92\x86" // U+F1486 view-carousel-outline, tags: View -#define ICON_MD_VIEW_COLUMN "\xf3\xb0\x95\xad" // U+F056D view-column, tags: View -#define ICON_MD_VIEW_COLUMN_OUTLINE "\xf3\xb1\x92\x87" // U+F1487 view-column-outline, tags: View -#define ICON_MD_VIEW_COMFY "\xf3\xb0\xb9\xaa" // U+F0E6A view-comfy, tags: View -#define ICON_MD_VIEW_COMFY_OUTLINE "\xf3\xb1\x92\x88" // U+F1488 view-comfy-outline, tags: View -#define ICON_MD_VIEW_COMPACT "\xf3\xb0\xb9\xab" // U+F0E6B view-compact, tags: View -#define ICON_MD_VIEW_COMPACT_OUTLINE "\xf3\xb0\xb9\xac" // U+F0E6C view-compact-outline, tags: View -#define ICON_MD_VIEW_DASHBOARD "\xf3\xb0\x95\xae" // U+F056E view-dashboard, tags: View -#define ICON_MD_VIEW_DASHBOARD_EDIT "\xf3\xb1\xa5\x87" // U+F1947 view-dashboard-edit, tags: View, Edit / Modify -#define ICON_MD_VIEW_DASHBOARD_EDIT_OUTLINE "\xf3\xb1\xa5\x88" // U+F1948 view-dashboard-edit-outline, tags: View, Edit / Modify -#define ICON_MD_VIEW_DASHBOARD_OUTLINE "\xf3\xb0\xa8\x9d" // U+F0A1D view-dashboard-outline, tags: View -#define ICON_MD_VIEW_DASHBOARD_VARIANT "\xf3\xb0\xa1\x83" // U+F0843 view-dashboard-variant, tags: View -#define ICON_MD_VIEW_DASHBOARD_VARIANT_OUTLINE "\xf3\xb1\x92\x89" // U+F1489 view-dashboard-variant-outline, tags: View -#define ICON_MD_VIEW_DAY "\xf3\xb0\x95\xaf" // U+F056F view-day, tags: View -#define ICON_MD_VIEW_DAY_OUTLINE "\xf3\xb1\x92\x8a" // U+F148A view-day-outline, tags: View -#define ICON_MD_VIEW_GALLERY "\xf3\xb1\xa2\x88" // U+F1888 view-gallery, tags: View -#define ICON_MD_VIEW_GALLERY_OUTLINE "\xf3\xb1\xa2\x89" // U+F1889 view-gallery-outline, tags: View -#define ICON_MD_VIEW_GRID "\xf3\xb0\x95\xb0" // U+F0570 view-grid, tags: View -#define ICON_MD_VIEW_GRID_OUTLINE "\xf3\xb1\x87\x99" // U+F11D9 view-grid-outline, tags: View -#define ICON_MD_VIEW_GRID_PLUS "\xf3\xb0\xbe\x8d" // U+F0F8D view-grid-plus, aliases: view-grid-add, tags: View -#define ICON_MD_VIEW_GRID_PLUS_OUTLINE "\xf3\xb1\x87\x9a" // U+F11DA view-grid-plus-outline, tags: View -#define ICON_MD_VIEW_HEADLINE "\xf3\xb0\x95\xb1" // U+F0571 view-headline, tags: View -#define ICON_MD_VIEW_LIST "\xf3\xb0\x95\xb2" // U+F0572 view-list, tags: View -#define ICON_MD_VIEW_LIST_OUTLINE "\xf3\xb1\x92\x8b" // U+F148B view-list-outline, tags: View -#define ICON_MD_VIEW_MODULE "\xf3\xb0\x95\xb3" // U+F0573 view-module, tags: View -#define ICON_MD_VIEW_MODULE_OUTLINE "\xf3\xb1\x92\x8c" // U+F148C view-module-outline, tags: View -#define ICON_MD_VIEW_PARALLEL "\xf3\xb0\x9c\xa8" // U+F0728 view-parallel, tags: View -#define ICON_MD_VIEW_PARALLEL_OUTLINE "\xf3\xb1\x92\x8d" // U+F148D view-parallel-outline, tags: View -#define ICON_MD_VIEW_QUILT "\xf3\xb0\x95\xb4" // U+F0574 view-quilt, tags: View -#define ICON_MD_VIEW_QUILT_OUTLINE "\xf3\xb1\x92\x8e" // U+F148E view-quilt-outline, tags: View -#define ICON_MD_VIEW_SEQUENTIAL "\xf3\xb0\x9c\xa9" // U+F0729 view-sequential, tags: View -#define ICON_MD_VIEW_SEQUENTIAL_OUTLINE "\xf3\xb1\x92\x8f" // U+F148F view-sequential-outline, tags: View -#define ICON_MD_VIEW_SPLIT_HORIZONTAL "\xf3\xb0\xaf\x8b" // U+F0BCB view-split-horizontal, tags: View -#define ICON_MD_VIEW_SPLIT_VERTICAL "\xf3\xb0\xaf\x8c" // U+F0BCC view-split-vertical, tags: View -#define ICON_MD_VIEW_STREAM "\xf3\xb0\x95\xb5" // U+F0575 view-stream, tags: View -#define ICON_MD_VIEW_STREAM_OUTLINE "\xf3\xb1\x92\x90" // U+F1490 view-stream-outline, tags: View -#define ICON_MD_VIEW_WEEK "\xf3\xb0\x95\xb6" // U+F0576 view-week, tags: View -#define ICON_MD_VIEW_WEEK_OUTLINE "\xf3\xb1\x92\x91" // U+F1491 view-week-outline, tags: View -#define ICON_MD_VIMEO "\xf3\xb0\x95\xb7" // U+F0577 vimeo, tags: Brand / Logo -#define ICON_MD_VIOLIN "\xf3\xb0\x98\x8f" // U+F060F violin, tags: Music -#define ICON_MD_VIRTUAL_REALITY "\xf3\xb0\xa2\x94" // U+F0894 virtual-reality, aliases: vr -#define ICON_MD_VIRUS "\xf3\xb1\x8e\xb6" // U+F13B6 virus, tags: Science, Medical / Hospital -#define ICON_MD_VIRUS_OFF "\xf3\xb1\xa3\xa1" // U+F18E1 virus-off, tags: Science -#define ICON_MD_VIRUS_OFF_OUTLINE "\xf3\xb1\xa3\xa2" // U+F18E2 virus-off-outline, tags: Science -#define ICON_MD_VIRUS_OUTLINE "\xf3\xb1\x8e\xb7" // U+F13B7 virus-outline, tags: Science, Medical / Hospital -#define ICON_MD_VLC "\xf3\xb0\x95\xbc" // U+F057C vlc, tags: Brand / Logo -#define ICON_MD_VOICEMAIL "\xf3\xb0\x95\xbd" // U+F057D voicemail -#define ICON_MD_VOLCANO "\xf3\xb1\xaa\x83" // U+F1A83 volcano, aliases: eruption, tags: Nature -#define ICON_MD_VOLCANO_OUTLINE "\xf3\xb1\xaa\x84" // U+F1A84 volcano-outline, aliases: eruption-outline, tags: Nature -#define ICON_MD_VOLLEYBALL "\xf3\xb0\xa6\xb4" // U+F09B4 volleyball, tags: Sport -#define ICON_MD_VOLUME_EQUAL "\xf3\xb1\xac\x90" // U+F1B10 volume-equal, tags: Audio -#define ICON_MD_VOLUME_HIGH "\xf3\xb0\x95\xbe" // U+F057E volume-high, aliases: audio, speaker, speakerphone, tags: Audio, Home Automation, Cellphone / Phone -#define ICON_MD_VOLUME_LOW "\xf3\xb0\x95\xbf" // U+F057F volume-low, aliases: audio, speaker, tags: Audio, Home Automation, Cellphone / Phone -#define ICON_MD_VOLUME_MEDIUM "\xf3\xb0\x96\x80" // U+F0580 volume-medium, aliases: audio, speaker, tags: Audio, Home Automation, Cellphone / Phone -#define ICON_MD_VOLUME_MINUS "\xf3\xb0\x9d\x9e" // U+F075E volume-minus, aliases: volume-decrease, tags: Audio, Home Automation, Cellphone / Phone -#define ICON_MD_VOLUME_MUTE "\xf3\xb0\x9d\x9f" // U+F075F volume-mute, tags: Audio, Cellphone / Phone -#define ICON_MD_VOLUME_OFF "\xf3\xb0\x96\x81" // U+F0581 volume-off, aliases: mute, audio-off, speaker-off, speakerphone-off, tags: Audio, Home Automation, Cellphone / Phone -#define ICON_MD_VOLUME_PLUS "\xf3\xb0\x9d\x9d" // U+F075D volume-plus, aliases: volume-increase, tags: Audio, Home Automation, Cellphone / Phone -#define ICON_MD_VOLUME_SOURCE "\xf3\xb1\x84\xa0" // U+F1120 volume-source, tags: Cellphone / Phone, Audio -#define ICON_MD_VOLUME_VARIANT_OFF "\xf3\xb0\xb8\x88" // U+F0E08 volume-variant-off, tags: Audio, Cellphone / Phone -#define ICON_MD_VOLUME_VIBRATE "\xf3\xb1\x84\xa1" // U+F1121 volume-vibrate, tags: Cellphone / Phone, Audio -#define ICON_MD_VOTE "\xf3\xb0\xa8\x9f" // U+F0A1F vote, aliases: how-to-vote -#define ICON_MD_VOTE_OUTLINE "\xf3\xb0\xa8\xa0" // U+F0A20 vote-outline, aliases: how-to-vote-outline -#define ICON_MD_VPN "\xf3\xb0\x96\x82" // U+F0582 vpn, aliases: virtual-private-network -#define ICON_MD_VUEJS "\xf3\xb0\xa1\x84" // U+F0844 vuejs, aliases: vue-js, tags: Brand / Logo, Developer / Languages -#define ICON_MD_VUETIFY "\xf3\xb0\xb9\xad" // U+F0E6D vuetify, tags: Brand / Logo -#define ICON_MD_WALK "\xf3\xb0\x96\x83" // U+F0583 walk, aliases: directions-walk, walker, walking, human-walk, tags: Sport, Transportation + Other, People / Family -#define ICON_MD_WALL "\xf3\xb0\x9f\xbe" // U+F07FE wall, aliases: bricks -#define ICON_MD_WALL_FIRE "\xf3\xb1\xa8\x91" // U+F1A11 wall-fire, aliases: firewall, tags: Device / Tech -#define ICON_MD_WALL_SCONCE "\xf3\xb0\xa4\x9c" // U+F091C wall-sconce, tags: Home Automation -#define ICON_MD_WALL_SCONCE_FLAT "\xf3\xb0\xa4\x9d" // U+F091D wall-sconce-flat, aliases: ceiling-light-flat, pot-light-flat, tags: Home Automation -#define ICON_MD_WALL_SCONCE_FLAT_OUTLINE "\xf3\xb1\x9f\x89" // U+F17C9 wall-sconce-flat-outline, tags: Home Automation -#define ICON_MD_WALL_SCONCE_FLAT_VARIANT "\xf3\xb0\x90\x9c" // U+F041C wall-sconce-flat-variant, aliases: pot-light-flat-variant, tags: Home Automation -#define ICON_MD_WALL_SCONCE_FLAT_VARIANT_OUTLINE "\xf3\xb1\x9f\x8a" // U+F17CA wall-sconce-flat-variant-outline, tags: Home Automation -#define ICON_MD_WALL_SCONCE_OUTLINE "\xf3\xb1\x9f\x8b" // U+F17CB wall-sconce-outline, tags: Home Automation -#define ICON_MD_WALL_SCONCE_ROUND "\xf3\xb0\x9d\x88" // U+F0748 wall-sconce-round, aliases: pot-light-round, tags: Home Automation -#define ICON_MD_WALL_SCONCE_ROUND_OUTLINE "\xf3\xb1\x9f\x8c" // U+F17CC wall-sconce-round-outline, tags: Home Automation -#define ICON_MD_WALL_SCONCE_ROUND_VARIANT "\xf3\xb0\xa4\x9e" // U+F091E wall-sconce-round-variant, aliases: pot-light-round-variant, tags: Home Automation -#define ICON_MD_WALL_SCONCE_ROUND_VARIANT_OUTLINE "\xf3\xb1\x9f\x8d" // U+F17CD wall-sconce-round-variant-outline, tags: Home Automation -#define ICON_MD_WALLET "\xf3\xb0\x96\x84" // U+F0584 wallet, aliases: account-balance-wallet, tags: Currency, Banking -#define ICON_MD_WALLET_GIFTCARD "\xf3\xb0\x96\x85" // U+F0585 wallet-giftcard, aliases: card-giftcard, redeem, tags: Shopping, Banking -#define ICON_MD_WALLET_MEMBERSHIP "\xf3\xb0\x96\x86" // U+F0586 wallet-membership, aliases: card-membership -#define ICON_MD_WALLET_OUTLINE "\xf3\xb0\xaf\x9d" // U+F0BDD wallet-outline, aliases: account-balance-wallet-outline, tags: Currency, Banking -#define ICON_MD_WALLET_PLUS "\xf3\xb0\xbe\x8e" // U+F0F8E wallet-plus, aliases: wallet-add, tags: Banking -#define ICON_MD_WALLET_PLUS_OUTLINE "\xf3\xb0\xbe\x8f" // U+F0F8F wallet-plus-outline, aliases: wallet-add-outline, tags: Banking -#define ICON_MD_WALLET_TRAVEL "\xf3\xb0\x96\x87" // U+F0587 wallet-travel, aliases: card-travel -#define ICON_MD_WALLPAPER "\xf3\xb0\xb8\x89" // U+F0E09 wallpaper -#define ICON_MD_WAN "\xf3\xb0\x96\x88" // U+F0588 wan, aliases: wide-area-network -#define ICON_MD_WARDROBE "\xf3\xb0\xbe\x90" // U+F0F90 wardrobe, aliases: closet, tags: Home Automation -#define ICON_MD_WARDROBE_OUTLINE "\xf3\xb0\xbe\x91" // U+F0F91 wardrobe-outline, aliases: closet-outline, tags: Home Automation -#define ICON_MD_WAREHOUSE "\xf3\xb0\xbe\x81" // U+F0F81 warehouse, tags: Places -#define ICON_MD_WASHING_MACHINE "\xf3\xb0\x9c\xaa" // U+F072A washing-machine, aliases: laundrette, local-laundry-service, laundry-room, tags: Home Automation -#define ICON_MD_WASHING_MACHINE_ALERT "\xf3\xb1\x86\xbc" // U+F11BC washing-machine-alert, aliases: laundry-room-alert, tags: Home Automation, Alert / Error -#define ICON_MD_WASHING_MACHINE_OFF "\xf3\xb1\x86\xbd" // U+F11BD washing-machine-off, aliases: laundry-room-off, tags: Home Automation -#define ICON_MD_WATCH "\xf3\xb0\x96\x89" // U+F0589 watch, tags: Device / Tech -#define ICON_MD_WATCH_EXPORT "\xf3\xb0\x96\x8a" // U+F058A watch-export, tags: Device / Tech -#define ICON_MD_WATCH_EXPORT_VARIANT "\xf3\xb0\xa2\x95" // U+F0895 watch-export-variant, tags: Device / Tech -#define ICON_MD_WATCH_IMPORT "\xf3\xb0\x96\x8b" // U+F058B watch-import, tags: Device / Tech -#define ICON_MD_WATCH_IMPORT_VARIANT "\xf3\xb0\xa2\x96" // U+F0896 watch-import-variant, tags: Device / Tech -#define ICON_MD_WATCH_VARIANT "\xf3\xb0\xa2\x97" // U+F0897 watch-variant, tags: Device / Tech -#define ICON_MD_WATCH_VIBRATE "\xf3\xb0\x9a\xb1" // U+F06B1 watch-vibrate, tags: Device / Tech -#define ICON_MD_WATCH_VIBRATE_OFF "\xf3\xb0\xb3\x9a" // U+F0CDA watch-vibrate-off, tags: Device / Tech -#define ICON_MD_WATER "\xf3\xb0\x96\x8c" // U+F058C water, aliases: drop, blood, water-drop, trans-fat, ink, tags: Home Automation, Health / Beauty, Food / Drink, Weather -#define ICON_MD_WATER_ALERT "\xf3\xb1\x94\x82" // U+F1502 water-alert, aliases: drop-alert, blood-alert, ink-alert, tags: Alert / Error -#define ICON_MD_WATER_ALERT_OUTLINE "\xf3\xb1\x94\x83" // U+F1503 water-alert-outline, aliases: drop-alert-outline, blood-alert-outline, ink-alert-outline, tags: Alert / Error -#define ICON_MD_WATER_BOILER "\xf3\xb0\xbe\x92" // U+F0F92 water-boiler, aliases: water-heater, gas-water-boiler, electric-water-boiler, gas-water-heater, electric-water-heater, tags: Home Automation -#define ICON_MD_WATER_BOILER_ALERT "\xf3\xb1\x86\xb3" // U+F11B3 water-boiler-alert, aliases: water-heater-alert, water-boiler-error, water-heater-error, tags: Home Automation, Alert / Error -#define ICON_MD_WATER_BOILER_AUTO "\xf3\xb1\xae\x98" // U+F1B98 water-boiler-auto, aliases: water-heater-auto, tags: Home Automation -#define ICON_MD_WATER_BOILER_OFF "\xf3\xb1\x86\xb4" // U+F11B4 water-boiler-off, aliases: water-heater-off, tags: Home Automation -#define ICON_MD_WATER_CHECK "\xf3\xb1\x94\x84" // U+F1504 water-check, aliases: drop-check, blood-check, ink-check -#define ICON_MD_WATER_CHECK_OUTLINE "\xf3\xb1\x94\x85" // U+F1505 water-check-outline, aliases: drop-check-outline, blood-check-outline, ink-check-outline -#define ICON_MD_WATER_CIRCLE "\xf3\xb1\xa0\x86" // U+F1806 water-circle, aliases: drop-circle, blood-circle, ink-circle, tags: Home Automation -#define ICON_MD_WATER_MINUS "\xf3\xb1\x94\x86" // U+F1506 water-minus, aliases: drop-minus, blood-minus, ink-minus -#define ICON_MD_WATER_MINUS_OUTLINE "\xf3\xb1\x94\x87" // U+F1507 water-minus-outline, aliases: drop-minus-outline, blood-minus-outline, ink-minus-outline -#define ICON_MD_WATER_OFF "\xf3\xb0\x96\x8d" // U+F058D water-off, aliases: format-color-reset, trans-fat-off, blood-off, ink-off -#define ICON_MD_WATER_OFF_OUTLINE "\xf3\xb1\x94\x88" // U+F1508 water-off-outline, aliases: drop-off-outline, blood-off-outline, trans-fat-off-outline, ink-off-outline -#define ICON_MD_WATER_OPACITY "\xf3\xb1\xa1\x95" // U+F1855 water-opacity, aliases: water-transparent, water-saver, blood-saver, blood-transparent, oil-saver, oil-transparent, drop-transparent, drop-saver, tags: Home Automation, Drawing / Art, Weather -#define ICON_MD_WATER_OUTLINE "\xf3\xb0\xb8\x8a" // U+F0E0A water-outline, aliases: drop-outline, blood-outline, water-drop-outline, ink-outline, tags: Home Automation, Weather -#define ICON_MD_WATER_PERCENT "\xf3\xb0\x96\x8e" // U+F058E water-percent, aliases: humidity, ink-percent, tags: Weather, Home Automation, Nature -#define ICON_MD_WATER_PERCENT_ALERT "\xf3\xb1\x94\x89" // U+F1509 water-percent-alert, aliases: humidity-alert, ink-percent-alert, tags: Alert / Error, Nature -#define ICON_MD_WATER_PLUS "\xf3\xb1\x94\x8a" // U+F150A water-plus, aliases: drop-plus, blood-plus, ink-plus -#define ICON_MD_WATER_PLUS_OUTLINE "\xf3\xb1\x94\x8b" // U+F150B water-plus-outline, aliases: drop-plus-outline, blood-plus-outline, ink-plus-outline -#define ICON_MD_WATER_POLO "\xf3\xb1\x8a\xa0" // U+F12A0 water-polo, tags: Sport -#define ICON_MD_WATER_PUMP "\xf3\xb0\x96\x8f" // U+F058F water-pump, aliases: tap, kitchen-tap, faucet, tags: Agriculture, Home Automation -#define ICON_MD_WATER_PUMP_OFF "\xf3\xb0\xbe\x93" // U+F0F93 water-pump-off, aliases: tap-off, kitchen-tap-off, faucet-off, tags: Agriculture, Home Automation -#define ICON_MD_WATER_REMOVE "\xf3\xb1\x94\x8c" // U+F150C water-remove, aliases: drop-remove, blood-remove, ink-remove -#define ICON_MD_WATER_REMOVE_OUTLINE "\xf3\xb1\x94\x8d" // U+F150D water-remove-outline, aliases: drop-remove-outline, blood-remove-outline, ink-remove-outline -#define ICON_MD_WATER_SYNC "\xf3\xb1\x9f\x86" // U+F17C6 water-sync, aliases: water-recycle, water-reuse, tags: Agriculture -#define ICON_MD_WATER_THERMOMETER "\xf3\xb1\xaa\x85" // U+F1A85 water-thermometer, aliases: boil-point, water-temperature, dew-point, tags: Weather, Home Automation -#define ICON_MD_WATER_THERMOMETER_OUTLINE "\xf3\xb1\xaa\x86" // U+F1A86 water-thermometer-outline, aliases: dew-point-outline, water-temperature-outline, boil-point-outline, tags: Weather, Home Automation -#define ICON_MD_WATER_WELL "\xf3\xb1\x81\xab" // U+F106B water-well -#define ICON_MD_WATER_WELL_OUTLINE "\xf3\xb1\x81\xac" // U+F106C water-well-outline -#define ICON_MD_WATERFALL "\xf3\xb1\xa1\x89" // U+F1849 waterfall, tags: Home Automation, Nature -#define ICON_MD_WATERING_CAN "\xf3\xb1\x92\x81" // U+F1481 watering-can, aliases: watering-pot, tags: Agriculture -#define ICON_MD_WATERING_CAN_OUTLINE "\xf3\xb1\x92\x82" // U+F1482 watering-can-outline, aliases: watering-pot-outline, tags: Agriculture -#define ICON_MD_WATERMARK "\xf3\xb0\x98\x92" // U+F0612 watermark, aliases: branding-watermark -#define ICON_MD_WAVE "\xf3\xb0\xbc\xae" // U+F0F2E wave, aliases: water, tags: Transportation + Water -#define ICON_MD_WAVEFORM "\xf3\xb1\x91\xbd" // U+F147D waveform, tags: Audio -#define ICON_MD_WAVES "\xf3\xb0\x9e\x8d" // U+F078D waves, aliases: ocean, lake, flood, water, tags: Weather, Transportation + Water -#define ICON_MD_WAVES_ARROW_LEFT "\xf3\xb1\xa1\x99" // U+F1859 waves-arrow-left, aliases: tide-in, water-flow, tags: Nature, Weather -#define ICON_MD_WAVES_ARROW_RIGHT "\xf3\xb1\xa1\x9a" // U+F185A waves-arrow-right, aliases: tide-out, water-flow, tags: Nature, Weather -#define ICON_MD_WAVES_ARROW_UP "\xf3\xb1\xa1\x9b" // U+F185B waves-arrow-up, aliases: water-evaporation, humidity, sea-level-rise, ocean-level-rise, climate-change, tags: Nature, Weather -#define ICON_MD_WAZE "\xf3\xb0\xaf\x9e" // U+F0BDE waze, tags: Brand / Logo -#define ICON_MD_WEATHER_CLOUDY "\xf3\xb0\x96\x90" // U+F0590 weather-cloudy, tags: Weather, Cloud -#define ICON_MD_WEATHER_CLOUDY_ALERT "\xf3\xb0\xbc\xaf" // U+F0F2F weather-cloudy-alert, tags: Weather, Alert / Error, Cloud -#define ICON_MD_WEATHER_CLOUDY_ARROW_RIGHT "\xf3\xb0\xb9\xae" // U+F0E6E weather-cloudy-arrow-right, tags: Weather, Cloud -#define ICON_MD_WEATHER_CLOUDY_CLOCK "\xf3\xb1\xa3\xb6" // U+F18F6 weather-cloudy-clock, aliases: weather-history, weather-time, weather-date, tags: Weather, Cloud -#define ICON_MD_WEATHER_DUST "\xf3\xb1\xad\x9a" // U+F1B5A weather-dust, aliases: dust-storm, windy, tags: Weather -#define ICON_MD_WEATHER_FOG "\xf3\xb0\x96\x91" // U+F0591 weather-fog, aliases: weather-mist, tags: Weather -#define ICON_MD_WEATHER_HAIL "\xf3\xb0\x96\x92" // U+F0592 weather-hail, tags: Weather -#define ICON_MD_WEATHER_HAZY "\xf3\xb0\xbc\xb0" // U+F0F30 weather-hazy, tags: Weather -#define ICON_MD_WEATHER_HURRICANE "\xf3\xb0\xa2\x98" // U+F0898 weather-hurricane, aliases: cyclone, tags: Weather, Nature -#define ICON_MD_WEATHER_LIGHTNING "\xf3\xb0\x96\x93" // U+F0593 weather-lightning, aliases: weather-storm, weather-thunder, weather-flash, tags: Weather -#define ICON_MD_WEATHER_LIGHTNING_RAINY "\xf3\xb0\x99\xbe" // U+F067E weather-lightning-rainy, aliases: weather-thunder-rainy, weather-storm, tags: Weather -#define ICON_MD_WEATHER_NIGHT "\xf3\xb0\x96\x94" // U+F0594 weather-night, aliases: moon-and-stars, night-sky, tags: Weather, Holiday -#define ICON_MD_WEATHER_NIGHT_PARTLY_CLOUDY "\xf3\xb0\xbc\xb1" // U+F0F31 weather-night-partly-cloudy, tags: Weather, Cloud -#define ICON_MD_WEATHER_PARTLY_CLOUDY "\xf3\xb0\x96\x95" // U+F0595 weather-partly-cloudy, aliases: weather-partlycloudy, tags: Weather, Cloud -#define ICON_MD_WEATHER_PARTLY_LIGHTNING "\xf3\xb0\xbc\xb2" // U+F0F32 weather-partly-lightning, tags: Weather -#define ICON_MD_WEATHER_PARTLY_RAINY "\xf3\xb0\xbc\xb3" // U+F0F33 weather-partly-rainy, tags: Weather -#define ICON_MD_WEATHER_PARTLY_SNOWY "\xf3\xb0\xbc\xb4" // U+F0F34 weather-partly-snowy, tags: Weather -#define ICON_MD_WEATHER_PARTLY_SNOWY_RAINY "\xf3\xb0\xbc\xb5" // U+F0F35 weather-partly-snowy-rainy, tags: Weather -#define ICON_MD_WEATHER_POURING "\xf3\xb0\x96\x96" // U+F0596 weather-pouring, aliases: weather-heavy-rain, tags: Weather -#define ICON_MD_WEATHER_RAINY "\xf3\xb0\x96\x97" // U+F0597 weather-rainy, aliases: weather-drizzle, weather-spitting, tags: Weather -#define ICON_MD_WEATHER_SNOWY "\xf3\xb0\x96\x98" // U+F0598 weather-snowy, tags: Weather -#define ICON_MD_WEATHER_SNOWY_HEAVY "\xf3\xb0\xbc\xb6" // U+F0F36 weather-snowy-heavy, aliases: flurries, tags: Weather -#define ICON_MD_WEATHER_SNOWY_RAINY "\xf3\xb0\x99\xbf" // U+F067F weather-snowy-rainy, aliases: weather-sleet, tags: Weather -#define ICON_MD_WEATHER_SUNNY "\xf3\xb0\x96\x99" // U+F0599 weather-sunny, tags: Weather -#define ICON_MD_WEATHER_SUNNY_ALERT "\xf3\xb0\xbc\xb7" // U+F0F37 weather-sunny-alert, aliases: heat-alert, heat-advisory, sun-advisory, tags: Weather, Alert / Error, Home Automation -#define ICON_MD_WEATHER_SUNNY_OFF "\xf3\xb1\x93\xa4" // U+F14E4 weather-sunny-off, tags: Weather -#define ICON_MD_WEATHER_SUNSET "\xf3\xb0\x96\x9a" // U+F059A weather-sunset, tags: Weather -#define ICON_MD_WEATHER_SUNSET_DOWN "\xf3\xb0\x96\x9b" // U+F059B weather-sunset-down, tags: Weather -#define ICON_MD_WEATHER_SUNSET_UP "\xf3\xb0\x96\x9c" // U+F059C weather-sunset-up, aliases: sunrise, tags: Weather -#define ICON_MD_WEATHER_TORNADO "\xf3\xb0\xbc\xb8" // U+F0F38 weather-tornado, tags: Weather -#define ICON_MD_WEATHER_WINDY "\xf3\xb0\x96\x9d" // U+F059D weather-windy, tags: Weather -#define ICON_MD_WEATHER_WINDY_VARIANT "\xf3\xb0\x96\x9e" // U+F059E weather-windy-variant, tags: Weather -#define ICON_MD_WEB "\xf3\xb0\x96\x9f" // U+F059F web, aliases: language, globe, internet, world-wide-web, tags: Geographic Information System -#define ICON_MD_WEB_BOX "\xf3\xb0\xbe\x94" // U+F0F94 web-box, aliases: language-box, globe-box, internet-box, tags: Geographic Information System -#define ICON_MD_WEB_CANCEL "\xf3\xb1\x9e\x90" // U+F1790 web-cancel -#define ICON_MD_WEB_CHECK "\xf3\xb0\x9e\x89" // U+F0789 web-check -#define ICON_MD_WEB_CLOCK "\xf3\xb1\x89\x8a" // U+F124A web-clock, tags: Date / Time -#define ICON_MD_WEB_MINUS "\xf3\xb1\x82\xa0" // U+F10A0 web-minus -#define ICON_MD_WEB_OFF "\xf3\xb0\xaa\x8e" // U+F0A8E web-off -#define ICON_MD_WEB_PLUS "\xf3\xb0\x80\xb3" // U+F0033 web-plus -#define ICON_MD_WEB_REFRESH "\xf3\xb1\x9e\x91" // U+F1791 web-refresh -#define ICON_MD_WEB_REMOVE "\xf3\xb0\x95\x91" // U+F0551 web-remove -#define ICON_MD_WEB_SYNC "\xf3\xb1\x9e\x92" // U+F1792 web-sync -#define ICON_MD_WEBCAM "\xf3\xb0\x96\xa0" // U+F05A0 webcam, aliases: web-camera, tags: Video / Movie, Home Automation -#define ICON_MD_WEBCAM_OFF "\xf3\xb1\x9c\xb7" // U+F1737 webcam-off -#define ICON_MD_WEBHOOK "\xf3\xb0\x98\xaf" // U+F062F webhook -#define ICON_MD_WEBPACK "\xf3\xb0\x9c\xab" // U+F072B webpack, tags: Brand / Logo, Developer / Languages -#define ICON_MD_WEBRTC "\xf3\xb1\x89\x88" // U+F1248 webrtc, tags: Brand / Logo -#define ICON_MD_WECHAT "\xf3\xb0\x98\x91" // U+F0611 wechat, tags: Brand / Logo -#define ICON_MD_WEIGHT "\xf3\xb0\x96\xa1" // U+F05A1 weight -#define ICON_MD_WEIGHT_GRAM "\xf3\xb0\xb4\xbf" // U+F0D3F weight-gram -#define ICON_MD_WEIGHT_KILOGRAM "\xf3\xb0\x96\xa2" // U+F05A2 weight-kilogram, aliases: weight-kg -#define ICON_MD_WEIGHT_LIFTER "\xf3\xb1\x85\x9d" // U+F115D weight-lifter, aliases: crossfit, gym, fitness-center, human-barbell, tags: Sport, People / Family -#define ICON_MD_WEIGHT_POUND "\xf3\xb0\xa6\xb5" // U+F09B5 weight-pound, aliases: weight-lb -#define ICON_MD_WHATSAPP "\xf3\xb0\x96\xa3" // U+F05A3 whatsapp, tags: Brand / Logo -#define ICON_MD_WHEEL_BARROW "\xf3\xb1\x93\xb2" // U+F14F2 wheel-barrow, tags: Hardware / Tools -#define ICON_MD_WHEELCHAIR "\xf3\xb1\xaa\x87" // U+F1A87 wheelchair, aliases: accessible, isa, international-symbol-of-access, tags: Medical / Hospital, People / Family -#define ICON_MD_WHEELCHAIR_ACCESSIBILITY "\xf3\xb0\x96\xa4" // U+F05A4 wheelchair-accessibility, aliases: accessible, tags: Medical / Hospital -#define ICON_MD_WHISTLE "\xf3\xb0\xa6\xb6" // U+F09B6 whistle, tags: Sport -#define ICON_MD_WHISTLE_OUTLINE "\xf3\xb1\x8a\xbc" // U+F12BC whistle-outline, tags: Sport -#define ICON_MD_WHITE_BALANCE_AUTO "\xf3\xb0\x96\xa5" // U+F05A5 white-balance-auto, aliases: wb-auto, tags: Photography -#define ICON_MD_WHITE_BALANCE_INCANDESCENT "\xf3\xb0\x96\xa6" // U+F05A6 white-balance-incandescent, aliases: wb-incandescent, tags: Photography -#define ICON_MD_WHITE_BALANCE_IRIDESCENT "\xf3\xb0\x96\xa7" // U+F05A7 white-balance-iridescent, aliases: wb-iridescent, tags: Photography -#define ICON_MD_WHITE_BALANCE_SUNNY "\xf3\xb0\x96\xa8" // U+F05A8 white-balance-sunny, aliases: wb-sunny, tags: Photography -#define ICON_MD_WIDGETS "\xf3\xb0\x9c\xac" // U+F072C widgets -#define ICON_MD_WIDGETS_OUTLINE "\xf3\xb1\x8d\x95" // U+F1355 widgets-outline -#define ICON_MD_WIFI "\xf3\xb0\x96\xa9" // U+F05A9 wifi -#define ICON_MD_WIFI_ALERT "\xf3\xb1\x9a\xb5" // U+F16B5 wifi-alert, tags: Alert / Error -#define ICON_MD_WIFI_ARROW_DOWN "\xf3\xb1\x9a\xb6" // U+F16B6 wifi-arrow-down -#define ICON_MD_WIFI_ARROW_LEFT "\xf3\xb1\x9a\xb7" // U+F16B7 wifi-arrow-left -#define ICON_MD_WIFI_ARROW_LEFT_RIGHT "\xf3\xb1\x9a\xb8" // U+F16B8 wifi-arrow-left-right -#define ICON_MD_WIFI_ARROW_RIGHT "\xf3\xb1\x9a\xb9" // U+F16B9 wifi-arrow-right -#define ICON_MD_WIFI_ARROW_UP "\xf3\xb1\x9a\xba" // U+F16BA wifi-arrow-up -#define ICON_MD_WIFI_ARROW_UP_DOWN "\xf3\xb1\x9a\xbb" // U+F16BB wifi-arrow-up-down -#define ICON_MD_WIFI_CANCEL "\xf3\xb1\x9a\xbc" // U+F16BC wifi-cancel -#define ICON_MD_WIFI_CHECK "\xf3\xb1\x9a\xbd" // U+F16BD wifi-check -#define ICON_MD_WIFI_COG "\xf3\xb1\x9a\xbe" // U+F16BE wifi-cog -#define ICON_MD_WIFI_LOCK "\xf3\xb1\x9a\xbf" // U+F16BF wifi-lock, tags: Lock -#define ICON_MD_WIFI_LOCK_OPEN "\xf3\xb1\x9b\x80" // U+F16C0 wifi-lock-open, tags: Lock -#define ICON_MD_WIFI_MARKER "\xf3\xb1\x9b\x81" // U+F16C1 wifi-marker, aliases: wifi-location, tags: Navigation -#define ICON_MD_WIFI_MINUS "\xf3\xb1\x9b\x82" // U+F16C2 wifi-minus -#define ICON_MD_WIFI_OFF "\xf3\xb0\x96\xaa" // U+F05AA wifi-off -#define ICON_MD_WIFI_PLUS "\xf3\xb1\x9b\x83" // U+F16C3 wifi-plus -#define ICON_MD_WIFI_REFRESH "\xf3\xb1\x9b\x84" // U+F16C4 wifi-refresh -#define ICON_MD_WIFI_REMOVE "\xf3\xb1\x9b\x85" // U+F16C5 wifi-remove -#define ICON_MD_WIFI_SETTINGS "\xf3\xb1\x9b\x86" // U+F16C6 wifi-settings, tags: Settings -#define ICON_MD_WIFI_STAR "\xf3\xb0\xb8\x8b" // U+F0E0B wifi-star, aliases: wifi-favourite, network-favourite, wifi-favorite, network-favorite -#define ICON_MD_WIFI_STRENGTH_1 "\xf3\xb0\xa4\x9f" // U+F091F wifi-strength-1 -#define ICON_MD_WIFI_STRENGTH_1_ALERT "\xf3\xb0\xa4\xa0" // U+F0920 wifi-strength-1-alert, aliases: wifi-strength-1-warning, tags: Alert / Error -#define ICON_MD_WIFI_STRENGTH_1_LOCK "\xf3\xb0\xa4\xa1" // U+F0921 wifi-strength-1-lock, tags: Lock -#define ICON_MD_WIFI_STRENGTH_1_LOCK_OPEN "\xf3\xb1\x9b\x8b" // U+F16CB wifi-strength-1-lock-open, tags: Lock -#define ICON_MD_WIFI_STRENGTH_2 "\xf3\xb0\xa4\xa2" // U+F0922 wifi-strength-2 -#define ICON_MD_WIFI_STRENGTH_2_ALERT "\xf3\xb0\xa4\xa3" // U+F0923 wifi-strength-2-alert, aliases: wifi-strength-2-warning, tags: Alert / Error -#define ICON_MD_WIFI_STRENGTH_2_LOCK "\xf3\xb0\xa4\xa4" // U+F0924 wifi-strength-2-lock, tags: Lock -#define ICON_MD_WIFI_STRENGTH_2_LOCK_OPEN "\xf3\xb1\x9b\x8c" // U+F16CC wifi-strength-2-lock-open, tags: Lock -#define ICON_MD_WIFI_STRENGTH_3 "\xf3\xb0\xa4\xa5" // U+F0925 wifi-strength-3 -#define ICON_MD_WIFI_STRENGTH_3_ALERT "\xf3\xb0\xa4\xa6" // U+F0926 wifi-strength-3-alert, aliases: wifi-strength-3-warning, tags: Alert / Error -#define ICON_MD_WIFI_STRENGTH_3_LOCK "\xf3\xb0\xa4\xa7" // U+F0927 wifi-strength-3-lock, tags: Lock -#define ICON_MD_WIFI_STRENGTH_3_LOCK_OPEN "\xf3\xb1\x9b\x8d" // U+F16CD wifi-strength-3-lock-open, tags: Lock -#define ICON_MD_WIFI_STRENGTH_4 "\xf3\xb0\xa4\xa8" // U+F0928 wifi-strength-4 -#define ICON_MD_WIFI_STRENGTH_4_ALERT "\xf3\xb0\xa4\xa9" // U+F0929 wifi-strength-4-alert, aliases: wifi-strength-4-warning, tags: Alert / Error -#define ICON_MD_WIFI_STRENGTH_4_LOCK "\xf3\xb0\xa4\xaa" // U+F092A wifi-strength-4-lock, tags: Lock -#define ICON_MD_WIFI_STRENGTH_4_LOCK_OPEN "\xf3\xb1\x9b\x8e" // U+F16CE wifi-strength-4-lock-open, tags: Lock -#define ICON_MD_WIFI_STRENGTH_ALERT_OUTLINE "\xf3\xb0\xa4\xab" // U+F092B wifi-strength-alert-outline, aliases: wifi-strength-warning-outline, wifi-strength-0-alert, wifi-strength-0-warning, tags: Alert / Error -#define ICON_MD_WIFI_STRENGTH_LOCK_OPEN_OUTLINE "\xf3\xb1\x9b\x8f" // U+F16CF wifi-strength-lock-open-outline, tags: Lock -#define ICON_MD_WIFI_STRENGTH_LOCK_OUTLINE "\xf3\xb0\xa4\xac" // U+F092C wifi-strength-lock-outline, aliases: wifi-strength-0-lock, tags: Lock -#define ICON_MD_WIFI_STRENGTH_OFF "\xf3\xb0\xa4\xad" // U+F092D wifi-strength-off -#define ICON_MD_WIFI_STRENGTH_OFF_OUTLINE "\xf3\xb0\xa4\xae" // U+F092E wifi-strength-off-outline -#define ICON_MD_WIFI_STRENGTH_OUTLINE "\xf3\xb0\xa4\xaf" // U+F092F wifi-strength-outline, aliases: wifi-strength-0 -#define ICON_MD_WIFI_SYNC "\xf3\xb1\x9b\x87" // U+F16C7 wifi-sync -#define ICON_MD_WIKIPEDIA "\xf3\xb0\x96\xac" // U+F05AC wikipedia, tags: Brand / Logo -#define ICON_MD_WIND_POWER "\xf3\xb1\xaa\x88" // U+F1A88 wind-power, aliases: wind-energy, wind-electricity, tags: Home Automation -#define ICON_MD_WIND_POWER_OUTLINE "\xf3\xb1\xaa\x89" // U+F1A89 wind-power-outline, aliases: wind-energy-outline, wind-electricity-outline, tags: Home Automation -#define ICON_MD_WIND_TURBINE "\xf3\xb0\xb6\xa5" // U+F0DA5 wind-turbine, aliases: wind-power, wind-electricity, tags: Home Automation -#define ICON_MD_WIND_TURBINE_ALERT "\xf3\xb1\xa6\xab" // U+F19AB wind-turbine-alert, aliases: wind-power-alert, wind-turbine-warning, tags: Home Automation, Alert / Error -#define ICON_MD_WIND_TURBINE_CHECK "\xf3\xb1\xa6\xac" // U+F19AC wind-turbine-check, aliases: wind-power-check, wind-turbine-success, wind-power-success, tags: Home Automation -#define ICON_MD_WINDOW_CLOSE "\xf3\xb0\x96\xad" // U+F05AD window-close, aliases: cancel, close -#define ICON_MD_WINDOW_CLOSED "\xf3\xb0\x96\xae" // U+F05AE window-closed, tags: Home Automation -#define ICON_MD_WINDOW_CLOSED_VARIANT "\xf3\xb1\x87\x9b" // U+F11DB window-closed-variant, tags: Home Automation -#define ICON_MD_WINDOW_MAXIMIZE "\xf3\xb0\x96\xaf" // U+F05AF window-maximize -#define ICON_MD_WINDOW_MINIMIZE "\xf3\xb0\x96\xb0" // U+F05B0 window-minimize -#define ICON_MD_WINDOW_OPEN "\xf3\xb0\x96\xb1" // U+F05B1 window-open, tags: Home Automation -#define ICON_MD_WINDOW_OPEN_VARIANT "\xf3\xb1\x87\x9c" // U+F11DC window-open-variant, tags: Home Automation -#define ICON_MD_WINDOW_RESTORE "\xf3\xb0\x96\xb2" // U+F05B2 window-restore -#define ICON_MD_WINDOW_SHUTTER "\xf3\xb1\x84\x9c" // U+F111C window-shutter, tags: Home Automation -#define ICON_MD_WINDOW_SHUTTER_ALERT "\xf3\xb1\x84\x9d" // U+F111D window-shutter-alert, tags: Home Automation, Alert / Error -#define ICON_MD_WINDOW_SHUTTER_AUTO "\xf3\xb1\xae\xa3" // U+F1BA3 window-shutter-auto, tags: Home Automation -#define ICON_MD_WINDOW_SHUTTER_COG "\xf3\xb1\xaa\x8a" // U+F1A8A window-shutter-cog, aliases: window-shutter-settings, tags: Home Automation, Settings -#define ICON_MD_WINDOW_SHUTTER_OPEN "\xf3\xb1\x84\x9e" // U+F111E window-shutter-open, tags: Home Automation -#define ICON_MD_WINDOW_SHUTTER_SETTINGS "\xf3\xb1\xaa\x8b" // U+F1A8B window-shutter-settings, tags: Home Automation, Settings -#define ICON_MD_WINDSOCK "\xf3\xb1\x97\xba" // U+F15FA windsock, tags: Weather -#define ICON_MD_WIPER "\xf3\xb0\xab\xa9" // U+F0AE9 wiper -#define ICON_MD_WIPER_WASH "\xf3\xb0\xb6\xa6" // U+F0DA6 wiper-wash, aliases: wiper-fluid, washer-fluid, tags: Automotive -#define ICON_MD_WIPER_WASH_ALERT "\xf3\xb1\xa3\x9f" // U+F18DF wiper-wash-alert, aliases: wiper-fluid-alert, washer-fluid-alert, wiper-fluid-low, washer-fluid-low, tags: Alert / Error, Automotive -#define ICON_MD_WIZARD_HAT "\xf3\xb1\x91\xb7" // U+F1477 wizard-hat, tags: Clothing, Gaming / RPG -#define ICON_MD_WORDPRESS "\xf3\xb0\x96\xb4" // U+F05B4 wordpress, tags: Brand / Logo -#define ICON_MD_WRAP "\xf3\xb0\x96\xb6" // U+F05B6 wrap -#define ICON_MD_WRAP_DISABLED "\xf3\xb0\xaf\x9f" // U+F0BDF wrap-disabled, aliases: unwrap -#define ICON_MD_WRENCH "\xf3\xb0\x96\xb7" // U+F05B7 wrench, aliases: build, spanner, tags: Hardware / Tools -#define ICON_MD_WRENCH_CHECK "\xf3\xb1\xae\x8f" // U+F1B8F wrench-check -#define ICON_MD_WRENCH_CHECK_OUTLINE "\xf3\xb1\xae\x90" // U+F1B90 wrench-check-outline -#define ICON_MD_WRENCH_CLOCK "\xf3\xb1\xa6\xa3" // U+F19A3 wrench-clock, aliases: scheduled-maintenance, wrench-time, tool-time, tool-clock, tags: Date / Time, Hardware / Tools -#define ICON_MD_WRENCH_CLOCK_OUTLINE "\xf3\xb1\xae\x93" // U+F1B93 wrench-clock-outline -#define ICON_MD_WRENCH_COG "\xf3\xb1\xae\x91" // U+F1B91 wrench-cog, aliases: wrench-settings, tags: Settings -#define ICON_MD_WRENCH_COG_OUTLINE "\xf3\xb1\xae\x92" // U+F1B92 wrench-cog-outline, aliases: wrench-settings-outline, tags: Settings -#define ICON_MD_WRENCH_OUTLINE "\xf3\xb0\xaf\xa0" // U+F0BE0 wrench-outline, aliases: build-outline, spanner-outline, tags: Hardware / Tools -#define ICON_MD_XAMARIN "\xf3\xb0\xa1\x85" // U+F0845 xamarin, aliases: microsoft-xamarin, tags: Brand / Logo -#define ICON_MD_XML "\xf3\xb0\x97\x80" // U+F05C0 xml, aliases: code, tags: Developer / Languages -#define ICON_MD_XMPP "\xf3\xb0\x9f\xbf" // U+F07FF xmpp, tags: Brand / Logo -#define ICON_MD_YAHOO "\xf3\xb0\xad\x8f" // U+F0B4F yahoo, tags: Brand / Logo -#define ICON_MD_YEAST "\xf3\xb0\x97\x81" // U+F05C1 yeast -#define ICON_MD_YIN_YANG "\xf3\xb0\x9a\x80" // U+F0680 yin-yang, aliases: taoism -#define ICON_MD_YOGA "\xf3\xb1\x85\xbc" // U+F117C yoga, tags: Sport -#define ICON_MD_YOUTUBE "\xf3\xb0\x97\x83" // U+F05C3 youtube, aliases: video-youtube, youtube-play, tags: Brand / Logo, Social Media -#define ICON_MD_YOUTUBE_GAMING "\xf3\xb0\xa1\x88" // U+F0848 youtube-gaming, tags: Brand / Logo -#define ICON_MD_YOUTUBE_STUDIO "\xf3\xb0\xa1\x87" // U+F0847 youtube-studio, aliases: youtube-creator-studio, tags: Brand / Logo -#define ICON_MD_YOUTUBE_SUBSCRIPTION "\xf3\xb0\xb5\x80" // U+F0D40 youtube-subscription, tags: Brand / Logo -#define ICON_MD_YOUTUBE_TV "\xf3\xb0\x91\x88" // U+F0448 youtube-tv, tags: Brand / Logo -#define ICON_MD_YURT "\xf3\xb1\x94\x96" // U+F1516 yurt -#define ICON_MD_Z_WAVE "\xf3\xb0\xab\xaa" // U+F0AEA z-wave, aliases: zwave, tags: Home Automation, Brand / Logo -#define ICON_MD_ZEND "\xf3\xb0\xab\xab" // U+F0AEB zend, tags: Developer / Languages, Brand / Logo -#define ICON_MD_ZIGBEE "\xf3\xb0\xb5\x81" // U+F0D41 zigbee, tags: Home Automation, Brand / Logo -#define ICON_MD_ZIP_BOX "\xf3\xb0\x97\x84" // U+F05C4 zip-box, aliases: compressed-file, tags: Files / Folders -#define ICON_MD_ZIP_BOX_OUTLINE "\xf3\xb0\xbf\xba" // U+F0FFA zip-box-outline, aliases: compressed-file-outline, tags: Files / Folders -#define ICON_MD_ZIP_DISK "\xf3\xb0\xa8\xa3" // U+F0A23 zip-disk -#define ICON_MD_ZODIAC_AQUARIUS "\xf3\xb0\xa9\xbd" // U+F0A7D zodiac-aquarius, aliases: horoscope-aquarius -#define ICON_MD_ZODIAC_ARIES "\xf3\xb0\xa9\xbe" // U+F0A7E zodiac-aries, aliases: horoscope-aries -#define ICON_MD_ZODIAC_CANCER "\xf3\xb0\xa9\xbf" // U+F0A7F zodiac-cancer, aliases: horoscope-cancer -#define ICON_MD_ZODIAC_CAPRICORN "\xf3\xb0\xaa\x80" // U+F0A80 zodiac-capricorn, aliases: horoscope-capricorn -#define ICON_MD_ZODIAC_GEMINI "\xf3\xb0\xaa\x81" // U+F0A81 zodiac-gemini, aliases: horoscope-gemini -#define ICON_MD_ZODIAC_LEO "\xf3\xb0\xaa\x82" // U+F0A82 zodiac-leo, aliases: horoscope-leo -#define ICON_MD_ZODIAC_LIBRA "\xf3\xb0\xaa\x83" // U+F0A83 zodiac-libra, aliases: horoscope-libra -#define ICON_MD_ZODIAC_PISCES "\xf3\xb0\xaa\x84" // U+F0A84 zodiac-pisces, aliases: horoscope-pisces -#define ICON_MD_ZODIAC_SAGITTARIUS "\xf3\xb0\xaa\x85" // U+F0A85 zodiac-sagittarius, aliases: horoscope-sagittarius -#define ICON_MD_ZODIAC_SCORPIO "\xf3\xb0\xaa\x86" // U+F0A86 zodiac-scorpio, aliases: horoscope-scorpio -#define ICON_MD_ZODIAC_TAURUS "\xf3\xb0\xaa\x87" // U+F0A87 zodiac-taurus, aliases: horoscope-taurus -#define ICON_MD_ZODIAC_VIRGO "\xf3\xb0\xaa\x88" // U+F0A88 zodiac-virgo, aliases: horoscope-virgo +#define ICON_MD_AB_TESTING "\xf3\xb0\x87\x89" // U+F01C9 ab-testing, tags: Developer / Languages +#define ICON_MD_ABACUS "\xf3\xb1\x9b\xa0" // U+F16E0 abacus, tags: Math +#define ICON_MD_ABJAD_ARABIC "\xf3\xb1\x8c\xa8" // U+F1328 abjad-arabic, aliases: writing-system-arabic, tags: Alpha / Numeric +#define ICON_MD_ABJAD_HEBREW "\xf3\xb1\x8c\xa9" // U+F1329 abjad-hebrew, aliases: writing-system-hebrew, tags: Alpha / Numeric +#define ICON_MD_ABUGIDA_DEVANAGARI "\xf3\xb1\x8c\xaa" // U+F132A abugida-devanagari, aliases: writing-system-devanagari, tags: Alpha / Numeric +#define ICON_MD_ABUGIDA_THAI "\xf3\xb1\x8c\xab" // U+F132B abugida-thai, aliases: writing-system-thai, tags: Alpha / Numeric +#define ICON_MD_ACCESS_POINT "\xf3\xb0\x80\x83" // U+F0003 access-point, aliases: wireless +#define ICON_MD_ACCESS_POINT_CHECK "\xf3\xb1\x94\xb8" // U+F1538 access-point-check +#define ICON_MD_ACCESS_POINT_MINUS "\xf3\xb1\x94\xb9" // U+F1539 access-point-minus +#define ICON_MD_ACCESS_POINT_NETWORK "\xf3\xb0\x80\x82" // U+F0002 access-point-network +#define ICON_MD_ACCESS_POINT_NETWORK_OFF "\xf3\xb0\xaf\xa1" // U+F0BE1 access-point-network-off +#define ICON_MD_ACCESS_POINT_OFF "\xf3\xb1\x94\x91" // U+F1511 access-point-off +#define ICON_MD_ACCESS_POINT_PLUS "\xf3\xb1\x94\xba" // U+F153A access-point-plus +#define ICON_MD_ACCESS_POINT_REMOVE "\xf3\xb1\x94\xbb" // U+F153B access-point-remove +#define ICON_MD_ACCOUNT "\xf3\xb0\x80\x84" // U+F0004 account, aliases: person, user, tags: Account / User, Home Automation +#define ICON_MD_ACCOUNT_ALERT \ + "\xf3\xb0\x80\x85" // U+F0005 account-alert, aliases: user-alert, account-warning, user-warning, person-alert, + // person-warning, tags: Account / User, Alert / Error +#define ICON_MD_ACCOUNT_ALERT_OUTLINE \ + "\xf3\xb0\xad\x90" // U+F0B50 account-alert-outline, aliases: user-alert-outline, account-warning-outline, + // user-warning-outline, person-warning-outline, person-alert-outline, tags: Account / User, + // Alert / Error +#define ICON_MD_ACCOUNT_ARROW_DOWN "\xf3\xb1\xa1\xa8" // U+F1868 account-arrow-down, aliases: account-download, tags: Account / User +#define ICON_MD_ACCOUNT_ARROW_DOWN_OUTLINE "\xf3\xb1\xa1\xa9" // U+F1869 account-arrow-down-outline, aliases: account-download-outline, tags: Account / User +#define ICON_MD_ACCOUNT_ARROW_LEFT "\xf3\xb0\xad\x91" // U+F0B51 account-arrow-left, aliases: user-arrow-left, person-arrow-left, tags: Account / User +#define ICON_MD_ACCOUNT_ARROW_LEFT_OUTLINE \ + "\xf3\xb0\xad\x92" // U+F0B52 account-arrow-left-outline, aliases: user-arrow-left-outline, + // person-arrow-left-outline, tags: Account / User +#define ICON_MD_ACCOUNT_ARROW_RIGHT \ + "\xf3\xb0\xad\x93" // U+F0B53 account-arrow-right, aliases: user-arrow-right, person-arrow-right, tags: Account / + // User +#define ICON_MD_ACCOUNT_ARROW_RIGHT_OUTLINE \ + "\xf3\xb0\xad\x94" // U+F0B54 account-arrow-right-outline, aliases: user-arrow-right-outline, + // person-arrow-right-outline, tags: Account / User +#define ICON_MD_ACCOUNT_ARROW_UP "\xf3\xb1\xa1\xa7" // U+F1867 account-arrow-up, aliases: account-upload, tags: Account / User +#define ICON_MD_ACCOUNT_ARROW_UP_OUTLINE "\xf3\xb1\xa1\xaa" // U+F186A account-arrow-up-outline, aliases: account-upload-outline, tags: Account / User +#define ICON_MD_ACCOUNT_BADGE "\xf3\xb1\xac\x8a" // U+F1B0A account-badge, aliases: account-online, user-online, tags: Account / User +#define ICON_MD_ACCOUNT_BADGE_OUTLINE \ + "\xf3\xb1\xac\x8b" // U+F1B0B account-badge-outline, aliases: user-online-outline, account-online-outline, tags: + // Account / User +#define ICON_MD_ACCOUNT_BOX "\xf3\xb0\x80\x86" // U+F0006 account-box, aliases: selfie, user-box, person-box, contact, tags: Account / User +#define ICON_MD_ACCOUNT_BOX_MULTIPLE \ + "\xf3\xb0\xa4\xb4" // U+F0934 account-box-multiple, aliases: switch-account, user-box-multiple, account-boxes, + // user-boxes, person-box-multiple, person-boxes, tags: Account / User +#define ICON_MD_ACCOUNT_BOX_MULTIPLE_OUTLINE "\xf3\xb1\x80\x8a" // U+F100A account-box-multiple-outline, tags: Account / User +#define ICON_MD_ACCOUNT_BOX_OUTLINE \ + "\xf3\xb0\x80\x87" // U+F0007 account-box-outline, aliases: selfie-outline, user-box-outline, portrait, + // contact-outline, person-box-outline, tags: Account / User +#define ICON_MD_ACCOUNT_CANCEL \ + "\xf3\xb1\x8b\x9f" // U+F12DF account-cancel, aliases: user-cancel, user-block, person-cancel, person-block, tags: + // Account / User +#define ICON_MD_ACCOUNT_CANCEL_OUTLINE \ + "\xf3\xb1\x8b\xa0" // U+F12E0 account-cancel-outline, aliases: user-cancel-outline, user-block-outline, + // person-cancel-outline, person-block-outline, tags: Account / User +#define ICON_MD_ACCOUNT_CARD "\xf3\xb1\xae\xa4" // U+F1BA4 account-card, tags: Account / User +#define ICON_MD_ACCOUNT_CARD_OUTLINE "\xf3\xb1\xae\xa5" // U+F1BA5 account-card-outline, tags: Account / User +#define ICON_MD_ACCOUNT_CASH "\xf3\xb1\x82\x97" // U+F1097 account-cash, tags: Account / User, Banking, Currency +#define ICON_MD_ACCOUNT_CASH_OUTLINE "\xf3\xb1\x82\x98" // U+F1098 account-cash-outline, tags: Account / User, Banking, Currency +#define ICON_MD_ACCOUNT_CHECK \ + "\xf3\xb0\x80\x88" // U+F0008 account-check, aliases: user-check, account-tick, user-tick, person-check, + // person-tick, how-to-reg, tags: Account / User +#define ICON_MD_ACCOUNT_CHECK_OUTLINE \ + "\xf3\xb0\xaf\xa2" // U+F0BE2 account-check-outline, aliases: account-tick-outline, user-check-outline, + // user-tick-outline, person-check-outline, person-tick-outline, how-to-reg-outline, tags: + // Account / User +#define ICON_MD_ACCOUNT_CHILD "\xf3\xb0\xaa\x89" // U+F0A89 account-child, aliases: user-child, person-child, guardian, tags: Account / User +#define ICON_MD_ACCOUNT_CHILD_CIRCLE \ + "\xf3\xb0\xaa\x8a" // U+F0A8A account-child-circle, aliases: user-child-circle, person-child-circle, + // guardian-circle, tags: Account / User +#define ICON_MD_ACCOUNT_CHILD_OUTLINE "\xf3\xb1\x83\x88" // U+F10C8 account-child-outline, tags: Account / User +#define ICON_MD_ACCOUNT_CIRCLE "\xf3\xb0\x80\x89" // U+F0009 account-circle, aliases: user-circle, person-circle, tags: Account / User +#define ICON_MD_ACCOUNT_CIRCLE_OUTLINE \ + "\xf3\xb0\xad\x95" // U+F0B55 account-circle-outline, aliases: user-circle-outline, person-circle-outline, tags: + // Account / User +#define ICON_MD_ACCOUNT_CLOCK \ + "\xf3\xb0\xad\x96" // U+F0B56 account-clock, aliases: user-clock, account-pending, person-clock, tags: Account / + // User, Date / Time +#define ICON_MD_ACCOUNT_CLOCK_OUTLINE \ + "\xf3\xb0\xad\x97" // U+F0B57 account-clock-outline, aliases: user-clock-outline, account-pending-outline, + // person-clock-outline, tags: Account / User, Date / Time +#define ICON_MD_ACCOUNT_COG "\xf3\xb1\x8d\xb0" // U+F1370 account-cog, aliases: account-settings, tags: Account / User, Settings +#define ICON_MD_ACCOUNT_COG_OUTLINE "\xf3\xb1\x8d\xb1" // U+F1371 account-cog-outline, aliases: account-settings-outline, tags: Account / User, Settings +#define ICON_MD_ACCOUNT_CONVERT "\xf3\xb0\x80\x8a" // U+F000A account-convert, aliases: user-convert, person-convert, tags: Account / User +#define ICON_MD_ACCOUNT_CONVERT_OUTLINE "\xf3\xb1\x8c\x81" // U+F1301 account-convert-outline, tags: Account / User +#define ICON_MD_ACCOUNT_COWBOY_HAT "\xf3\xb0\xba\x9b" // U+F0E9B account-cowboy-hat, aliases: rancher, tags: Account / User, Agriculture +#define ICON_MD_ACCOUNT_COWBOY_HAT_OUTLINE \ + "\xf3\xb1\x9f\xb3" // U+F17F3 account-cowboy-hat-outline, aliases: rancher-outline, tags: Account / User, + // Agriculture +#define ICON_MD_ACCOUNT_CREDIT_CARD \ + "\xf3\xb1\xae\xa6" // U+F1BA6 account-credit-card, aliases: account-payment, cardholder, tags: Account / User, + // Banking +#define ICON_MD_ACCOUNT_CREDIT_CARD_OUTLINE \ + "\xf3\xb1\xae\xa7" // U+F1BA7 account-credit-card-outline, aliases: account-payment-outline, cardholder-outline, + // tags: Account / User, Banking +#define ICON_MD_ACCOUNT_DETAILS "\xf3\xb0\x98\xb1" // U+F0631 account-details, aliases: user-details, person-details, tags: Account / User, Settings +#define ICON_MD_ACCOUNT_DETAILS_OUTLINE \ + "\xf3\xb1\x8d\xb2" // U+F1372 account-details-outline, aliases: person-details-outline, user-details-outline, tags: + // Account / User, Settings +#define ICON_MD_ACCOUNT_EDIT "\xf3\xb0\x9a\xbc" // U+F06BC account-edit, aliases: user-edit, person-edit, tags: Account / User, Edit / Modify +#define ICON_MD_ACCOUNT_EDIT_OUTLINE "\xf3\xb0\xbf\xbb" // U+F0FFB account-edit-outline, tags: Account / User, Edit / Modify +#define ICON_MD_ACCOUNT_EYE "\xf3\xb0\x90\xa0" // U+F0420 account-eye, aliases: account-view, tags: Account / User +#define ICON_MD_ACCOUNT_EYE_OUTLINE "\xf3\xb1\x89\xbb" // U+F127B account-eye-outline, aliases: account-view-outline, tags: Account / User +#define ICON_MD_ACCOUNT_FILTER "\xf3\xb0\xa4\xb6" // U+F0936 account-filter, aliases: account-funnel, leads, tags: Account / User +#define ICON_MD_ACCOUNT_FILTER_OUTLINE \ + "\xf3\xb0\xbe\x9d" // U+F0F9D account-filter-outline, aliases: account-funnel-outline, leads-outline, tags: Account + // / User +#define ICON_MD_ACCOUNT_GROUP \ + "\xf3\xb0\xa1\x89" // U+F0849 account-group, aliases: user-group, users-group, person-group, people-group, + // accounts-group, tags: Account / User +#define ICON_MD_ACCOUNT_GROUP_OUTLINE \ + "\xf3\xb0\xad\x98" // U+F0B58 account-group-outline, aliases: user-group-outline, users-group-outline, + // person-group-outline, people-group-outline, accounts-group-outline, tags: Account / User +#define ICON_MD_ACCOUNT_HARD_HAT "\xf3\xb0\x96\xb5" // U+F05B5 account-hard-hat, aliases: worker, construction, tags: Account / User +#define ICON_MD_ACCOUNT_HARD_HAT_OUTLINE \ + "\xf3\xb1\xa8\x9f" // U+F1A1F account-hard-hat-outline, aliases: worker-outline, construction-outline, tags: Account + // / User +#define ICON_MD_ACCOUNT_HEART \ + "\xf3\xb0\xa2\x99" // U+F0899 account-heart, aliases: user-heart, person-heart, tags: Account / User, Medical / + // Hospital +#define ICON_MD_ACCOUNT_HEART_OUTLINE \ + "\xf3\xb0\xaf\xa3" // U+F0BE3 account-heart-outline, aliases: user-heart-outline, person-heart-outline, tags: + // Account / User, Medical / Hospital +#define ICON_MD_ACCOUNT_INJURY "\xf3\xb1\xa0\x95" // U+F1815 account-injury, aliases: account-disability, tags: Medical / Hospital, Account / User +#define ICON_MD_ACCOUNT_INJURY_OUTLINE \ + "\xf3\xb1\xa0\x96" // U+F1816 account-injury-outline, aliases: account-disability-outline, tags: Account / User, + // Medical / Hospital +#define ICON_MD_ACCOUNT_KEY "\xf3\xb0\x80\x8b" // U+F000B account-key, aliases: user-key, person-key, tags: Account / User +#define ICON_MD_ACCOUNT_KEY_OUTLINE \ + "\xf3\xb0\xaf\xa4" // U+F0BE4 account-key-outline, aliases: user-key-outline, person-key-outline, tags: Account / + // User +#define ICON_MD_ACCOUNT_LOCK \ + "\xf3\xb1\x85\x9e" // U+F115E account-lock, aliases: account-security, account-secure, user-lock, person-lock, tags: + // Account / User, Lock +#define ICON_MD_ACCOUNT_LOCK_OPEN \ + "\xf3\xb1\xa5\xa0" // U+F1960 account-lock-open, aliases: account-unlocked, user-unlocked, user-lock-open, tags: + // Account / User, Lock +#define ICON_MD_ACCOUNT_LOCK_OPEN_OUTLINE \ + "\xf3\xb1\xa5\xa1" // U+F1961 account-lock-open-outline, aliases: user-lock-open-outline, user-unlocked-outline, + // account-unlocked-outline, tags: Account / User, Lock +#define ICON_MD_ACCOUNT_LOCK_OUTLINE \ + "\xf3\xb1\x85\x9f" // U+F115F account-lock-outline, aliases: account-security-outline, account-secure-outline, + // person-lock-outline, user-lock-outline, tags: Account / User, Lock +#define ICON_MD_ACCOUNT_MINUS "\xf3\xb0\x80\x8d" // U+F000D account-minus, aliases: user-minus, person-minus, tags: Account / User +#define ICON_MD_ACCOUNT_MINUS_OUTLINE \ + "\xf3\xb0\xab\xac" // U+F0AEC account-minus-outline, aliases: user-minus-outline, person-minus-outline, tags: + // Account / User +#define ICON_MD_ACCOUNT_MULTIPLE \ + "\xf3\xb0\x80\x8e" // U+F000E account-multiple, aliases: people, user-multiple, group, accounts, users, + // person-multiple, tags: Account / User +#define ICON_MD_ACCOUNT_MULTIPLE_CHECK \ + "\xf3\xb0\xa3\x85" // U+F08C5 account-multiple-check, aliases: user-multiple-check, account-multiple-tick, + // accounts-check, accounts-tick, users-check, users-tick, user-multiple-tick, + // person-multiple-check, person-multiple-tick, people-check, people-tick, tags: Account / User +#define ICON_MD_ACCOUNT_MULTIPLE_CHECK_OUTLINE \ + "\xf3\xb1\x87\xbe" // U+F11FE account-multiple-check-outline, aliases: user-multiple-check-outline, + // account-multiple-tick-outline, accounts-check-outline, accounts-tick-outline, + // users-check-outline, users-tick-outline, user-multiple-tick-outline, + // person-multiple-check-outline, person-multiple-tick-outline, people-check-outline, + // people-tick-outline, tags: Account / User +#define ICON_MD_ACCOUNT_MULTIPLE_MINUS \ + "\xf3\xb0\x97\x93" // U+F05D3 account-multiple-minus, aliases: user-multiple-minus, accounts-minus, users-minus, + // people-minus, person-multiple-minus, tags: Account / User +#define ICON_MD_ACCOUNT_MULTIPLE_MINUS_OUTLINE \ + "\xf3\xb0\xaf\xa5" // U+F0BE5 account-multiple-minus-outline, aliases: accounts-minus-outline, people-minus-outline, + // user-multiple-minus-outline, users-minus-outline, person-multiple-minus-outline, tags: Account + // / User +#define ICON_MD_ACCOUNT_MULTIPLE_OUTLINE \ + "\xf3\xb0\x80\x8f" // U+F000F account-multiple-outline, aliases: user-multiple-outline, people-outline, + // accounts-outline, users-outline, tags: Account / User +#define ICON_MD_ACCOUNT_MULTIPLE_PLUS \ + "\xf3\xb0\x80\x90" // U+F0010 account-multiple-plus, aliases: user-multiple-plus, group-add, accounts-plus, + // users-plus, person-multiple-plus, people-plus, person-multiple-add, people-add, + // account-multiple-add, accounts-add, user-multiple-add, users-add, invite, tags: Account / User +#define ICON_MD_ACCOUNT_MULTIPLE_PLUS_OUTLINE \ + "\xf3\xb0\xa0\x80" // U+F0800 account-multiple-plus-outline, aliases: group-add-outline, user-multiple-plus-outline, + // accounts-plus-outline, users-plus-outline, person-multiple-plus-outline, people-plus-outline, + // person-multiple-add-outline, people-add-outline, account-multiple-add-outline, + // accounts-add-outline, user-multiple-add-outline, users-add-outline, invite, tags: Account / + // User +#define ICON_MD_ACCOUNT_MULTIPLE_REMOVE \ + "\xf3\xb1\x88\x8a" // U+F120A account-multiple-remove, aliases: user-multiple-remove, person-multiple-remove, tags: + // Account / User +#define ICON_MD_ACCOUNT_MULTIPLE_REMOVE_OUTLINE \ + "\xf3\xb1\x88\x8b" // U+F120B account-multiple-remove-outline, aliases: user-multiple-remove-outline, + // person-multiple-remove-outline, tags: Account / User +#define ICON_MD_ACCOUNT_MUSIC "\xf3\xb0\xa0\x83" // U+F0803 account-music, aliases: artist, tags: Account / User +#define ICON_MD_ACCOUNT_MUSIC_OUTLINE "\xf3\xb0\xb3\xa9" // U+F0CE9 account-music-outline, aliases: artist-outline, tags: Account / User +#define ICON_MD_ACCOUNT_NETWORK "\xf3\xb0\x80\x91" // U+F0011 account-network, aliases: user-network, person-network, tags: Account / User +#define ICON_MD_ACCOUNT_NETWORK_OFF "\xf3\xb1\xab\xb1" // U+F1AF1 account-network-off, tags: Account / User +#define ICON_MD_ACCOUNT_NETWORK_OFF_OUTLINE "\xf3\xb1\xab\xb2" // U+F1AF2 account-network-off-outline, tags: Account / User +#define ICON_MD_ACCOUNT_NETWORK_OUTLINE \ + "\xf3\xb0\xaf\xa6" // U+F0BE6 account-network-outline, aliases: user-network-outline, person-network-outline, tags: + // Account / User +#define ICON_MD_ACCOUNT_OFF "\xf3\xb0\x80\x92" // U+F0012 account-off, aliases: user-off, person-off, tags: Account / User +#define ICON_MD_ACCOUNT_OFF_OUTLINE \ + "\xf3\xb0\xaf\xa7" // U+F0BE7 account-off-outline, aliases: user-off-outline, person-off-outline, tags: Account / + // User +#define ICON_MD_ACCOUNT_OUTLINE \ + "\xf3\xb0\x80\x93" // U+F0013 account-outline, aliases: user-outline, perm-identity, person-outline, tags: Account / + // User +#define ICON_MD_ACCOUNT_PLUS \ + "\xf3\xb0\x80\x94" // U+F0014 account-plus, aliases: register, user-plus, person-add, account-add, person-plus, + // user-add, invite, tags: Account / User, Home Automation +#define ICON_MD_ACCOUNT_PLUS_OUTLINE \ + "\xf3\xb0\xa0\x81" // U+F0801 account-plus-outline, aliases: person-add-outline, register-outline, + // user-plus-outline, account-add-outline, person-plus-outline, user-add-outline, invite, tags: + // Account / User +#define ICON_MD_ACCOUNT_QUESTION \ + "\xf3\xb0\xad\x99" // U+F0B59 account-question, aliases: user-help, account-question-mark, account-help, + // user-question, person-question, person-help, tags: Account / User +#define ICON_MD_ACCOUNT_QUESTION_OUTLINE \ + "\xf3\xb0\xad\x9a" // U+F0B5A account-question-outline, aliases: account-question-mark-outline, user-help-outline, + // account-help-outline, user-question-outline, person-question-outline, person-help-outline, + // tags: Account / User +#define ICON_MD_ACCOUNT_REACTIVATE "\xf3\xb1\x94\xab" // U+F152B account-reactivate, tags: Account / User +#define ICON_MD_ACCOUNT_REACTIVATE_OUTLINE "\xf3\xb1\x94\xac" // U+F152C account-reactivate-outline, tags: Account / User +#define ICON_MD_ACCOUNT_REMOVE "\xf3\xb0\x80\x95" // U+F0015 account-remove, aliases: user-remove, person-remove, tags: Account / User +#define ICON_MD_ACCOUNT_REMOVE_OUTLINE \ + "\xf3\xb0\xab\xad" // U+F0AED account-remove-outline, aliases: user-remove-outline, person-remove-outline, tags: + // Account / User +#define ICON_MD_ACCOUNT_SCHOOL "\xf3\xb1\xa8\xa0" // U+F1A20 account-school, aliases: account-student, account-graduation, tags: Account / User +#define ICON_MD_ACCOUNT_SCHOOL_OUTLINE \ + "\xf3\xb1\xa8\xa1" // U+F1A21 account-school-outline, aliases: account-student-outline, account-graduation-outline, + // tags: Account / User +#define ICON_MD_ACCOUNT_SEARCH "\xf3\xb0\x80\x96" // U+F0016 account-search, aliases: user-search, person-search, tags: Account / User +#define ICON_MD_ACCOUNT_SEARCH_OUTLINE \ + "\xf3\xb0\xa4\xb5" // U+F0935 account-search-outline, aliases: user-search-outline, person-search-outline, tags: + // Account / User +#define ICON_MD_ACCOUNT_SETTINGS \ + "\xf3\xb0\x98\xb0" // U+F0630 account-settings, aliases: user-settings, person-settings, tags: Account / User, + // Settings +#define ICON_MD_ACCOUNT_SETTINGS_OUTLINE "\xf3\xb1\x83\x89" // U+F10C9 account-settings-outline, tags: Account / User, Settings +#define ICON_MD_ACCOUNT_STAR "\xf3\xb0\x80\x97" // U+F0017 account-star, aliases: user-star, person-star, account-favorite, tags: Account / User +#define ICON_MD_ACCOUNT_STAR_OUTLINE \ + "\xf3\xb0\xaf\xa8" // U+F0BE8 account-star-outline, aliases: user-star-outline, person-star-outline, tags: Account / + // User +#define ICON_MD_ACCOUNT_SUPERVISOR "\xf3\xb0\xaa\x8b" // U+F0A8B account-supervisor, aliases: user-supervisor, person-supervisor, tags: Account / User +#define ICON_MD_ACCOUNT_SUPERVISOR_CIRCLE \ + "\xf3\xb0\xaa\x8c" // U+F0A8C account-supervisor-circle, aliases: user-supervisor-circle, person-supervisor-circle, + // tags: Account / User +#define ICON_MD_ACCOUNT_SUPERVISOR_CIRCLE_OUTLINE "\xf3\xb1\x93\xac" // U+F14EC account-supervisor-circle-outline, tags: Account / User +#define ICON_MD_ACCOUNT_SUPERVISOR_OUTLINE "\xf3\xb1\x84\xad" // U+F112D account-supervisor-outline, tags: Account / User +#define ICON_MD_ACCOUNT_SWITCH \ + "\xf3\xb0\x80\x99" // U+F0019 account-switch, aliases: user-switch, accounts-switch, users-switch, person-switch, + // people-switch, tags: Account / User +#define ICON_MD_ACCOUNT_SWITCH_OUTLINE "\xf3\xb0\x93\x8b" // U+F04CB account-switch-outline, tags: Account / User +#define ICON_MD_ACCOUNT_SYNC "\xf3\xb1\xa4\x9b" // U+F191B account-sync, aliases: account-cache, tags: Account / User +#define ICON_MD_ACCOUNT_SYNC_OUTLINE "\xf3\xb1\xa4\x9c" // U+F191C account-sync-outline, aliases: account-cache-outline, tags: Account / User +#define ICON_MD_ACCOUNT_TIE "\xf3\xb0\xb3\xa3" // U+F0CE3 account-tie, aliases: person-tie, user-tie, tags: Account / User, People / Family +#define ICON_MD_ACCOUNT_TIE_HAT "\xf3\xb1\xa2\x98" // U+F1898 account-tie-hat, aliases: account-pilot, tags: Account / User, Transportation + Flying +#define ICON_MD_ACCOUNT_TIE_HAT_OUTLINE \ + "\xf3\xb1\xa2\x99" // U+F1899 account-tie-hat-outline, aliases: account-pilot-outline, tags: Account / User, + // Transportation + Flying +#define ICON_MD_ACCOUNT_TIE_OUTLINE "\xf3\xb1\x83\x8a" // U+F10CA account-tie-outline, tags: Account / User +#define ICON_MD_ACCOUNT_TIE_VOICE "\xf3\xb1\x8c\x88" // U+F1308 account-tie-voice, tags: Account / User +#define ICON_MD_ACCOUNT_TIE_VOICE_OFF "\xf3\xb1\x8c\x8a" // U+F130A account-tie-voice-off, tags: Account / User +#define ICON_MD_ACCOUNT_TIE_VOICE_OFF_OUTLINE "\xf3\xb1\x8c\x8b" // U+F130B account-tie-voice-off-outline, tags: Account / User +#define ICON_MD_ACCOUNT_TIE_VOICE_OUTLINE "\xf3\xb1\x8c\x89" // U+F1309 account-tie-voice-outline, tags: Account / User +#define ICON_MD_ACCOUNT_TIE_WOMAN "\xf3\xb1\xaa\x8c" // U+F1A8C account-tie-woman, aliases: business-woman, tags: Account / User, People / Family +#define ICON_MD_ACCOUNT_VOICE \ + "\xf3\xb0\x97\x8b" // U+F05CB account-voice, aliases: record-voice-over, speak, talk, speaking, talking, tags: + // Account / User +#define ICON_MD_ACCOUNT_VOICE_OFF "\xf3\xb0\xbb\x94" // U+F0ED4 account-voice-off, tags: Account / User +#define ICON_MD_ACCOUNT_WRENCH "\xf3\xb1\xa2\x9a" // U+F189A account-wrench, aliases: account-service, tags: Account / User +#define ICON_MD_ACCOUNT_WRENCH_OUTLINE "\xf3\xb1\xa2\x9b" // U+F189B account-wrench-outline, aliases: account-service-outline, tags: Account / User +#define ICON_MD_ADJUST "\xf3\xb0\x80\x9a" // U+F001A adjust +#define ICON_MD_ADVERTISEMENTS "\xf3\xb1\xa4\xaa" // U+F192A advertisements, aliases: ads +#define ICON_MD_ADVERTISEMENTS_OFF "\xf3\xb1\xa4\xab" // U+F192B advertisements-off, aliases: ads-off +#define ICON_MD_AIR_CONDITIONER "\xf3\xb0\x80\x9b" // U+F001B air-conditioner, aliases: ac-unit, tags: Home Automation, Automotive +#define ICON_MD_AIR_FILTER "\xf3\xb0\xb5\x83" // U+F0D43 air-filter, aliases: water-filter, filter, tags: Home Automation +#define ICON_MD_AIR_HORN "\xf3\xb0\xb6\xac" // U+F0DAC air-horn +#define ICON_MD_AIR_HUMIDIFIER "\xf3\xb1\x82\x99" // U+F1099 air-humidifier, tags: Home Automation +#define ICON_MD_AIR_HUMIDIFIER_OFF "\xf3\xb1\x91\xa6" // U+F1466 air-humidifier-off, aliases: air-dehumidifier, tags: Home Automation +#define ICON_MD_AIR_PURIFIER "\xf3\xb0\xb5\x84" // U+F0D44 air-purifier, tags: Home Automation +#define ICON_MD_AIR_PURIFIER_OFF "\xf3\xb1\xad\x97" // U+F1B57 air-purifier-off, tags: Home Automation +#define ICON_MD_AIRBAG "\xf3\xb0\xaf\xa9" // U+F0BE9 airbag, tags: Automotive +#define ICON_MD_AIRBALLOON \ + "\xf3\xb0\x80\x9c" // U+F001C airballoon, aliases: hot-air-balloon, tags: Transportation + Other, Transportation + + // Flying +#define ICON_MD_AIRBALLOON_OUTLINE "\xf3\xb1\x80\x8b" // U+F100B airballoon-outline, aliases: hot-air-balloon-outline, tags: Transportation + Flying +#define ICON_MD_AIRPLANE \ + "\xf3\xb0\x80\x9d" // U+F001D airplane, aliases: aeroplane, airplanemode-active, flight, local-airport, flight-mode, + // plane, tags: Transportation + Flying, Navigation +#define ICON_MD_AIRPLANE_ALERT "\xf3\xb1\xa1\xba" // U+F187A airplane-alert, tags: Transportation + Flying, Alert / Error +#define ICON_MD_AIRPLANE_CHECK "\xf3\xb1\xa1\xbb" // U+F187B airplane-check, tags: Transportation + Flying +#define ICON_MD_AIRPLANE_CLOCK \ + "\xf3\xb1\xa1\xbc" // U+F187C airplane-clock, aliases: airplane-schedule, airplane-time, airplane-date, tags: + // Transportation + Flying, Date / Time +#define ICON_MD_AIRPLANE_COG "\xf3\xb1\xa1\xbd" // U+F187D airplane-cog, aliases: airplane-settings, tags: Transportation + Flying, Settings +#define ICON_MD_AIRPLANE_EDIT "\xf3\xb1\xa1\xbe" // U+F187E airplane-edit, tags: Transportation + Flying, Edit / Modify +#define ICON_MD_AIRPLANE_LANDING \ + "\xf3\xb0\x97\x94" // U+F05D4 airplane-landing, aliases: aeroplane-landing, flight-land, plane-landing, tags: + // Transportation + Flying +#define ICON_MD_AIRPLANE_MARKER \ + "\xf3\xb1\xa1\xbf" // U+F187F airplane-marker, aliases: airplane-location, airplane-gps, tags: Transportation + + // Flying, Navigation +#define ICON_MD_AIRPLANE_MINUS "\xf3\xb1\xa2\x80" // U+F1880 airplane-minus, tags: Transportation + Flying +#define ICON_MD_AIRPLANE_OFF \ + "\xf3\xb0\x80\x9e" // U+F001E airplane-off, aliases: aeroplane-off, airplanemode-inactive, flight-mode-off, + // plane-off, tags: Transportation + Flying +#define ICON_MD_AIRPLANE_PLUS "\xf3\xb1\xa2\x81" // U+F1881 airplane-plus, tags: Transportation + Flying +#define ICON_MD_AIRPLANE_REMOVE "\xf3\xb1\xa2\x82" // U+F1882 airplane-remove, tags: Transportation + Flying +#define ICON_MD_AIRPLANE_SEARCH "\xf3\xb1\xa2\x83" // U+F1883 airplane-search, aliases: airplane-find, tags: Transportation + Flying +#define ICON_MD_AIRPLANE_SETTINGS "\xf3\xb1\xa2\x84" // U+F1884 airplane-settings, tags: Transportation + Flying, Settings +#define ICON_MD_AIRPLANE_TAKEOFF \ + "\xf3\xb0\x97\x95" // U+F05D5 airplane-takeoff, aliases: aeroplane-takeoff, flight-takeoff, plane-takeoff, + // airplane-take-off, tags: Transportation + Flying +#define ICON_MD_AIRPORT "\xf3\xb0\xa1\x8b" // U+F084B airport, tags: Places, Transportation + Flying +#define ICON_MD_ALARM "\xf3\xb0\x80\xa0" // U+F0020 alarm, aliases: access-alarms, alarm-clock, tags: Date / Time +#define ICON_MD_ALARM_BELL "\xf3\xb0\x9e\x8e" // U+F078E alarm-bell, tags: Notification +#define ICON_MD_ALARM_CHECK \ + "\xf3\xb0\x80\xa1" // U+F0021 alarm-check, aliases: alarm-on, alarm-tick, alarm-clock-check, alarm-clock-tick, tags: + // Date / Time +#define ICON_MD_ALARM_LIGHT "\xf3\xb0\x9e\x8f" // U+F078F alarm-light, tags: Home Automation +#define ICON_MD_ALARM_LIGHT_OFF "\xf3\xb1\x9c\x9e" // U+F171E alarm-light-off, tags: Home Automation +#define ICON_MD_ALARM_LIGHT_OFF_OUTLINE "\xf3\xb1\x9c\x9f" // U+F171F alarm-light-off-outline, tags: Home Automation +#define ICON_MD_ALARM_LIGHT_OUTLINE "\xf3\xb0\xaf\xaa" // U+F0BEA alarm-light-outline, tags: Home Automation +#define ICON_MD_ALARM_MULTIPLE "\xf3\xb0\x80\xa2" // U+F0022 alarm-multiple, aliases: alarms, alarm-clock-multiple, alarm-clocks, tags: Date / Time +#define ICON_MD_ALARM_NOTE "\xf3\xb0\xb9\xb1" // U+F0E71 alarm-note +#define ICON_MD_ALARM_NOTE_OFF "\xf3\xb0\xb9\xb2" // U+F0E72 alarm-note-off +#define ICON_MD_ALARM_OFF "\xf3\xb0\x80\xa3" // U+F0023 alarm-off, aliases: alarm-clock-off, tags: Date / Time +#define ICON_MD_ALARM_PANEL "\xf3\xb1\x97\x84" // U+F15C4 alarm-panel, tags: Home Automation +#define ICON_MD_ALARM_PANEL_OUTLINE "\xf3\xb1\x97\x85" // U+F15C5 alarm-panel-outline, tags: Home Automation +#define ICON_MD_ALARM_PLUS \ + "\xf3\xb0\x80\xa4" // U+F0024 alarm-plus, aliases: add-alarm, alarm-clock-plus, alarm-clock-add, alarm-add, tags: + // Date / Time +#define ICON_MD_ALARM_SNOOZE "\xf3\xb0\x9a\x8e" // U+F068E alarm-snooze, aliases: alarm-clock-snooze, tags: Date / Time +#define ICON_MD_ALBUM "\xf3\xb0\x80\xa5" // U+F0025 album, aliases: vinyl, record, tags: Audio, Music +#define ICON_MD_ALERT "\xf3\xb0\x80\xa6" // U+F0026 alert, aliases: warning, report-problem, tags: Alert / Error +#define ICON_MD_ALERT_BOX "\xf3\xb0\x80\xa7" // U+F0027 alert-box, aliases: warning-box, tags: Alert / Error +#define ICON_MD_ALERT_BOX_OUTLINE "\xf3\xb0\xb3\xa4" // U+F0CE4 alert-box-outline, aliases: warning-box-outline, tags: Alert / Error +#define ICON_MD_ALERT_CIRCLE "\xf3\xb0\x80\xa8" // U+F0028 alert-circle, aliases: warning-circle, error, tags: Alert / Error +#define ICON_MD_ALERT_CIRCLE_CHECK "\xf3\xb1\x87\xad" // U+F11ED alert-circle-check, tags: Alert / Error +#define ICON_MD_ALERT_CIRCLE_CHECK_OUTLINE "\xf3\xb1\x87\xae" // U+F11EE alert-circle-check-outline, tags: Alert / Error +#define ICON_MD_ALERT_CIRCLE_OUTLINE \ + "\xf3\xb0\x97\x96" // U+F05D6 alert-circle-outline, aliases: warning-circle-outline, error-outline, git-issue, tags: + // Alert / Error +#define ICON_MD_ALERT_DECAGRAM "\xf3\xb0\x9a\xbd" // U+F06BD alert-decagram, aliases: new-releases, warning-decagram, tags: Alert / Error +#define ICON_MD_ALERT_DECAGRAM_OUTLINE "\xf3\xb0\xb3\xa5" // U+F0CE5 alert-decagram-outline, aliases: warning-decagram-outline, tags: Alert / Error +#define ICON_MD_ALERT_MINUS "\xf3\xb1\x92\xbb" // U+F14BB alert-minus, tags: Alert / Error +#define ICON_MD_ALERT_MINUS_OUTLINE "\xf3\xb1\x92\xbe" // U+F14BE alert-minus-outline, tags: Alert / Error +#define ICON_MD_ALERT_OCTAGON "\xf3\xb0\x80\xa9" // U+F0029 alert-octagon, aliases: warning-octagon, report, stop-alert, tags: Alert / Error +#define ICON_MD_ALERT_OCTAGON_OUTLINE \ + "\xf3\xb0\xb3\xa6" // U+F0CE6 alert-octagon-outline, aliases: warning-octagon-outline, stop-alert-outline, tags: + // Alert / Error +#define ICON_MD_ALERT_OCTAGRAM "\xf3\xb0\x9d\xa7" // U+F0767 alert-octagram, aliases: warning-octagram, tags: Alert / Error +#define ICON_MD_ALERT_OCTAGRAM_OUTLINE "\xf3\xb0\xb3\xa7" // U+F0CE7 alert-octagram-outline, aliases: warning-octagram-outline, tags: Alert / Error +#define ICON_MD_ALERT_OUTLINE "\xf3\xb0\x80\xaa" // U+F002A alert-outline, aliases: warning-outline, tags: Alert / Error +#define ICON_MD_ALERT_PLUS "\xf3\xb1\x92\xba" // U+F14BA alert-plus, tags: Alert / Error +#define ICON_MD_ALERT_PLUS_OUTLINE "\xf3\xb1\x92\xbd" // U+F14BD alert-plus-outline, tags: Alert / Error +#define ICON_MD_ALERT_REMOVE "\xf3\xb1\x92\xbc" // U+F14BC alert-remove, tags: Alert / Error +#define ICON_MD_ALERT_REMOVE_OUTLINE "\xf3\xb1\x92\xbf" // U+F14BF alert-remove-outline, tags: Alert / Error +#define ICON_MD_ALERT_RHOMBUS "\xf3\xb1\x87\x8e" // U+F11CE alert-rhombus, tags: Alert / Error +#define ICON_MD_ALERT_RHOMBUS_OUTLINE "\xf3\xb1\x87\x8f" // U+F11CF alert-rhombus-outline, tags: Alert / Error +#define ICON_MD_ALIEN "\xf3\xb0\xa2\x9a" // U+F089A alien +#define ICON_MD_ALIEN_OUTLINE "\xf3\xb1\x83\x8b" // U+F10CB alien-outline +#define ICON_MD_ALIGN_HORIZONTAL_CENTER "\xf3\xb1\x87\x83" // U+F11C3 align-horizontal-center, aliases: align-horizontal-centre +#define ICON_MD_ALIGN_HORIZONTAL_DISTRIBUTE "\xf3\xb1\xa5\xa2" // U+F1962 align-horizontal-distribute, tags: Text / Content / Format +#define ICON_MD_ALIGN_HORIZONTAL_LEFT "\xf3\xb1\x87\x82" // U+F11C2 align-horizontal-left +#define ICON_MD_ALIGN_HORIZONTAL_RIGHT "\xf3\xb1\x87\x84" // U+F11C4 align-horizontal-right +#define ICON_MD_ALIGN_VERTICAL_BOTTOM "\xf3\xb1\x87\x85" // U+F11C5 align-vertical-bottom +#define ICON_MD_ALIGN_VERTICAL_CENTER "\xf3\xb1\x87\x86" // U+F11C6 align-vertical-center, aliases: align-vertical-centre +#define ICON_MD_ALIGN_VERTICAL_DISTRIBUTE "\xf3\xb1\xa5\xa3" // U+F1963 align-vertical-distribute, tags: Text / Content / Format +#define ICON_MD_ALIGN_VERTICAL_TOP "\xf3\xb1\x87\x87" // U+F11C7 align-vertical-top +#define ICON_MD_ALL_INCLUSIVE "\xf3\xb0\x9a\xbe" // U+F06BE all-inclusive, aliases: infinity, forever +#define ICON_MD_ALL_INCLUSIVE_BOX "\xf3\xb1\xa2\x8d" // U+F188D all-inclusive-box, aliases: infinity-box, forever-box +#define ICON_MD_ALL_INCLUSIVE_BOX_OUTLINE "\xf3\xb1\xa2\x8e" // U+F188E all-inclusive-box-outline, aliases: forever-box-outline, infinity-box-outline +#define ICON_MD_ALLERGY "\xf3\xb1\x89\x98" // U+F1258 allergy, aliases: hand, rash, germ, tags: Medical / Hospital +#define ICON_MD_ALPHA "\xf3\xb0\x80\xab" // U+F002B alpha, tags: Alpha / Numeric +#define ICON_MD_ALPHA_A "\xf3\xb0\xab\xae" // U+F0AEE alpha-a, aliases: alphabet-a, letter-a, tags: Alpha / Numeric +#define ICON_MD_ALPHA_A_BOX "\xf3\xb0\xac\x88" // U+F0B08 alpha-a-box, aliases: alphabet-a-box, letter-a-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_A_BOX_OUTLINE \ + "\xf3\xb0\xaf\xab" // U+F0BEB alpha-a-box-outline, aliases: alphabet-a-box-outline, letter-a-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_A_CIRCLE "\xf3\xb0\xaf\xac" // U+F0BEC alpha-a-circle, aliases: alphabet-a-circle, letter-a-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_A_CIRCLE_OUTLINE \ + "\xf3\xb0\xaf\xad" // U+F0BED alpha-a-circle-outline, aliases: alphabet-a-circle-outline, letter-a-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_B "\xf3\xb0\xab\xaf" // U+F0AEF alpha-b, aliases: alphabet-b, letter-b, tags: Alpha / Numeric +#define ICON_MD_ALPHA_B_BOX "\xf3\xb0\xac\x89" // U+F0B09 alpha-b-box, aliases: alphabet-b-box, letter-b-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_B_BOX_OUTLINE \ + "\xf3\xb0\xaf\xae" // U+F0BEE alpha-b-box-outline, aliases: alphabet-b-box-outline, letter-b-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_B_CIRCLE "\xf3\xb0\xaf\xaf" // U+F0BEF alpha-b-circle, aliases: alphabet-b-circle, letter-b-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_B_CIRCLE_OUTLINE \ + "\xf3\xb0\xaf\xb0" // U+F0BF0 alpha-b-circle-outline, aliases: alphabet-b-circle-outline, letter-b-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_C "\xf3\xb0\xab\xb0" // U+F0AF0 alpha-c, aliases: alphabet-c, letter-c, tags: Alpha / Numeric +#define ICON_MD_ALPHA_C_BOX "\xf3\xb0\xac\x8a" // U+F0B0A alpha-c-box, aliases: alphabet-c-box, letter-c-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_C_BOX_OUTLINE \ + "\xf3\xb0\xaf\xb1" // U+F0BF1 alpha-c-box-outline, aliases: alphabet-c-box-outline, letter-c-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_C_CIRCLE "\xf3\xb0\xaf\xb2" // U+F0BF2 alpha-c-circle, aliases: alphabet-c-circle, letter-c-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_C_CIRCLE_OUTLINE \ + "\xf3\xb0\xaf\xb3" // U+F0BF3 alpha-c-circle-outline, aliases: alphabet-c-circle-outline, letter-c-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_D "\xf3\xb0\xab\xb1" // U+F0AF1 alpha-d, aliases: alphabet-d, letter-d, drive, tags: Automotive, Alpha / Numeric +#define ICON_MD_ALPHA_D_BOX "\xf3\xb0\xac\x8b" // U+F0B0B alpha-d-box, aliases: alphabet-d-box, letter-d-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_D_BOX_OUTLINE \ + "\xf3\xb0\xaf\xb4" // U+F0BF4 alpha-d-box-outline, aliases: alphabet-d-box-outline, letter-d-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_D_CIRCLE "\xf3\xb0\xaf\xb5" // U+F0BF5 alpha-d-circle, aliases: alphabet-d-circle, letter-d-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_D_CIRCLE_OUTLINE \ + "\xf3\xb0\xaf\xb6" // U+F0BF6 alpha-d-circle-outline, aliases: alphabet-d-circle-outline, letter-d-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_E "\xf3\xb0\xab\xb2" // U+F0AF2 alpha-e, aliases: alphabet-e, letter-e, tags: Alpha / Numeric +#define ICON_MD_ALPHA_E_BOX "\xf3\xb0\xac\x8c" // U+F0B0C alpha-e-box, aliases: alphabet-e-box, letter-e-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_E_BOX_OUTLINE \ + "\xf3\xb0\xaf\xb7" // U+F0BF7 alpha-e-box-outline, aliases: alphabet-e-box-outline, letter-e-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_E_CIRCLE "\xf3\xb0\xaf\xb8" // U+F0BF8 alpha-e-circle, aliases: alphabet-e-circle, letter-e-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_E_CIRCLE_OUTLINE \ + "\xf3\xb0\xaf\xb9" // U+F0BF9 alpha-e-circle-outline, aliases: alphabet-e-circle-outline, letter-e-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_F "\xf3\xb0\xab\xb3" // U+F0AF3 alpha-f, aliases: alphabet-f, letter-f, tags: Alpha / Numeric +#define ICON_MD_ALPHA_F_BOX "\xf3\xb0\xac\x8d" // U+F0B0D alpha-f-box, aliases: alphabet-f-box, letter-f-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_F_BOX_OUTLINE \ + "\xf3\xb0\xaf\xba" // U+F0BFA alpha-f-box-outline, aliases: alphabet-f-box-outline, letter-f-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_F_CIRCLE "\xf3\xb0\xaf\xbb" // U+F0BFB alpha-f-circle, aliases: alphabet-f-circle, letter-f-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_F_CIRCLE_OUTLINE \ + "\xf3\xb0\xaf\xbc" // U+F0BFC alpha-f-circle-outline, aliases: alphabet-f-circle-outline, letter-f-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_G "\xf3\xb0\xab\xb4" // U+F0AF4 alpha-g, aliases: alphabet-g, letter-g, tags: Alpha / Numeric +#define ICON_MD_ALPHA_G_BOX "\xf3\xb0\xac\x8e" // U+F0B0E alpha-g-box, aliases: alphabet-g-box, letter-g-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_G_BOX_OUTLINE \ + "\xf3\xb0\xaf\xbd" // U+F0BFD alpha-g-box-outline, aliases: alphabet-g-box-outline, letter-g-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_G_CIRCLE "\xf3\xb0\xaf\xbe" // U+F0BFE alpha-g-circle, aliases: alphabet-g-circle, letter-g-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_G_CIRCLE_OUTLINE \ + "\xf3\xb0\xaf\xbf" // U+F0BFF alpha-g-circle-outline, aliases: alphabet-g-circle-outline, letter-g-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_H "\xf3\xb0\xab\xb5" // U+F0AF5 alpha-h, aliases: alphabet-h, letter-h, tags: Alpha / Numeric +#define ICON_MD_ALPHA_H_BOX "\xf3\xb0\xac\x8f" // U+F0B0F alpha-h-box, aliases: alphabet-h-box, letter-h-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_H_BOX_OUTLINE \ + "\xf3\xb0\xb0\x80" // U+F0C00 alpha-h-box-outline, aliases: alphabet-h-box-outline, letter-h-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_H_CIRCLE "\xf3\xb0\xb0\x81" // U+F0C01 alpha-h-circle, aliases: alphabet-h-circle, letter-h-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_H_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\x82" // U+F0C02 alpha-h-circle-outline, aliases: alphabet-h-circle-outline, letter-h-circle-outline, + // helipad, tags: Alpha / Numeric +#define ICON_MD_ALPHA_I "\xf3\xb0\xab\xb6" // U+F0AF6 alpha-i, aliases: alphabet-i, letter-i, roman-numeral-1, tags: Alpha / Numeric +#define ICON_MD_ALPHA_I_BOX "\xf3\xb0\xac\x90" // U+F0B10 alpha-i-box, aliases: alphabet-i-box, letter-i-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_I_BOX_OUTLINE \ + "\xf3\xb0\xb0\x83" // U+F0C03 alpha-i-box-outline, aliases: alphabet-i-box-outline, letter-i-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_I_CIRCLE "\xf3\xb0\xb0\x84" // U+F0C04 alpha-i-circle, aliases: alphabet-i-circle, letter-i-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_I_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\x85" // U+F0C05 alpha-i-circle-outline, aliases: alphabet-i-circle-outline, letter-i-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_J "\xf3\xb0\xab\xb7" // U+F0AF7 alpha-j, aliases: alphabet-j, letter-j, tags: Alpha / Numeric +#define ICON_MD_ALPHA_J_BOX "\xf3\xb0\xac\x91" // U+F0B11 alpha-j-box, aliases: alphabet-j-box, letter-j-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_J_BOX_OUTLINE \ + "\xf3\xb0\xb0\x86" // U+F0C06 alpha-j-box-outline, aliases: alphabet-j-box-outline, letter-j-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_J_CIRCLE "\xf3\xb0\xb0\x87" // U+F0C07 alpha-j-circle, aliases: alphabet-j-circle, letter-j-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_J_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\x88" // U+F0C08 alpha-j-circle-outline, aliases: alphabet-j-circle-outline, letter-j-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_K "\xf3\xb0\xab\xb8" // U+F0AF8 alpha-k, aliases: alphabet-k, letter-k, tags: Alpha / Numeric +#define ICON_MD_ALPHA_K_BOX "\xf3\xb0\xac\x92" // U+F0B12 alpha-k-box, aliases: alphabet-k-box, letter-k-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_K_BOX_OUTLINE \ + "\xf3\xb0\xb0\x89" // U+F0C09 alpha-k-box-outline, aliases: alphabet-k-box-outline, letter-k-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_K_CIRCLE "\xf3\xb0\xb0\x8a" // U+F0C0A alpha-k-circle, aliases: alphabet-k-circle, letter-k-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_K_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\x8b" // U+F0C0B alpha-k-circle-outline, aliases: alphabet-k-circle-outline, letter-k-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_L "\xf3\xb0\xab\xb9" // U+F0AF9 alpha-l, aliases: alphabet-l, letter-l, tags: Alpha / Numeric +#define ICON_MD_ALPHA_L_BOX "\xf3\xb0\xac\x93" // U+F0B13 alpha-l-box, aliases: alphabet-l-box, letter-l-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_L_BOX_OUTLINE \ + "\xf3\xb0\xb0\x8c" // U+F0C0C alpha-l-box-outline, aliases: alphabet-l-box-outline, letter-l-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_L_CIRCLE "\xf3\xb0\xb0\x8d" // U+F0C0D alpha-l-circle, aliases: alphabet-l-circle, letter-l-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_L_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\x8e" // U+F0C0E alpha-l-circle-outline, aliases: alphabet-l-circle-outline, letter-l-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_M "\xf3\xb0\xab\xba" // U+F0AFA alpha-m, aliases: alphabet-m, letter-m, tags: Alpha / Numeric +#define ICON_MD_ALPHA_M_BOX "\xf3\xb0\xac\x94" // U+F0B14 alpha-m-box, aliases: alphabet-m-box, letter-m-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_M_BOX_OUTLINE \ + "\xf3\xb0\xb0\x8f" // U+F0C0F alpha-m-box-outline, aliases: alphabet-m-box-outline, letter-m-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_M_CIRCLE "\xf3\xb0\xb0\x90" // U+F0C10 alpha-m-circle, aliases: alphabet-m-circle, letter-m-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_M_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\x91" // U+F0C11 alpha-m-circle-outline, aliases: alphabet-m-circle-outline, letter-m-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_N "\xf3\xb0\xab\xbb" // U+F0AFB alpha-n, aliases: alphabet-n, letter-n, neutral, tags: Automotive, Alpha / Numeric +#define ICON_MD_ALPHA_N_BOX "\xf3\xb0\xac\x95" // U+F0B15 alpha-n-box, aliases: alphabet-n-box, letter-n-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_N_BOX_OUTLINE \ + "\xf3\xb0\xb0\x92" // U+F0C12 alpha-n-box-outline, aliases: alphabet-n-box-outline, letter-n-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_N_CIRCLE "\xf3\xb0\xb0\x93" // U+F0C13 alpha-n-circle, aliases: alphabet-n-circle, letter-n-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_N_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\x94" // U+F0C14 alpha-n-circle-outline, aliases: alphabet-n-circle-outline, letter-n-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_O "\xf3\xb0\xab\xbc" // U+F0AFC alpha-o, aliases: alphabet-o, letter-o, tags: Alpha / Numeric +#define ICON_MD_ALPHA_O_BOX "\xf3\xb0\xac\x96" // U+F0B16 alpha-o-box, aliases: alphabet-o-box, letter-o-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_O_BOX_OUTLINE \ + "\xf3\xb0\xb0\x95" // U+F0C15 alpha-o-box-outline, aliases: alphabet-o-box-outline, letter-o-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_O_CIRCLE "\xf3\xb0\xb0\x96" // U+F0C16 alpha-o-circle, aliases: alphabet-o-circle, letter-o-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_O_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\x97" // U+F0C17 alpha-o-circle-outline, aliases: alphabet-o-circle-outline, letter-o-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_P "\xf3\xb0\xab\xbd" // U+F0AFD alpha-p, aliases: alphabet-p, letter-p, park, tags: Automotive, Alpha / Numeric +#define ICON_MD_ALPHA_P_BOX "\xf3\xb0\xac\x97" // U+F0B17 alpha-p-box, aliases: alphabet-p-box, letter-p-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_P_BOX_OUTLINE \ + "\xf3\xb0\xb0\x98" // U+F0C18 alpha-p-box-outline, aliases: alphabet-p-box-outline, letter-p-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_P_CIRCLE "\xf3\xb0\xb0\x99" // U+F0C19 alpha-p-circle, aliases: alphabet-p-circle, letter-p-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_P_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\x9a" // U+F0C1A alpha-p-circle-outline, aliases: alphabet-p-circle-outline, letter-p-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_Q "\xf3\xb0\xab\xbe" // U+F0AFE alpha-q, aliases: alphabet-q, letter-q, tags: Alpha / Numeric +#define ICON_MD_ALPHA_Q_BOX "\xf3\xb0\xac\x98" // U+F0B18 alpha-q-box, aliases: alphabet-q-box, letter-q-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_Q_BOX_OUTLINE \ + "\xf3\xb0\xb0\x9b" // U+F0C1B alpha-q-box-outline, aliases: alphabet-q-box-outline, letter-q-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_Q_CIRCLE "\xf3\xb0\xb0\x9c" // U+F0C1C alpha-q-circle, aliases: alphabet-q-circle, letter-q-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_Q_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\x9d" // U+F0C1D alpha-q-circle-outline, aliases: alphabet-q-circle-outline, letter-q-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_R "\xf3\xb0\xab\xbf" // U+F0AFF alpha-r, aliases: alphabet-r, letter-r, reverse, tags: Automotive, Alpha / Numeric +#define ICON_MD_ALPHA_R_BOX "\xf3\xb0\xac\x99" // U+F0B19 alpha-r-box, aliases: alphabet-r-box, letter-r-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_R_BOX_OUTLINE \ + "\xf3\xb0\xb0\x9e" // U+F0C1E alpha-r-box-outline, aliases: alphabet-r-box-outline, letter-r-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_R_CIRCLE "\xf3\xb0\xb0\x9f" // U+F0C1F alpha-r-circle, aliases: alphabet-r-circle, letter-r-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_R_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\xa0" // U+F0C20 alpha-r-circle-outline, aliases: alphabet-r-circle-outline, letter-r-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_S "\xf3\xb0\xac\x80" // U+F0B00 alpha-s, aliases: alphabet-s, letter-s, tags: Alpha / Numeric +#define ICON_MD_ALPHA_S_BOX "\xf3\xb0\xac\x9a" // U+F0B1A alpha-s-box, aliases: alphabet-s-box, letter-s-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_S_BOX_OUTLINE \ + "\xf3\xb0\xb0\xa1" // U+F0C21 alpha-s-box-outline, aliases: alphabet-s-box-outline, letter-s-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_S_CIRCLE "\xf3\xb0\xb0\xa2" // U+F0C22 alpha-s-circle, aliases: alphabet-s-circle, letter-s-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_S_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\xa3" // U+F0C23 alpha-s-circle-outline, aliases: alphabet-s-circle-outline, letter-s-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_T "\xf3\xb0\xac\x81" // U+F0B01 alpha-t, aliases: alphabet-t, letter-t, tags: Alpha / Numeric +#define ICON_MD_ALPHA_T_BOX "\xf3\xb0\xac\x9b" // U+F0B1B alpha-t-box, aliases: alphabet-t-box, letter-t-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_T_BOX_OUTLINE \ + "\xf3\xb0\xb0\xa4" // U+F0C24 alpha-t-box-outline, aliases: alphabet-t-box-outline, letter-t-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_T_CIRCLE "\xf3\xb0\xb0\xa5" // U+F0C25 alpha-t-circle, aliases: alphabet-t-circle, letter-t-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_T_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\xa6" // U+F0C26 alpha-t-circle-outline, aliases: alphabet-t-circle-outline, letter-t-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_U "\xf3\xb0\xac\x82" // U+F0B02 alpha-u, aliases: alphabet-u, letter-u, tags: Alpha / Numeric +#define ICON_MD_ALPHA_U_BOX "\xf3\xb0\xac\x9c" // U+F0B1C alpha-u-box, aliases: alphabet-u-box, letter-u-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_U_BOX_OUTLINE \ + "\xf3\xb0\xb0\xa7" // U+F0C27 alpha-u-box-outline, aliases: alphabet-u-box-outline, letter-u-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_U_CIRCLE "\xf3\xb0\xb0\xa8" // U+F0C28 alpha-u-circle, aliases: alphabet-u-circle, letter-u-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_U_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\xa9" // U+F0C29 alpha-u-circle-outline, aliases: alphabet-u-circle-outline, letter-u-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_V "\xf3\xb0\xac\x83" // U+F0B03 alpha-v, aliases: alphabet-v, letter-v, roman-numeral-5, tags: Alpha / Numeric +#define ICON_MD_ALPHA_V_BOX "\xf3\xb0\xac\x9d" // U+F0B1D alpha-v-box, aliases: alphabet-v-box, letter-v-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_V_BOX_OUTLINE \ + "\xf3\xb0\xb0\xaa" // U+F0C2A alpha-v-box-outline, aliases: alphabet-v-box-outline, letter-v-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_V_CIRCLE "\xf3\xb0\xb0\xab" // U+F0C2B alpha-v-circle, aliases: alphabet-v-circle, letter-v-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_V_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\xac" // U+F0C2C alpha-v-circle-outline, aliases: alphabet-v-circle-outline, letter-v-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_W "\xf3\xb0\xac\x84" // U+F0B04 alpha-w, aliases: alphabet-w, letter-w, tags: Alpha / Numeric +#define ICON_MD_ALPHA_W_BOX "\xf3\xb0\xac\x9e" // U+F0B1E alpha-w-box, aliases: alphabet-w-box, letter-w-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_W_BOX_OUTLINE \ + "\xf3\xb0\xb0\xad" // U+F0C2D alpha-w-box-outline, aliases: alphabet-w-box-outline, letter-w-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_W_CIRCLE "\xf3\xb0\xb0\xae" // U+F0C2E alpha-w-circle, aliases: alphabet-w-circle, letter-w-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_W_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\xaf" // U+F0C2F alpha-w-circle-outline, aliases: alphabet-w-circle-outline, letter-w-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_X "\xf3\xb0\xac\x85" // U+F0B05 alpha-x, aliases: alphabet-x, letter-x, roman-numeral-10, tags: Alpha / Numeric +#define ICON_MD_ALPHA_X_BOX "\xf3\xb0\xac\x9f" // U+F0B1F alpha-x-box, aliases: alphabet-x-box, letter-x-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_X_BOX_OUTLINE \ + "\xf3\xb0\xb0\xb0" // U+F0C30 alpha-x-box-outline, aliases: alphabet-x-box-outline, letter-x-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_X_CIRCLE "\xf3\xb0\xb0\xb1" // U+F0C31 alpha-x-circle, aliases: alphabet-x-circle, letter-x-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_X_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\xb2" // U+F0C32 alpha-x-circle-outline, aliases: alphabet-x-circle-outline, letter-x-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_Y "\xf3\xb0\xac\x86" // U+F0B06 alpha-y, aliases: alphabet-y, letter-y, tags: Alpha / Numeric +#define ICON_MD_ALPHA_Y_BOX "\xf3\xb0\xac\xa0" // U+F0B20 alpha-y-box, aliases: alphabet-y-box, letter-y-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_Y_BOX_OUTLINE \ + "\xf3\xb0\xb0\xb3" // U+F0C33 alpha-y-box-outline, aliases: alphabet-y-box-outline, letter-y-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_Y_CIRCLE "\xf3\xb0\xb0\xb4" // U+F0C34 alpha-y-circle, aliases: alphabet-y-circle, letter-y-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_Y_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\xb5" // U+F0C35 alpha-y-circle-outline, aliases: alphabet-y-circle-outline, letter-y-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHA_Z "\xf3\xb0\xac\x87" // U+F0B07 alpha-z, aliases: alphabet-z, letter-z, tags: Alpha / Numeric +#define ICON_MD_ALPHA_Z_BOX "\xf3\xb0\xac\xa1" // U+F0B21 alpha-z-box, aliases: alphabet-z-box, letter-z-box, tags: Alpha / Numeric +#define ICON_MD_ALPHA_Z_BOX_OUTLINE \ + "\xf3\xb0\xb0\xb6" // U+F0C36 alpha-z-box-outline, aliases: alphabet-z-box-outline, letter-z-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_ALPHA_Z_CIRCLE "\xf3\xb0\xb0\xb7" // U+F0C37 alpha-z-circle, aliases: alphabet-z-circle, letter-z-circle, tags: Alpha / Numeric +#define ICON_MD_ALPHA_Z_CIRCLE_OUTLINE \ + "\xf3\xb0\xb0\xb8" // U+F0C38 alpha-z-circle-outline, aliases: alphabet-z-circle-outline, letter-z-circle-outline, + // tags: Alpha / Numeric +#define ICON_MD_ALPHABET_AUREBESH "\xf3\xb1\x8c\xac" // U+F132C alphabet-aurebesh, aliases: writing-system-aurebesh, tags: Alpha / Numeric +#define ICON_MD_ALPHABET_CYRILLIC "\xf3\xb1\x8c\xad" // U+F132D alphabet-cyrillic, aliases: writing-system-cyrillic, tags: Alpha / Numeric +#define ICON_MD_ALPHABET_GREEK "\xf3\xb1\x8c\xae" // U+F132E alphabet-greek, aliases: writing-system-greek, tags: Alpha / Numeric +#define ICON_MD_ALPHABET_LATIN "\xf3\xb1\x8c\xaf" // U+F132F alphabet-latin, aliases: writing-system-latin, tags: Alpha / Numeric +#define ICON_MD_ALPHABET_PIQAD "\xf3\xb1\x8c\xb0" // U+F1330 alphabet-piqad, aliases: writing-system-piqad, tags: Alpha / Numeric +#define ICON_MD_ALPHABET_TENGWAR "\xf3\xb1\x8c\xb7" // U+F1337 alphabet-tengwar, aliases: writing-system-tengwar, tags: Alpha / Numeric +#define ICON_MD_ALPHABETICAL "\xf3\xb0\x80\xac" // U+F002C alphabetical, aliases: letters, a-b-c, abc, tags: Alpha / Numeric +#define ICON_MD_ALPHABETICAL_OFF "\xf3\xb1\x80\x8c" // U+F100C alphabetical-off, aliases: letters-off, abc-off, a-b-c-off, tags: Alpha / Numeric +#define ICON_MD_ALPHABETICAL_VARIANT "\xf3\xb1\x80\x8d" // U+F100D alphabetical-variant, aliases: letters, abc, a-b-c, tags: Alpha / Numeric +#define ICON_MD_ALPHABETICAL_VARIANT_OFF \ + "\xf3\xb1\x80\x8e" // U+F100E alphabetical-variant-off, aliases: letters-off, abc-off, a-b-c-off, tags: Alpha / + // Numeric +#define ICON_MD_ALTIMETER "\xf3\xb0\x97\x97" // U+F05D7 altimeter +#define ICON_MD_AMBULANCE "\xf3\xb0\x80\xaf" // U+F002F ambulance, tags: Transportation + Road, Medical / Hospital +#define ICON_MD_AMMUNITION "\xf3\xb0\xb3\xa8" // U+F0CE8 ammunition, aliases: bullets +#define ICON_MD_AMPERSAND "\xf3\xb0\xaa\x8d" // U+F0A8D ampersand, aliases: and +#define ICON_MD_AMPLIFIER "\xf3\xb0\x80\xb0" // U+F0030 amplifier, tags: Home Automation, Music +#define ICON_MD_AMPLIFIER_OFF "\xf3\xb1\x86\xb5" // U+F11B5 amplifier-off +#define ICON_MD_ANCHOR "\xf3\xb0\x80\xb1" // U+F0031 anchor, tags: Transportation + Water +#define ICON_MD_ANDROID "\xf3\xb0\x80\xb2" // U+F0032 android, tags: Brand / Logo +#define ICON_MD_ANDROID_STUDIO "\xf3\xb0\x80\xb4" // U+F0034 android-studio, aliases: math-compass-variant, tags: Brand / Logo +#define ICON_MD_ANGLE_ACUTE "\xf3\xb0\xa4\xb7" // U+F0937 angle-acute, tags: Math +#define ICON_MD_ANGLE_OBTUSE "\xf3\xb0\xa4\xb8" // U+F0938 angle-obtuse, tags: Math +#define ICON_MD_ANGLE_RIGHT "\xf3\xb0\xa4\xb9" // U+F0939 angle-right, tags: Math +#define ICON_MD_ANGULAR "\xf3\xb0\x9a\xb2" // U+F06B2 angular, tags: Brand / Logo, Developer / Languages +#define ICON_MD_ANGULARJS "\xf3\xb0\x9a\xbf" // U+F06BF angularjs, tags: Brand / Logo, Developer / Languages +#define ICON_MD_ANIMATION "\xf3\xb0\x97\x98" // U+F05D8 animation, aliases: auto-awesome-motion +#define ICON_MD_ANIMATION_OUTLINE "\xf3\xb0\xaa\x8f" // U+F0A8F animation-outline +#define ICON_MD_ANIMATION_PLAY "\xf3\xb0\xa4\xba" // U+F093A animation-play +#define ICON_MD_ANIMATION_PLAY_OUTLINE "\xf3\xb0\xaa\x90" // U+F0A90 animation-play-outline +#define ICON_MD_ANSIBLE "\xf3\xb1\x82\x9a" // U+F109A ansible, tags: Developer / Languages, Brand / Logo +#define ICON_MD_ANTENNA "\xf3\xb1\x84\x99" // U+F1119 antenna +#define ICON_MD_ANVIL "\xf3\xb0\xa2\x9b" // U+F089B anvil +#define ICON_MD_APACHE_KAFKA "\xf3\xb1\x80\x8f" // U+F100F apache-kafka, tags: Brand / Logo, Developer / Languages +#define ICON_MD_API "\xf3\xb1\x82\x9b" // U+F109B api, tags: Developer / Languages +#define ICON_MD_API_OFF "\xf3\xb1\x89\x97" // U+F1257 api-off, tags: Developer / Languages +#define ICON_MD_APPLE "\xf3\xb0\x80\xb5" // U+F0035 apple, tags: Brand / Logo +#define ICON_MD_APPLE_FINDER "\xf3\xb0\x80\xb6" // U+F0036 apple-finder, tags: Brand / Logo +#define ICON_MD_APPLE_ICLOUD "\xf3\xb0\x80\xb8" // U+F0038 apple-icloud, aliases: apple-mobileme, tags: Brand / Logo +#define ICON_MD_APPLE_IOS "\xf3\xb0\x80\xb7" // U+F0037 apple-ios, tags: Brand / Logo +#define ICON_MD_APPLE_KEYBOARD_CAPS "\xf3\xb0\x98\xb2" // U+F0632 apple-keyboard-caps +#define ICON_MD_APPLE_KEYBOARD_COMMAND "\xf3\xb0\x98\xb3" // U+F0633 apple-keyboard-command +#define ICON_MD_APPLE_KEYBOARD_CONTROL "\xf3\xb0\x98\xb4" // U+F0634 apple-keyboard-control +#define ICON_MD_APPLE_KEYBOARD_OPTION "\xf3\xb0\x98\xb5" // U+F0635 apple-keyboard-option +#define ICON_MD_APPLE_KEYBOARD_SHIFT "\xf3\xb0\x98\xb6" // U+F0636 apple-keyboard-shift +#define ICON_MD_APPLE_SAFARI "\xf3\xb0\x80\xb9" // U+F0039 apple-safari, tags: Brand / Logo +#define ICON_MD_APPLICATION "\xf3\xb0\xa3\x86" // U+F08C6 application, aliases: iframe +#define ICON_MD_APPLICATION_ARRAY "\xf3\xb1\x83\xb5" // U+F10F5 application-array, aliases: iframe-array, tags: Developer / Languages +#define ICON_MD_APPLICATION_ARRAY_OUTLINE "\xf3\xb1\x83\xb6" // U+F10F6 application-array-outline, aliases: iframe-array-outline, tags: Developer / Languages +#define ICON_MD_APPLICATION_BRACES "\xf3\xb1\x83\xb7" // U+F10F7 application-braces, aliases: iframe-braces, tags: Developer / Languages +#define ICON_MD_APPLICATION_BRACES_OUTLINE \ + "\xf3\xb1\x83\xb8" // U+F10F8 application-braces-outline, aliases: iframe-braces-outline, tags: Developer / + // Languages +#define ICON_MD_APPLICATION_BRACKETS "\xf3\xb0\xb2\x8b" // U+F0C8B application-brackets, aliases: iframe-brackets, tags: Developer / Languages +#define ICON_MD_APPLICATION_BRACKETS_OUTLINE \ + "\xf3\xb0\xb2\x8c" // U+F0C8C application-brackets-outline, aliases: iframe-brackets-outline, tags: Developer / + // Languages +#define ICON_MD_APPLICATION_COG "\xf3\xb0\x99\xb5" // U+F0675 application-cog, aliases: iframe-cog +#define ICON_MD_APPLICATION_COG_OUTLINE \ + "\xf3\xb1\x95\xb7" // U+F1577 application-cog-outline, aliases: application-settings, iframe-cog-outline, tags: + // Settings +#define ICON_MD_APPLICATION_EDIT "\xf3\xb0\x82\xae" // U+F00AE application-edit, aliases: iframe-edit, tags: Edit / Modify +#define ICON_MD_APPLICATION_EDIT_OUTLINE "\xf3\xb0\x98\x99" // U+F0619 application-edit-outline, aliases: iframe-edit-outline, tags: Edit / Modify +#define ICON_MD_APPLICATION_EXPORT "\xf3\xb0\xb6\xad" // U+F0DAD application-export, aliases: iframe-export-outline +#define ICON_MD_APPLICATION_IMPORT "\xf3\xb0\xb6\xae" // U+F0DAE application-import, aliases: iframe-import-outline +#define ICON_MD_APPLICATION_OUTLINE "\xf3\xb0\x98\x94" // U+F0614 application-outline, aliases: web-asset, iframe-outline +#define ICON_MD_APPLICATION_PARENTHESES "\xf3\xb1\x83\xb9" // U+F10F9 application-parentheses, aliases: iframe-parentheses, tags: Developer / Languages +#define ICON_MD_APPLICATION_PARENTHESES_OUTLINE \ + "\xf3\xb1\x83\xba" // U+F10FA application-parentheses-outline, aliases: iframe-parentheses-outline, tags: Developer + // / Languages +#define ICON_MD_APPLICATION_SETTINGS "\xf3\xb0\xad\xa0" // U+F0B60 application-settings, aliases: iframe-settings, tags: Settings +#define ICON_MD_APPLICATION_SETTINGS_OUTLINE "\xf3\xb1\x95\x95" // U+F1555 application-settings-outline, aliases: iframe-settings-outline, tags: Settings +#define ICON_MD_APPLICATION_VARIABLE "\xf3\xb1\x83\xbb" // U+F10FB application-variable, aliases: iframe-variable, tags: Developer / Languages +#define ICON_MD_APPLICATION_VARIABLE_OUTLINE \ + "\xf3\xb1\x83\xbc" // U+F10FC application-variable-outline, aliases: iframe-variable-outline, tags: Developer / + // Languages +#define ICON_MD_APPROXIMATELY_EQUAL "\xf3\xb0\xbe\x9e" // U+F0F9E approximately-equal, tags: Math +#define ICON_MD_APPROXIMATELY_EQUAL_BOX "\xf3\xb0\xbe\x9f" // U+F0F9F approximately-equal-box, tags: Math +#define ICON_MD_APPS "\xf3\xb0\x80\xbb" // U+F003B apps, tags: View +#define ICON_MD_APPS_BOX "\xf3\xb0\xb5\x86" // U+F0D46 apps-box +#define ICON_MD_ARCH "\xf3\xb0\xa3\x87" // U+F08C7 arch, tags: Brand / Logo +#define ICON_MD_ARCHIVE "\xf3\xb0\x80\xbc" // U+F003C archive, aliases: box +#define ICON_MD_ARCHIVE_ALERT "\xf3\xb1\x93\xbd" // U+F14FD archive-alert, aliases: box-alert, tags: Alert / Error +#define ICON_MD_ARCHIVE_ALERT_OUTLINE "\xf3\xb1\x93\xbe" // U+F14FE archive-alert-outline, aliases: box-alert-outline, tags: Alert / Error +#define ICON_MD_ARCHIVE_ARROW_DOWN "\xf3\xb1\x89\x99" // U+F1259 archive-arrow-down, aliases: box-arrow-down, this-side-down +#define ICON_MD_ARCHIVE_ARROW_DOWN_OUTLINE "\xf3\xb1\x89\x9a" // U+F125A archive-arrow-down-outline, aliases: box-arrow-down, this-side-down-outline +#define ICON_MD_ARCHIVE_ARROW_UP "\xf3\xb1\x89\x9b" // U+F125B archive-arrow-up, aliases: box-arrow-up, this-side-up +#define ICON_MD_ARCHIVE_ARROW_UP_OUTLINE "\xf3\xb1\x89\x9c" // U+F125C archive-arrow-up-outline, aliases: box-arrow-up-outline, this-side-up-outline +#define ICON_MD_ARCHIVE_CANCEL "\xf3\xb1\x9d\x8b" // U+F174B archive-cancel, aliases: box-cancel +#define ICON_MD_ARCHIVE_CANCEL_OUTLINE "\xf3\xb1\x9d\x8c" // U+F174C archive-cancel-outline, aliases: box-cancel-outline +#define ICON_MD_ARCHIVE_CHECK "\xf3\xb1\x9d\x8d" // U+F174D archive-check, aliases: box-check +#define ICON_MD_ARCHIVE_CHECK_OUTLINE "\xf3\xb1\x9d\x8e" // U+F174E archive-check-outline, aliases: box-check-outline +#define ICON_MD_ARCHIVE_CLOCK "\xf3\xb1\x9d\x8f" // U+F174F archive-clock, aliases: box-clock, box-time, archive-time, tags: Date / Time +#define ICON_MD_ARCHIVE_CLOCK_OUTLINE \ + "\xf3\xb1\x9d\x90" // U+F1750 archive-clock-outline, aliases: box-clock-outline, box-time-outline, + // archive-time-outline, tags: Date / Time +#define ICON_MD_ARCHIVE_COG "\xf3\xb1\x9d\x91" // U+F1751 archive-cog, aliases: box-cog +#define ICON_MD_ARCHIVE_COG_OUTLINE "\xf3\xb1\x9d\x92" // U+F1752 archive-cog-outline, aliases: box-cog-outline +#define ICON_MD_ARCHIVE_EDIT "\xf3\xb1\x9d\x93" // U+F1753 archive-edit, aliases: box-edit, tags: Edit / Modify +#define ICON_MD_ARCHIVE_EDIT_OUTLINE "\xf3\xb1\x9d\x94" // U+F1754 archive-edit-outline, aliases: box-edit-outline, tags: Edit / Modify +#define ICON_MD_ARCHIVE_EYE "\xf3\xb1\x9d\x95" // U+F1755 archive-eye, aliases: archive-view, box-eye, box-view +#define ICON_MD_ARCHIVE_EYE_OUTLINE "\xf3\xb1\x9d\x96" // U+F1756 archive-eye-outline, aliases: archive-view-outline, box-eye-outline, box-view-outline +#define ICON_MD_ARCHIVE_LOCK "\xf3\xb1\x9d\x97" // U+F1757 archive-lock, aliases: box-lock, tags: Lock +#define ICON_MD_ARCHIVE_LOCK_OPEN "\xf3\xb1\x9d\x98" // U+F1758 archive-lock-open, aliases: box-lock-open, tags: Lock +#define ICON_MD_ARCHIVE_LOCK_OPEN_OUTLINE "\xf3\xb1\x9d\x99" // U+F1759 archive-lock-open-outline, aliases: box-lock-open-outline, tags: Lock +#define ICON_MD_ARCHIVE_LOCK_OUTLINE "\xf3\xb1\x9d\x9a" // U+F175A archive-lock-outline, aliases: box-lock-outline, tags: Lock +#define ICON_MD_ARCHIVE_MARKER "\xf3\xb1\x9d\x9b" // U+F175B archive-marker, aliases: archive-location, box-marker, box-location, tags: Navigation +#define ICON_MD_ARCHIVE_MARKER_OUTLINE \ + "\xf3\xb1\x9d\x9c" // U+F175C archive-marker-outline, aliases: archive-location-outline, box-marker-outline, + // box-location-outline, tags: Navigation +#define ICON_MD_ARCHIVE_MINUS "\xf3\xb1\x9d\x9d" // U+F175D archive-minus, aliases: box-minus +#define ICON_MD_ARCHIVE_MINUS_OUTLINE "\xf3\xb1\x9d\x9e" // U+F175E archive-minus-outline, aliases: box-minus-outline +#define ICON_MD_ARCHIVE_MUSIC "\xf3\xb1\x9d\x9f" // U+F175F archive-music, aliases: box-music, tags: Music +#define ICON_MD_ARCHIVE_MUSIC_OUTLINE "\xf3\xb1\x9d\xa0" // U+F1760 archive-music-outline, aliases: box-music-outline, tags: Music +#define ICON_MD_ARCHIVE_OFF "\xf3\xb1\x9d\xa1" // U+F1761 archive-off, aliases: box-off +#define ICON_MD_ARCHIVE_OFF_OUTLINE "\xf3\xb1\x9d\xa2" // U+F1762 archive-off-outline, aliases: box-off-outline +#define ICON_MD_ARCHIVE_OUTLINE "\xf3\xb1\x88\x8e" // U+F120E archive-outline, aliases: box-outline +#define ICON_MD_ARCHIVE_PLUS "\xf3\xb1\x9d\xa3" // U+F1763 archive-plus, aliases: archive-add, box-plus, box-add +#define ICON_MD_ARCHIVE_PLUS_OUTLINE "\xf3\xb1\x9d\xa4" // U+F1764 archive-plus-outline, aliases: archive-add-outline, box-plus-outline, box-add-outline +#define ICON_MD_ARCHIVE_REFRESH "\xf3\xb1\x9d\xa5" // U+F1765 archive-refresh, aliases: box-refresh +#define ICON_MD_ARCHIVE_REFRESH_OUTLINE "\xf3\xb1\x9d\xa6" // U+F1766 archive-refresh-outline, aliases: box-refresh-outline +#define ICON_MD_ARCHIVE_REMOVE "\xf3\xb1\x9d\xa7" // U+F1767 archive-remove, aliases: box-remove +#define ICON_MD_ARCHIVE_REMOVE_OUTLINE "\xf3\xb1\x9d\xa8" // U+F1768 archive-remove-outline, aliases: box-remove-outline +#define ICON_MD_ARCHIVE_SEARCH "\xf3\xb1\x9d\xa9" // U+F1769 archive-search, aliases: box-search +#define ICON_MD_ARCHIVE_SEARCH_OUTLINE "\xf3\xb1\x9d\xaa" // U+F176A archive-search-outline, aliases: box-search-outline +#define ICON_MD_ARCHIVE_SETTINGS "\xf3\xb1\x9d\xab" // U+F176B archive-settings, aliases: box-settings, tags: Settings +#define ICON_MD_ARCHIVE_SETTINGS_OUTLINE "\xf3\xb1\x9d\xac" // U+F176C archive-settings-outline, aliases: box-settings-outline, tags: Settings +#define ICON_MD_ARCHIVE_STAR "\xf3\xb1\x9d\xad" // U+F176D archive-star, aliases: archive-favorite, box-star, box-favorite +#define ICON_MD_ARCHIVE_STAR_OUTLINE \ + "\xf3\xb1\x9d\xae" // U+F176E archive-star-outline, aliases: archive-favorite-outline, box-star-outline, + // box-favorite-outline +#define ICON_MD_ARCHIVE_SYNC "\xf3\xb1\x9d\xaf" // U+F176F archive-sync, aliases: box-sync +#define ICON_MD_ARCHIVE_SYNC_OUTLINE "\xf3\xb1\x9d\xb0" // U+F1770 archive-sync-outline, aliases: box-sync-outline +#define ICON_MD_ARM_FLEX "\xf3\xb0\xbf\x97" // U+F0FD7 arm-flex +#define ICON_MD_ARM_FLEX_OUTLINE "\xf3\xb0\xbf\x96" // U+F0FD6 arm-flex-outline +#define ICON_MD_ARRANGE_BRING_FORWARD "\xf3\xb0\x80\xbd" // U+F003D arrange-bring-forward, tags: Arrange, Geographic Information System +#define ICON_MD_ARRANGE_BRING_TO_FRONT "\xf3\xb0\x80\xbe" // U+F003E arrange-bring-to-front, tags: Arrange, Geographic Information System +#define ICON_MD_ARRANGE_SEND_BACKWARD "\xf3\xb0\x80\xbf" // U+F003F arrange-send-backward, tags: Arrange, Geographic Information System +#define ICON_MD_ARRANGE_SEND_TO_BACK "\xf3\xb0\x81\x80" // U+F0040 arrange-send-to-back, tags: Arrange, Geographic Information System +#define ICON_MD_ARROW_ALL "\xf3\xb0\x81\x81" // U+F0041 arrow-all, tags: Arrow +#define ICON_MD_ARROW_BOTTOM_LEFT "\xf3\xb0\x81\x82" // U+F0042 arrow-bottom-left, aliases: arrow-down-left, tags: Arrow +#define ICON_MD_ARROW_BOTTOM_LEFT_BOLD_BOX "\xf3\xb1\xa5\xa4" // U+F1964 arrow-bottom-left-bold-box, tags: Arrow +#define ICON_MD_ARROW_BOTTOM_LEFT_BOLD_BOX_OUTLINE "\xf3\xb1\xa5\xa5" // U+F1965 arrow-bottom-left-bold-box-outline, tags: Arrow +#define ICON_MD_ARROW_BOTTOM_LEFT_BOLD_OUTLINE "\xf3\xb0\xa6\xb7" // U+F09B7 arrow-bottom-left-bold-outline, aliases: arrow-down-left-bold-outline, tags: Arrow +#define ICON_MD_ARROW_BOTTOM_LEFT_THICK \ + "\xf3\xb0\xa6\xb8" // U+F09B8 arrow-bottom-left-thick, aliases: arrow-down-left-thick, arrow-bottom-left-bold, + // arrow-down-left-bold, tags: Arrow +#define ICON_MD_ARROW_BOTTOM_LEFT_THIN "\xf3\xb1\xa6\xb6" // U+F19B6 arrow-bottom-left-thin, tags: Arrow +#define ICON_MD_ARROW_BOTTOM_LEFT_THIN_CIRCLE_OUTLINE "\xf3\xb1\x96\x96" // U+F1596 arrow-bottom-left-thin-circle-outline, tags: Arrow +#define ICON_MD_ARROW_BOTTOM_RIGHT "\xf3\xb0\x81\x83" // U+F0043 arrow-bottom-right, aliases: arrow-down-right, tags: Arrow +#define ICON_MD_ARROW_BOTTOM_RIGHT_BOLD_BOX "\xf3\xb1\xa5\xa6" // U+F1966 arrow-bottom-right-bold-box, tags: Arrow +#define ICON_MD_ARROW_BOTTOM_RIGHT_BOLD_BOX_OUTLINE "\xf3\xb1\xa5\xa7" // U+F1967 arrow-bottom-right-bold-box-outline, tags: Arrow +#define ICON_MD_ARROW_BOTTOM_RIGHT_BOLD_OUTLINE "\xf3\xb0\xa6\xb9" // U+F09B9 arrow-bottom-right-bold-outline, aliases: arrow-down-right-bold-outline, tags: Arrow +#define ICON_MD_ARROW_BOTTOM_RIGHT_THICK \ + "\xf3\xb0\xa6\xba" // U+F09BA arrow-bottom-right-thick, aliases: arrow-down-right-thick, arrow-bottom-right-bold, + // arrow-down-right-bold, tags: Arrow +#define ICON_MD_ARROW_BOTTOM_RIGHT_THIN "\xf3\xb1\xa6\xb7" // U+F19B7 arrow-bottom-right-thin, tags: Arrow +#define ICON_MD_ARROW_BOTTOM_RIGHT_THIN_CIRCLE_OUTLINE "\xf3\xb1\x96\x95" // U+F1595 arrow-bottom-right-thin-circle-outline, tags: Arrow +#define ICON_MD_ARROW_COLLAPSE "\xf3\xb0\x98\x95" // U+F0615 arrow-collapse, aliases: arrow-compress, tags: Arrow +#define ICON_MD_ARROW_COLLAPSE_ALL "\xf3\xb0\x81\x84" // U+F0044 arrow-collapse-all, aliases: arrow-compress-all, tags: Arrow +#define ICON_MD_ARROW_COLLAPSE_DOWN "\xf3\xb0\x9e\x92" // U+F0792 arrow-collapse-down, aliases: arrow-compress-down, tags: Arrow +#define ICON_MD_ARROW_COLLAPSE_HORIZONTAL "\xf3\xb0\xa1\x8c" // U+F084C arrow-collapse-horizontal, tags: Arrow +#define ICON_MD_ARROW_COLLAPSE_LEFT "\xf3\xb0\x9e\x93" // U+F0793 arrow-collapse-left, aliases: arrow-compress-left, tags: Arrow +#define ICON_MD_ARROW_COLLAPSE_RIGHT "\xf3\xb0\x9e\x94" // U+F0794 arrow-collapse-right, aliases: arrow-compress-right, tags: Arrow +#define ICON_MD_ARROW_COLLAPSE_UP "\xf3\xb0\x9e\x95" // U+F0795 arrow-collapse-up, aliases: arrow-compress-up, tags: Arrow +#define ICON_MD_ARROW_COLLAPSE_VERTICAL "\xf3\xb0\xa1\x8d" // U+F084D arrow-collapse-vertical, aliases: compress, tags: Arrow +#define ICON_MD_ARROW_DECISION "\xf3\xb0\xa6\xbb" // U+F09BB arrow-decision, aliases: proxy, tags: Arrow +#define ICON_MD_ARROW_DECISION_AUTO "\xf3\xb0\xa6\xbc" // U+F09BC arrow-decision-auto, aliases: proxy-auto +#define ICON_MD_ARROW_DECISION_AUTO_OUTLINE "\xf3\xb0\xa6\xbd" // U+F09BD arrow-decision-auto-outline, aliases: proxy-auto-outline +#define ICON_MD_ARROW_DECISION_OUTLINE "\xf3\xb0\xa6\xbe" // U+F09BE arrow-decision-outline, aliases: proxy-outline, tags: Arrow +#define ICON_MD_ARROW_DOWN "\xf3\xb0\x81\x85" // U+F0045 arrow-down, aliases: arrow-downward, arrow-bottom, tags: Arrow +#define ICON_MD_ARROW_DOWN_BOLD "\xf3\xb0\x9c\xae" // U+F072E arrow-down-bold, aliases: arrow-bottom-bold, tags: Arrow +#define ICON_MD_ARROW_DOWN_BOLD_BOX "\xf3\xb0\x9c\xaf" // U+F072F arrow-down-bold-box, aliases: arrow-bottom-bold-box, tags: Arrow +#define ICON_MD_ARROW_DOWN_BOLD_BOX_OUTLINE "\xf3\xb0\x9c\xb0" // U+F0730 arrow-down-bold-box-outline, aliases: arrow-bottom-bold-box-outline, tags: Arrow +#define ICON_MD_ARROW_DOWN_BOLD_CIRCLE "\xf3\xb0\x81\x87" // U+F0047 arrow-down-bold-circle, aliases: arrow-bottom-bold-circle, tags: Arrow +#define ICON_MD_ARROW_DOWN_BOLD_CIRCLE_OUTLINE "\xf3\xb0\x81\x88" // U+F0048 arrow-down-bold-circle-outline, aliases: arrow-bottom-bold-circle-outline, tags: Arrow +#define ICON_MD_ARROW_DOWN_BOLD_HEXAGON_OUTLINE \ + "\xf3\xb0\x81\x89" // U+F0049 arrow-down-bold-hexagon-outline, aliases: arrow-bottom-bold-hexagon-outline, tags: + // Arrow +#define ICON_MD_ARROW_DOWN_BOLD_OUTLINE "\xf3\xb0\xa6\xbf" // U+F09BF arrow-down-bold-outline, aliases: arrow-bottom-bold-outline, tags: Arrow +#define ICON_MD_ARROW_DOWN_BOX "\xf3\xb0\x9b\x80" // U+F06C0 arrow-down-box, aliases: arrow-bottom-box, tags: Arrow +#define ICON_MD_ARROW_DOWN_CIRCLE "\xf3\xb0\xb3\x9b" // U+F0CDB arrow-down-circle, aliases: arrow-bottom-circle, tags: Arrow +#define ICON_MD_ARROW_DOWN_CIRCLE_OUTLINE "\xf3\xb0\xb3\x9c" // U+F0CDC arrow-down-circle-outline, aliases: arrow-bottom-circle-outline, tags: Arrow +#define ICON_MD_ARROW_DOWN_DROP_CIRCLE \ + "\xf3\xb0\x81\x8a" // U+F004A arrow-down-drop-circle, aliases: arrow-drop-down-circle, arrow-bottom-drop-circle, + // tags: Arrow +#define ICON_MD_ARROW_DOWN_DROP_CIRCLE_OUTLINE "\xf3\xb0\x81\x8b" // U+F004B arrow-down-drop-circle-outline, aliases: arrow-bottom-drop-circle-outline, tags: Arrow +#define ICON_MD_ARROW_DOWN_LEFT "\xf3\xb1\x9e\xa1" // U+F17A1 arrow-down-left, tags: Arrow +#define ICON_MD_ARROW_DOWN_LEFT_BOLD "\xf3\xb1\x9e\xa2" // U+F17A2 arrow-down-left-bold, tags: Arrow +#define ICON_MD_ARROW_DOWN_RIGHT "\xf3\xb1\x9e\xa3" // U+F17A3 arrow-down-right, tags: Arrow +#define ICON_MD_ARROW_DOWN_RIGHT_BOLD "\xf3\xb1\x9e\xa4" // U+F17A4 arrow-down-right-bold +#define ICON_MD_ARROW_DOWN_THICK \ + "\xf3\xb0\x81\x86" // U+F0046 arrow-down-thick, aliases: arrow-bottom-thick, arrow-down-bold, arrow-bottom-bold, + // tags: Arrow +#define ICON_MD_ARROW_DOWN_THIN "\xf3\xb1\xa6\xb3" // U+F19B3 arrow-down-thin, tags: Arrow +#define ICON_MD_ARROW_DOWN_THIN_CIRCLE_OUTLINE "\xf3\xb1\x96\x99" // U+F1599 arrow-down-thin-circle-outline, tags: Arrow +#define ICON_MD_ARROW_EXPAND "\xf3\xb0\x98\x96" // U+F0616 arrow-expand, tags: Arrow +#define ICON_MD_ARROW_EXPAND_ALL "\xf3\xb0\x81\x8c" // U+F004C arrow-expand-all, tags: Arrow, Geographic Information System +#define ICON_MD_ARROW_EXPAND_DOWN "\xf3\xb0\x9e\x96" // U+F0796 arrow-expand-down, tags: Arrow +#define ICON_MD_ARROW_EXPAND_HORIZONTAL "\xf3\xb0\xa1\x8e" // U+F084E arrow-expand-horizontal, tags: Arrow +#define ICON_MD_ARROW_EXPAND_LEFT "\xf3\xb0\x9e\x97" // U+F0797 arrow-expand-left, tags: Arrow +#define ICON_MD_ARROW_EXPAND_RIGHT "\xf3\xb0\x9e\x98" // U+F0798 arrow-expand-right, tags: Arrow +#define ICON_MD_ARROW_EXPAND_UP "\xf3\xb0\x9e\x99" // U+F0799 arrow-expand-up, tags: Arrow +#define ICON_MD_ARROW_EXPAND_VERTICAL "\xf3\xb0\xa1\x8f" // U+F084F arrow-expand-vertical, tags: Arrow +#define ICON_MD_ARROW_HORIZONTAL_LOCK "\xf3\xb1\x85\x9b" // U+F115B arrow-horizontal-lock, aliases: scroll-horizontal-lock, tags: Lock, Arrow +#define ICON_MD_ARROW_LEFT "\xf3\xb0\x81\x8d" // U+F004D arrow-left, aliases: arrow-back, tags: Arrow +#define ICON_MD_ARROW_LEFT_BOLD "\xf3\xb0\x9c\xb1" // U+F0731 arrow-left-bold, tags: Arrow, Automotive +#define ICON_MD_ARROW_LEFT_BOLD_BOX "\xf3\xb0\x9c\xb2" // U+F0732 arrow-left-bold-box, tags: Arrow +#define ICON_MD_ARROW_LEFT_BOLD_BOX_OUTLINE "\xf3\xb0\x9c\xb3" // U+F0733 arrow-left-bold-box-outline, tags: Arrow +#define ICON_MD_ARROW_LEFT_BOLD_CIRCLE "\xf3\xb0\x81\x8f" // U+F004F arrow-left-bold-circle, tags: Arrow +#define ICON_MD_ARROW_LEFT_BOLD_CIRCLE_OUTLINE "\xf3\xb0\x81\x90" // U+F0050 arrow-left-bold-circle-outline, tags: Arrow +#define ICON_MD_ARROW_LEFT_BOLD_HEXAGON_OUTLINE "\xf3\xb0\x81\x91" // U+F0051 arrow-left-bold-hexagon-outline, tags: Arrow +#define ICON_MD_ARROW_LEFT_BOLD_OUTLINE "\xf3\xb0\xa7\x80" // U+F09C0 arrow-left-bold-outline, tags: Arrow, Automotive +#define ICON_MD_ARROW_LEFT_BOTTOM "\xf3\xb1\x9e\xa5" // U+F17A5 arrow-left-bottom +#define ICON_MD_ARROW_LEFT_BOTTOM_BOLD "\xf3\xb1\x9e\xa6" // U+F17A6 arrow-left-bottom-bold +#define ICON_MD_ARROW_LEFT_BOX "\xf3\xb0\x9b\x81" // U+F06C1 arrow-left-box, tags: Arrow +#define ICON_MD_ARROW_LEFT_CIRCLE "\xf3\xb0\xb3\x9d" // U+F0CDD arrow-left-circle, aliases: arrow-back-circle, tags: Arrow +#define ICON_MD_ARROW_LEFT_CIRCLE_OUTLINE "\xf3\xb0\xb3\x9e" // U+F0CDE arrow-left-circle-outline, tags: Arrow +#define ICON_MD_ARROW_LEFT_DROP_CIRCLE "\xf3\xb0\x81\x92" // U+F0052 arrow-left-drop-circle, tags: Arrow +#define ICON_MD_ARROW_LEFT_DROP_CIRCLE_OUTLINE "\xf3\xb0\x81\x93" // U+F0053 arrow-left-drop-circle-outline, tags: Arrow +#define ICON_MD_ARROW_LEFT_RIGHT "\xf3\xb0\xb9\xb3" // U+F0E73 arrow-left-right, tags: Arrow +#define ICON_MD_ARROW_LEFT_RIGHT_BOLD "\xf3\xb0\xb9\xb4" // U+F0E74 arrow-left-right-bold, tags: Arrow +#define ICON_MD_ARROW_LEFT_RIGHT_BOLD_OUTLINE "\xf3\xb0\xa7\x81" // U+F09C1 arrow-left-right-bold-outline, tags: Arrow +#define ICON_MD_ARROW_LEFT_THICK "\xf3\xb0\x81\x8e" // U+F004E arrow-left-thick, aliases: arrow-left-bold, tags: Arrow +#define ICON_MD_ARROW_LEFT_THIN "\xf3\xb1\xa6\xb1" // U+F19B1 arrow-left-thin, tags: Arrow +#define ICON_MD_ARROW_LEFT_THIN_CIRCLE_OUTLINE "\xf3\xb1\x96\x9a" // U+F159A arrow-left-thin-circle-outline, tags: Arrow +#define ICON_MD_ARROW_LEFT_TOP "\xf3\xb1\x9e\xa7" // U+F17A7 arrow-left-top, aliases: turn-left +#define ICON_MD_ARROW_LEFT_TOP_BOLD "\xf3\xb1\x9e\xa8" // U+F17A8 arrow-left-top-bold, aliases: turn-left-bold +#define ICON_MD_ARROW_PROJECTILE "\xf3\xb1\xa1\x80" // U+F1840 arrow-projectile, tags: Gaming / RPG, Sport +#define ICON_MD_ARROW_PROJECTILE_MULTIPLE "\xf3\xb1\xa0\xbf" // U+F183F arrow-projectile-multiple, tags: Gaming / RPG, Sport +#define ICON_MD_ARROW_RIGHT "\xf3\xb0\x81\x94" // U+F0054 arrow-right, aliases: arrow-forward, tags: Arrow +#define ICON_MD_ARROW_RIGHT_BOLD "\xf3\xb0\x9c\xb4" // U+F0734 arrow-right-bold, tags: Arrow, Automotive +#define ICON_MD_ARROW_RIGHT_BOLD_BOX "\xf3\xb0\x9c\xb5" // U+F0735 arrow-right-bold-box, tags: Arrow +#define ICON_MD_ARROW_RIGHT_BOLD_BOX_OUTLINE "\xf3\xb0\x9c\xb6" // U+F0736 arrow-right-bold-box-outline, tags: Arrow +#define ICON_MD_ARROW_RIGHT_BOLD_CIRCLE "\xf3\xb0\x81\x96" // U+F0056 arrow-right-bold-circle, tags: Arrow +#define ICON_MD_ARROW_RIGHT_BOLD_CIRCLE_OUTLINE "\xf3\xb0\x81\x97" // U+F0057 arrow-right-bold-circle-outline, tags: Arrow +#define ICON_MD_ARROW_RIGHT_BOLD_HEXAGON_OUTLINE "\xf3\xb0\x81\x98" // U+F0058 arrow-right-bold-hexagon-outline, tags: Arrow +#define ICON_MD_ARROW_RIGHT_BOLD_OUTLINE "\xf3\xb0\xa7\x82" // U+F09C2 arrow-right-bold-outline, tags: Arrow, Automotive +#define ICON_MD_ARROW_RIGHT_BOTTOM "\xf3\xb1\x9e\xa9" // U+F17A9 arrow-right-bottom +#define ICON_MD_ARROW_RIGHT_BOTTOM_BOLD "\xf3\xb1\x9e\xaa" // U+F17AA arrow-right-bottom-bold +#define ICON_MD_ARROW_RIGHT_BOX "\xf3\xb0\x9b\x82" // U+F06C2 arrow-right-box, tags: Arrow +#define ICON_MD_ARROW_RIGHT_CIRCLE "\xf3\xb0\xb3\x9f" // U+F0CDF arrow-right-circle, aliases: arrow-forward-circle, tags: Arrow +#define ICON_MD_ARROW_RIGHT_CIRCLE_OUTLINE "\xf3\xb0\xb3\xa0" // U+F0CE0 arrow-right-circle-outline, tags: Arrow +#define ICON_MD_ARROW_RIGHT_DROP_CIRCLE "\xf3\xb0\x81\x99" // U+F0059 arrow-right-drop-circle, tags: Arrow +#define ICON_MD_ARROW_RIGHT_DROP_CIRCLE_OUTLINE "\xf3\xb0\x81\x9a" // U+F005A arrow-right-drop-circle-outline, tags: Arrow +#define ICON_MD_ARROW_RIGHT_THICK "\xf3\xb0\x81\x95" // U+F0055 arrow-right-thick, aliases: arrow-right-bold, tags: Arrow +#define ICON_MD_ARROW_RIGHT_THIN "\xf3\xb1\xa6\xb0" // U+F19B0 arrow-right-thin, tags: Arrow +#define ICON_MD_ARROW_RIGHT_THIN_CIRCLE_OUTLINE "\xf3\xb1\x96\x98" // U+F1598 arrow-right-thin-circle-outline, tags: Arrow +#define ICON_MD_ARROW_RIGHT_TOP "\xf3\xb1\x9e\xab" // U+F17AB arrow-right-top, aliases: turn-right +#define ICON_MD_ARROW_RIGHT_TOP_BOLD "\xf3\xb1\x9e\xac" // U+F17AC arrow-right-top-bold, aliases: turn-right-bold +#define ICON_MD_ARROW_SPLIT_HORIZONTAL "\xf3\xb0\xa4\xbb" // U+F093B arrow-split-horizontal, aliases: resize-vertical, resize, tags: Arrow +#define ICON_MD_ARROW_SPLIT_VERTICAL "\xf3\xb0\xa4\xbc" // U+F093C arrow-split-vertical, aliases: resize-horizontal, resize, tags: Arrow +#define ICON_MD_ARROW_TOP_LEFT "\xf3\xb0\x81\x9b" // U+F005B arrow-top-left, aliases: arrow-up-left, tags: Arrow +#define ICON_MD_ARROW_TOP_LEFT_BOLD_BOX "\xf3\xb1\xa5\xa8" // U+F1968 arrow-top-left-bold-box, tags: Arrow +#define ICON_MD_ARROW_TOP_LEFT_BOLD_BOX_OUTLINE "\xf3\xb1\xa5\xa9" // U+F1969 arrow-top-left-bold-box-outline, tags: Arrow +#define ICON_MD_ARROW_TOP_LEFT_BOLD_OUTLINE "\xf3\xb0\xa7\x83" // U+F09C3 arrow-top-left-bold-outline, aliases: arrow-up-left-bold-outline, tags: Arrow +#define ICON_MD_ARROW_TOP_LEFT_BOTTOM_RIGHT "\xf3\xb0\xb9\xb5" // U+F0E75 arrow-top-left-bottom-right, tags: Arrow +#define ICON_MD_ARROW_TOP_LEFT_BOTTOM_RIGHT_BOLD "\xf3\xb0\xb9\xb6" // U+F0E76 arrow-top-left-bottom-right-bold, tags: Arrow +#define ICON_MD_ARROW_TOP_LEFT_THICK \ + "\xf3\xb0\xa7\x84" // U+F09C4 arrow-top-left-thick, aliases: arrow-up-left-thick, arrow-top-left-bold, + // arrow-up-left-bold, tags: Arrow +#define ICON_MD_ARROW_TOP_LEFT_THIN "\xf3\xb1\xa6\xb5" // U+F19B5 arrow-top-left-thin, tags: Arrow +#define ICON_MD_ARROW_TOP_LEFT_THIN_CIRCLE_OUTLINE "\xf3\xb1\x96\x93" // U+F1593 arrow-top-left-thin-circle-outline, tags: Arrow +#define ICON_MD_ARROW_TOP_RIGHT "\xf3\xb0\x81\x9c" // U+F005C arrow-top-right, aliases: arrow-up-right, tags: Arrow +#define ICON_MD_ARROW_TOP_RIGHT_BOLD_BOX "\xf3\xb1\xa5\xaa" // U+F196A arrow-top-right-bold-box, tags: Arrow +#define ICON_MD_ARROW_TOP_RIGHT_BOLD_BOX_OUTLINE "\xf3\xb1\xa5\xab" // U+F196B arrow-top-right-bold-box-outline, tags: Arrow +#define ICON_MD_ARROW_TOP_RIGHT_BOLD_OUTLINE "\xf3\xb0\xa7\x85" // U+F09C5 arrow-top-right-bold-outline, aliases: arrow-up-right-bold-outline, tags: Arrow +#define ICON_MD_ARROW_TOP_RIGHT_BOTTOM_LEFT "\xf3\xb0\xb9\xb7" // U+F0E77 arrow-top-right-bottom-left, tags: Arrow +#define ICON_MD_ARROW_TOP_RIGHT_BOTTOM_LEFT_BOLD "\xf3\xb0\xb9\xb8" // U+F0E78 arrow-top-right-bottom-left-bold, tags: Arrow +#define ICON_MD_ARROW_TOP_RIGHT_THICK \ + "\xf3\xb0\xa7\x86" // U+F09C6 arrow-top-right-thick, aliases: arrow-up-right-thick, arrow-top-right-bold, + // arrow-up-right-bold, tags: Arrow +#define ICON_MD_ARROW_TOP_RIGHT_THIN "\xf3\xb1\xa6\xb4" // U+F19B4 arrow-top-right-thin, tags: Arrow +#define ICON_MD_ARROW_TOP_RIGHT_THIN_CIRCLE_OUTLINE "\xf3\xb1\x96\x94" // U+F1594 arrow-top-right-thin-circle-outline, tags: Arrow +#define ICON_MD_ARROW_U_DOWN_LEFT "\xf3\xb1\x9e\xad" // U+F17AD arrow-u-down-left, aliases: u-turn-left +#define ICON_MD_ARROW_U_DOWN_LEFT_BOLD "\xf3\xb1\x9e\xae" // U+F17AE arrow-u-down-left-bold, aliases: u-turn-left-bold +#define ICON_MD_ARROW_U_DOWN_RIGHT "\xf3\xb1\x9e\xaf" // U+F17AF arrow-u-down-right, aliases: u-turn-right +#define ICON_MD_ARROW_U_DOWN_RIGHT_BOLD "\xf3\xb1\x9e\xb0" // U+F17B0 arrow-u-down-right-bold, aliases: u-turn-right-bold +#define ICON_MD_ARROW_U_LEFT_BOTTOM "\xf3\xb1\x9e\xb1" // U+F17B1 arrow-u-left-bottom, aliases: undo +#define ICON_MD_ARROW_U_LEFT_BOTTOM_BOLD "\xf3\xb1\x9e\xb2" // U+F17B2 arrow-u-left-bottom-bold, aliases: undo +#define ICON_MD_ARROW_U_LEFT_TOP "\xf3\xb1\x9e\xb3" // U+F17B3 arrow-u-left-top, aliases: undo +#define ICON_MD_ARROW_U_LEFT_TOP_BOLD "\xf3\xb1\x9e\xb4" // U+F17B4 arrow-u-left-top-bold, aliases: undo +#define ICON_MD_ARROW_U_RIGHT_BOTTOM "\xf3\xb1\x9e\xb5" // U+F17B5 arrow-u-right-bottom, aliases: redo +#define ICON_MD_ARROW_U_RIGHT_BOTTOM_BOLD "\xf3\xb1\x9e\xb6" // U+F17B6 arrow-u-right-bottom-bold, aliases: redo +#define ICON_MD_ARROW_U_RIGHT_TOP "\xf3\xb1\x9e\xb7" // U+F17B7 arrow-u-right-top, aliases: redo +#define ICON_MD_ARROW_U_RIGHT_TOP_BOLD "\xf3\xb1\x9e\xb8" // U+F17B8 arrow-u-right-top-bold, aliases: redo +#define ICON_MD_ARROW_U_UP_LEFT "\xf3\xb1\x9e\xb9" // U+F17B9 arrow-u-up-left +#define ICON_MD_ARROW_U_UP_LEFT_BOLD "\xf3\xb1\x9e\xba" // U+F17BA arrow-u-up-left-bold +#define ICON_MD_ARROW_U_UP_RIGHT "\xf3\xb1\x9e\xbb" // U+F17BB arrow-u-up-right +#define ICON_MD_ARROW_U_UP_RIGHT_BOLD "\xf3\xb1\x9e\xbc" // U+F17BC arrow-u-up-right-bold +#define ICON_MD_ARROW_UP "\xf3\xb0\x81\x9d" // U+F005D arrow-up, aliases: arrow-upward, arrow-top, tags: Arrow +#define ICON_MD_ARROW_UP_BOLD "\xf3\xb0\x9c\xb7" // U+F0737 arrow-up-bold, aliases: arrow-top-bold, tags: Arrow +#define ICON_MD_ARROW_UP_BOLD_BOX "\xf3\xb0\x9c\xb8" // U+F0738 arrow-up-bold-box, aliases: arrow-top-bold-box, tags: Arrow +#define ICON_MD_ARROW_UP_BOLD_BOX_OUTLINE "\xf3\xb0\x9c\xb9" // U+F0739 arrow-up-bold-box-outline, aliases: arrow-top-bold-box-outline, tags: Arrow +#define ICON_MD_ARROW_UP_BOLD_CIRCLE "\xf3\xb0\x81\x9f" // U+F005F arrow-up-bold-circle, aliases: arrow-top-bold-circle, tags: Arrow +#define ICON_MD_ARROW_UP_BOLD_CIRCLE_OUTLINE "\xf3\xb0\x81\xa0" // U+F0060 arrow-up-bold-circle-outline, aliases: arrow-top-bold-circle-outline, tags: Arrow +#define ICON_MD_ARROW_UP_BOLD_HEXAGON_OUTLINE "\xf3\xb0\x81\xa1" // U+F0061 arrow-up-bold-hexagon-outline, aliases: arrow-top-bold-hexagon-outline, tags: Arrow +#define ICON_MD_ARROW_UP_BOLD_OUTLINE "\xf3\xb0\xa7\x87" // U+F09C7 arrow-up-bold-outline, aliases: arrow-top-bold-outline, tags: Arrow +#define ICON_MD_ARROW_UP_BOX "\xf3\xb0\x9b\x83" // U+F06C3 arrow-up-box, tags: Arrow +#define ICON_MD_ARROW_UP_CIRCLE "\xf3\xb0\xb3\xa1" // U+F0CE1 arrow-up-circle, aliases: arrow-top-circle, tags: Arrow +#define ICON_MD_ARROW_UP_CIRCLE_OUTLINE "\xf3\xb0\xb3\xa2" // U+F0CE2 arrow-up-circle-outline, aliases: arrow-top-circle-outline, tags: Arrow +#define ICON_MD_ARROW_UP_DOWN "\xf3\xb0\xb9\xb9" // U+F0E79 arrow-up-down, tags: Arrow +#define ICON_MD_ARROW_UP_DOWN_BOLD "\xf3\xb0\xb9\xba" // U+F0E7A arrow-up-down-bold, tags: Arrow +#define ICON_MD_ARROW_UP_DOWN_BOLD_OUTLINE "\xf3\xb0\xa7\x88" // U+F09C8 arrow-up-down-bold-outline, tags: Arrow +#define ICON_MD_ARROW_UP_DROP_CIRCLE "\xf3\xb0\x81\xa2" // U+F0062 arrow-up-drop-circle, aliases: arrow-top-drop-circle, tags: Arrow +#define ICON_MD_ARROW_UP_DROP_CIRCLE_OUTLINE "\xf3\xb0\x81\xa3" // U+F0063 arrow-up-drop-circle-outline, aliases: arrow-top-drop-circle-outline, tags: Arrow +#define ICON_MD_ARROW_UP_LEFT "\xf3\xb1\x9e\xbd" // U+F17BD arrow-up-left +#define ICON_MD_ARROW_UP_LEFT_BOLD "\xf3\xb1\x9e\xbe" // U+F17BE arrow-up-left-bold +#define ICON_MD_ARROW_UP_RIGHT "\xf3\xb1\x9e\xbf" // U+F17BF arrow-up-right +#define ICON_MD_ARROW_UP_RIGHT_BOLD "\xf3\xb1\x9f\x80" // U+F17C0 arrow-up-right-bold +#define ICON_MD_ARROW_UP_THICK "\xf3\xb0\x81\x9e" // U+F005E arrow-up-thick, aliases: arrow-top-thick, arrow-up-bold, arrow-top-bold, tags: Arrow +#define ICON_MD_ARROW_UP_THIN "\xf3\xb1\xa6\xb2" // U+F19B2 arrow-up-thin, tags: Arrow +#define ICON_MD_ARROW_UP_THIN_CIRCLE_OUTLINE "\xf3\xb1\x96\x97" // U+F1597 arrow-up-thin-circle-outline, tags: Arrow +#define ICON_MD_ARROW_VERTICAL_LOCK "\xf3\xb1\x85\x9c" // U+F115C arrow-vertical-lock, aliases: scroll-vertical-lock, tags: Lock, Arrow +#define ICON_MD_ARTBOARD "\xf3\xb1\xae\x9a" // U+F1B9A artboard, tags: Drawing / Art +#define ICON_MD_ARTSTATION "\xf3\xb0\xad\x9b" // U+F0B5B artstation, tags: Brand / Logo +#define ICON_MD_ASPECT_RATIO "\xf3\xb0\xa8\xa4" // U+F0A24 aspect-ratio +#define ICON_MD_ASSISTANT "\xf3\xb0\x81\xa4" // U+F0064 assistant +#define ICON_MD_ASTERISK "\xf3\xb0\x9b\x84" // U+F06C4 asterisk, aliases: required +#define ICON_MD_ASTERISK_CIRCLE_OUTLINE "\xf3\xb1\xa8\xa7" // U+F1A27 asterisk-circle-outline, aliases: required-circle +#define ICON_MD_AT "\xf3\xb0\x81\xa5" // U+F0065 at, aliases: alternate-email +#define ICON_MD_ATLASSIAN "\xf3\xb0\xa0\x84" // U+F0804 atlassian, tags: Brand / Logo +#define ICON_MD_ATM "\xf3\xb0\xb5\x87" // U+F0D47 atm +#define ICON_MD_ATOM "\xf3\xb0\x9d\xa8" // U+F0768 atom, tags: Science +#define ICON_MD_ATOM_VARIANT "\xf3\xb0\xb9\xbb" // U+F0E7B atom-variant, aliases: orbit, tags: Science +#define ICON_MD_ATTACHMENT "\xf3\xb0\x81\xa6" // U+F0066 attachment, aliases: paperclip-horizontal +#define ICON_MD_ATTACHMENT_CHECK "\xf3\xb1\xab\x81" // U+F1AC1 attachment-check, aliases: attachment-tick, paperclip-check, paperclip-tick +#define ICON_MD_ATTACHMENT_LOCK "\xf3\xb1\xa7\x84" // U+F19C4 attachment-lock, aliases: paperclip-lock, tags: Lock +#define ICON_MD_ATTACHMENT_MINUS "\xf3\xb1\xab\x82" // U+F1AC2 attachment-minus, aliases: paperclip-minus, paperclip-subtract, attachment-subtract +#define ICON_MD_ATTACHMENT_OFF "\xf3\xb1\xab\x83" // U+F1AC3 attachment-off, aliases: paperclip-off +#define ICON_MD_ATTACHMENT_PLUS "\xf3\xb1\xab\x84" // U+F1AC4 attachment-plus, aliases: paperclip-plus, paperclip-add, attachment-add +#define ICON_MD_ATTACHMENT_REMOVE "\xf3\xb1\xab\x85" // U+F1AC5 attachment-remove, aliases: paperclip-remove +#define ICON_MD_ATV \ + "\xf3\xb1\xad\xb0" // U+F1B70 atv, aliases: quad, trike, two-wheeler, all-terrain-vehicle, tags: Transportation + + // Other, Sport +#define ICON_MD_AUDIO_INPUT_RCA "\xf3\xb1\xa1\xab" // U+F186B audio-input-rca, tags: Audio +#define ICON_MD_AUDIO_INPUT_STEREO_MINIJACK "\xf3\xb1\xa1\xac" // U+F186C audio-input-stereo-minijack, tags: Audio +#define ICON_MD_AUDIO_INPUT_XLR "\xf3\xb1\xa1\xad" // U+F186D audio-input-xlr, tags: Audio +#define ICON_MD_AUDIO_VIDEO "\xf3\xb0\xa4\xbd" // U+F093D audio-video, aliases: av-receiver, tags: Home Automation, Audio +#define ICON_MD_AUDIO_VIDEO_OFF "\xf3\xb1\x86\xb6" // U+F11B6 audio-video-off, aliases: av-receiver-off, tags: Home Automation, Audio +#define ICON_MD_AUGMENTED_REALITY "\xf3\xb0\xa1\x90" // U+F0850 augmented-reality +#define ICON_MD_AUTO_DOWNLOAD "\xf3\xb1\x8d\xbe" // U+F137E auto-download +#define ICON_MD_AUTO_FIX "\xf3\xb0\x81\xa8" // U+F0068 auto-fix, aliases: magic, wand, auto-fix-high, tags: Photography +#define ICON_MD_AUTO_UPLOAD "\xf3\xb0\x81\xa9" // U+F0069 auto-upload +#define ICON_MD_AUTORENEW \ + "\xf3\xb0\x81\xaa" // U+F006A autorenew, aliases: clockwise-arrows, circular-arrows, circle-arrows, sync, tags: + // Arrow +#define ICON_MD_AUTORENEW_OFF \ + "\xf3\xb1\xa7\xa7" // U+F19E7 autorenew-off, aliases: clockwise-arrows-off, circular-arrows-off, circle-arrows-off, + // sync-off, tags: Arrow +#define ICON_MD_AV_TIMER "\xf3\xb0\x81\xab" // U+F006B av-timer, tags: Date / Time +#define ICON_MD_AWNING "\xf3\xb1\xae\x87" // U+F1B87 awning, aliases: marquise, sun-shade, tags: Home Automation +#define ICON_MD_AWNING_OUTLINE "\xf3\xb1\xae\x88" // U+F1B88 awning-outline, aliases: marquise-outline, sun-shade-outline, tags: Home Automation +#define ICON_MD_AWS "\xf3\xb0\xb8\x8f" // U+F0E0F aws, tags: Brand / Logo +#define ICON_MD_AXE "\xf3\xb0\xa3\x88" // U+F08C8 axe, tags: Hardware / Tools +#define ICON_MD_AXE_BATTLE "\xf3\xb1\xa1\x82" // U+F1842 axe-battle, tags: Gaming / RPG +#define ICON_MD_AXIS "\xf3\xb0\xb5\x88" // U+F0D48 axis +#define ICON_MD_AXIS_ARROW "\xf3\xb0\xb5\x89" // U+F0D49 axis-arrow, aliases: accelerometer, gyro, tags: Arrow +#define ICON_MD_AXIS_ARROW_INFO "\xf3\xb1\x90\x8e" // U+F140E axis-arrow-info, tags: Arrow +#define ICON_MD_AXIS_ARROW_LOCK "\xf3\xb0\xb5\x8a" // U+F0D4A axis-arrow-lock, tags: Lock, Arrow +#define ICON_MD_AXIS_LOCK "\xf3\xb0\xb5\x8b" // U+F0D4B axis-lock, tags: Lock +#define ICON_MD_AXIS_X_ARROW "\xf3\xb0\xb5\x8c" // U+F0D4C axis-x-arrow, tags: Arrow +#define ICON_MD_AXIS_X_ARROW_LOCK "\xf3\xb0\xb5\x8d" // U+F0D4D axis-x-arrow-lock, tags: Lock, Arrow +#define ICON_MD_AXIS_X_ROTATE_CLOCKWISE "\xf3\xb0\xb5\x8e" // U+F0D4E axis-x-rotate-clockwise +#define ICON_MD_AXIS_X_ROTATE_COUNTERCLOCKWISE "\xf3\xb0\xb5\x8f" // U+F0D4F axis-x-rotate-counterclockwise +#define ICON_MD_AXIS_X_Y_ARROW_LOCK "\xf3\xb0\xb5\x90" // U+F0D50 axis-x-y-arrow-lock, tags: Lock, Arrow +#define ICON_MD_AXIS_Y_ARROW "\xf3\xb0\xb5\x91" // U+F0D51 axis-y-arrow, tags: Arrow +#define ICON_MD_AXIS_Y_ARROW_LOCK "\xf3\xb0\xb5\x92" // U+F0D52 axis-y-arrow-lock, tags: Lock, Arrow +#define ICON_MD_AXIS_Y_ROTATE_CLOCKWISE "\xf3\xb0\xb5\x93" // U+F0D53 axis-y-rotate-clockwise +#define ICON_MD_AXIS_Y_ROTATE_COUNTERCLOCKWISE "\xf3\xb0\xb5\x94" // U+F0D54 axis-y-rotate-counterclockwise +#define ICON_MD_AXIS_Z_ARROW "\xf3\xb0\xb5\x95" // U+F0D55 axis-z-arrow, tags: Arrow +#define ICON_MD_AXIS_Z_ARROW_LOCK "\xf3\xb0\xb5\x96" // U+F0D56 axis-z-arrow-lock, tags: Lock, Arrow +#define ICON_MD_AXIS_Z_ROTATE_CLOCKWISE "\xf3\xb0\xb5\x97" // U+F0D57 axis-z-rotate-clockwise, aliases: vertical-rotate-clockwise +#define ICON_MD_AXIS_Z_ROTATE_COUNTERCLOCKWISE "\xf3\xb0\xb5\x98" // U+F0D58 axis-z-rotate-counterclockwise, aliases: vertical-rotate-counterclockwise +#define ICON_MD_BABEL "\xf3\xb0\xa8\xa5" // U+F0A25 babel, tags: Brand / Logo +#define ICON_MD_BABY "\xf3\xb0\x81\xac" // U+F006C baby, tags: People / Family +#define ICON_MD_BABY_BOTTLE "\xf3\xb0\xbc\xb9" // U+F0F39 baby-bottle, tags: People / Family +#define ICON_MD_BABY_BOTTLE_OUTLINE "\xf3\xb0\xbc\xba" // U+F0F3A baby-bottle-outline, tags: People / Family +#define ICON_MD_BABY_BUGGY "\xf3\xb1\x8f\xa0" // U+F13E0 baby-buggy, aliases: stroller, pram, carriage, tags: People / Family +#define ICON_MD_BABY_BUGGY_OFF "\xf3\xb1\xab\xb3" // U+F1AF3 baby-buggy-off, tags: People / Family +#define ICON_MD_BABY_CARRIAGE "\xf3\xb0\x9a\x8f" // U+F068F baby-carriage, aliases: child-friendly, stroller, pram, buggy, tags: People / Family +#define ICON_MD_BABY_CARRIAGE_OFF \ + "\xf3\xb0\xbe\xa0" // U+F0FA0 baby-carriage-off, aliases: child-friendly-off, stroller-off, pram-off, buggy-off, + // tags: People / Family +#define ICON_MD_BABY_FACE "\xf3\xb0\xb9\xbc" // U+F0E7C baby-face, aliases: emoji-baby, emoticon-baby, tags: People / Family +#define ICON_MD_BABY_FACE_OUTLINE \ + "\xf3\xb0\xb9\xbd" // U+F0E7D baby-face-outline, aliases: emoji-baby-outline, emoticon-baby-outline, tags: People / + // Family +#define ICON_MD_BACKBURGER "\xf3\xb0\x81\xad" // U+F006D backburger, aliases: hamburger-menu-back +#define ICON_MD_BACKSPACE "\xf3\xb0\x81\xae" // U+F006E backspace, aliases: erase, clear +#define ICON_MD_BACKSPACE_OUTLINE "\xf3\xb0\xad\x9c" // U+F0B5C backspace-outline, aliases: erase-outline, clear-outline +#define ICON_MD_BACKSPACE_REVERSE "\xf3\xb0\xb9\xbe" // U+F0E7E backspace-reverse, aliases: clear-reverse, erase-reverse +#define ICON_MD_BACKSPACE_REVERSE_OUTLINE "\xf3\xb0\xb9\xbf" // U+F0E7F backspace-reverse-outline, aliases: clear-reverse-outline, erase-reverse-outline +#define ICON_MD_BACKUP_RESTORE "\xf3\xb0\x81\xaf" // U+F006F backup-restore, aliases: settings-backup-restore +#define ICON_MD_BACTERIA "\xf3\xb0\xbb\x95" // U+F0ED5 bacteria, tags: Science, Medical / Hospital +#define ICON_MD_BACTERIA_OUTLINE "\xf3\xb0\xbb\x96" // U+F0ED6 bacteria-outline, tags: Science, Medical / Hospital +#define ICON_MD_BADGE_ACCOUNT "\xf3\xb0\xb6\xa7" // U+F0DA7 badge-account, aliases: user-badge, person-badge, tags: Account / User +#define ICON_MD_BADGE_ACCOUNT_ALERT \ + "\xf3\xb0\xb6\xa8" // U+F0DA8 badge-account-alert, aliases: user-badge-alert, person-badge-alert, + // account-badge-warning, user-badge-warning, person-badge-warning, tags: Account / User, Alert / + // Error +#define ICON_MD_BADGE_ACCOUNT_ALERT_OUTLINE \ + "\xf3\xb0\xb6\xa9" // U+F0DA9 badge-account-alert-outline, aliases: user-badge-alert-outline, + // person-badge-alert-outline, account-badge-warning-outline, user-badge-warning-outline, + // person-badge-warning-outline, tags: Account / User, Alert / Error +#define ICON_MD_BADGE_ACCOUNT_HORIZONTAL "\xf3\xb0\xb8\x8d" // U+F0E0D badge-account-horizontal, tags: Account / User +#define ICON_MD_BADGE_ACCOUNT_HORIZONTAL_OUTLINE "\xf3\xb0\xb8\x8e" // U+F0E0E badge-account-horizontal-outline, tags: Account / User +#define ICON_MD_BADGE_ACCOUNT_OUTLINE \ + "\xf3\xb0\xb6\xaa" // U+F0DAA badge-account-outline, aliases: user-badge-outline, person-badge-outline, tags: + // Account / User +#define ICON_MD_BADMINTON "\xf3\xb0\xa1\x91" // U+F0851 badminton, aliases: shuttlecock, tags: Sport +#define ICON_MD_BAG_CARRY_ON "\xf3\xb0\xbc\xbb" // U+F0F3B bag-carry-on, aliases: carry-on-luggage, tags: Transportation + Flying +#define ICON_MD_BAG_CARRY_ON_CHECK \ + "\xf3\xb0\xb5\xa5" // U+F0D65 bag-carry-on-check, aliases: carry-on-bag-tick, carry-on-bag-check, tags: + // Transportation + Flying +#define ICON_MD_BAG_CARRY_ON_OFF "\xf3\xb0\xbc\xbc" // U+F0F3C bag-carry-on-off, aliases: carry-on-luggage-off, tags: Transportation + Flying +#define ICON_MD_BAG_CHECKED "\xf3\xb0\xbc\xbd" // U+F0F3D bag-checked, aliases: luggage, tags: Transportation + Flying +#define ICON_MD_BAG_PERSONAL "\xf3\xb0\xb8\x90" // U+F0E10 bag-personal, aliases: backpack, tags: Transportation + Flying +#define ICON_MD_BAG_PERSONAL_OFF "\xf3\xb0\xb8\x91" // U+F0E11 bag-personal-off, aliases: backpack-off, tags: Transportation + Flying +#define ICON_MD_BAG_PERSONAL_OFF_OUTLINE "\xf3\xb0\xb8\x92" // U+F0E12 bag-personal-off-outline, aliases: backpack-off-outline, tags: Transportation + Flying +#define ICON_MD_BAG_PERSONAL_OUTLINE "\xf3\xb0\xb8\x93" // U+F0E13 bag-personal-outline, aliases: backpack-outline, tags: Transportation + Flying +#define ICON_MD_BAG_PERSONAL_TAG "\xf3\xb1\xac\x8c" // U+F1B0C bag-personal-tag, aliases: property-tag +#define ICON_MD_BAG_PERSONAL_TAG_OUTLINE "\xf3\xb1\xac\x8d" // U+F1B0D bag-personal-tag-outline, aliases: property-tag-outline +#define ICON_MD_BAG_SUITCASE "\xf3\xb1\x96\x8b" // U+F158B bag-suitcase, tags: Transportation + Flying +#define ICON_MD_BAG_SUITCASE_OFF "\xf3\xb1\x96\x8d" // U+F158D bag-suitcase-off, tags: Transportation + Flying +#define ICON_MD_BAG_SUITCASE_OFF_OUTLINE "\xf3\xb1\x96\x8e" // U+F158E bag-suitcase-off-outline, tags: Transportation + Flying +#define ICON_MD_BAG_SUITCASE_OUTLINE "\xf3\xb1\x96\x8c" // U+F158C bag-suitcase-outline, tags: Transportation + Flying +#define ICON_MD_BAGUETTE "\xf3\xb0\xbc\xbe" // U+F0F3E baguette, aliases: bread, bakery, french-baguette, loaf, tags: Food / Drink +#define ICON_MD_BALCONY "\xf3\xb1\xa0\x97" // U+F1817 balcony, aliases: terrace, patio, veranda, tags: Home Automation +#define ICON_MD_BALLOON "\xf3\xb0\xa8\xa6" // U+F0A26 balloon, aliases: party-balloon, tags: Holiday +#define ICON_MD_BALLOT "\xf3\xb0\xa7\x89" // U+F09C9 ballot, aliases: vote +#define ICON_MD_BALLOT_OUTLINE "\xf3\xb0\xa7\x8a" // U+F09CA ballot-outline, aliases: vote-outline +#define ICON_MD_BALLOT_RECOUNT "\xf3\xb0\xb0\xb9" // U+F0C39 ballot-recount, aliases: vote-recount +#define ICON_MD_BALLOT_RECOUNT_OUTLINE "\xf3\xb0\xb0\xba" // U+F0C3A ballot-recount-outline, aliases: vote-recount-outline +#define ICON_MD_BANDAGE "\xf3\xb0\xb6\xaf" // U+F0DAF bandage, aliases: band-aid, plaster +#define ICON_MD_BANK "\xf3\xb0\x81\xb0" // U+F0070 bank, aliases: account-balance, museum, tags: Banking, Places +#define ICON_MD_BANK_CHECK "\xf3\xb1\x99\x95" // U+F1655 bank-check, tags: Banking +#define ICON_MD_BANK_MINUS "\xf3\xb0\xb6\xb0" // U+F0DB0 bank-minus, tags: Banking +#define ICON_MD_BANK_OFF "\xf3\xb1\x99\x96" // U+F1656 bank-off, tags: Banking +#define ICON_MD_BANK_OFF_OUTLINE "\xf3\xb1\x99\x97" // U+F1657 bank-off-outline, tags: Banking +#define ICON_MD_BANK_OUTLINE "\xf3\xb0\xba\x80" // U+F0E80 bank-outline, aliases: museum-outline, tags: Banking +#define ICON_MD_BANK_PLUS "\xf3\xb0\xb6\xb1" // U+F0DB1 bank-plus, aliases: bank-add, tags: Banking +#define ICON_MD_BANK_REMOVE "\xf3\xb0\xb6\xb2" // U+F0DB2 bank-remove, tags: Banking +#define ICON_MD_BANK_TRANSFER "\xf3\xb0\xa8\xa7" // U+F0A27 bank-transfer, tags: Banking +#define ICON_MD_BANK_TRANSFER_IN "\xf3\xb0\xa8\xa8" // U+F0A28 bank-transfer-in, tags: Banking +#define ICON_MD_BANK_TRANSFER_OUT "\xf3\xb0\xa8\xa9" // U+F0A29 bank-transfer-out, tags: Banking +#define ICON_MD_BARCODE "\xf3\xb0\x81\xb1" // U+F0071 barcode +#define ICON_MD_BARCODE_OFF "\xf3\xb1\x88\xb6" // U+F1236 barcode-off +#define ICON_MD_BARCODE_SCAN "\xf3\xb0\x81\xb2" // U+F0072 barcode-scan, aliases: barcode-scanner +#define ICON_MD_BARLEY "\xf3\xb0\x81\xb3" // U+F0073 barley, aliases: grain, wheat, gluten, tags: Agriculture, Food / Drink +#define ICON_MD_BARLEY_OFF "\xf3\xb0\xad\x9d" // U+F0B5D barley-off, aliases: gluten-free, grain-off, wheat-off, tags: Agriculture +#define ICON_MD_BARN "\xf3\xb0\xad\x9e" // U+F0B5E barn, aliases: farm, tags: Agriculture +#define ICON_MD_BARREL "\xf3\xb0\x81\xb4" // U+F0074 barrel, aliases: oil-barrel, energy, fossil-fuel +#define ICON_MD_BARREL_OUTLINE "\xf3\xb1\xa8\xa8" // U+F1A28 barrel-outline, aliases: oil-barrel-outline, fossil-fuel-outline, energy-outline +#define ICON_MD_BASEBALL "\xf3\xb0\xa1\x92" // U+F0852 baseball, tags: Sport +#define ICON_MD_BASEBALL_BAT "\xf3\xb0\xa1\x93" // U+F0853 baseball-bat, tags: Sport +#define ICON_MD_BASEBALL_DIAMOND "\xf3\xb1\x97\xac" // U+F15EC baseball-diamond, tags: Sport +#define ICON_MD_BASEBALL_DIAMOND_OUTLINE "\xf3\xb1\x97\xad" // U+F15ED baseball-diamond-outline, tags: Sport +#define ICON_MD_BASH "\xf3\xb1\x86\x83" // U+F1183 bash, tags: Developer / Languages +#define ICON_MD_BASKET "\xf3\xb0\x81\xb6" // U+F0076 basket, aliases: shopping-basket, skip, tags: Shopping +#define ICON_MD_BASKET_CHECK "\xf3\xb1\xa3\xa5" // U+F18E5 basket-check, tags: Shopping +#define ICON_MD_BASKET_CHECK_OUTLINE "\xf3\xb1\xa3\xa6" // U+F18E6 basket-check-outline, tags: Shopping +#define ICON_MD_BASKET_FILL "\xf3\xb0\x81\xb7" // U+F0077 basket-fill, aliases: skip-fill, tags: Shopping +#define ICON_MD_BASKET_MINUS "\xf3\xb1\x94\xa3" // U+F1523 basket-minus, aliases: shopping-basket-minus, skip-minus, tags: Shopping +#define ICON_MD_BASKET_MINUS_OUTLINE \ + "\xf3\xb1\x94\xa4" // U+F1524 basket-minus-outline, aliases: shopping-basket-minus-outline, skip-minus-outline, + // tags: Shopping +#define ICON_MD_BASKET_OFF "\xf3\xb1\x94\xa5" // U+F1525 basket-off, aliases: shopping-basket-off, skip-off, tags: Shopping +#define ICON_MD_BASKET_OFF_OUTLINE \ + "\xf3\xb1\x94\xa6" // U+F1526 basket-off-outline, aliases: shopping-basket-off-outline, skip-off-outline, tags: + // Shopping +#define ICON_MD_BASKET_OUTLINE "\xf3\xb1\x86\x81" // U+F1181 basket-outline, aliases: shopping-basket-outline, skip-outline, tags: Shopping +#define ICON_MD_BASKET_PLUS "\xf3\xb1\x94\xa7" // U+F1527 basket-plus, aliases: shopping-basket-plus, skip-plus, tags: Shopping +#define ICON_MD_BASKET_PLUS_OUTLINE \ + "\xf3\xb1\x94\xa8" // U+F1528 basket-plus-outline, aliases: shopping-basket-plus-outline, skip-plus-outline, tags: + // Shopping +#define ICON_MD_BASKET_REMOVE "\xf3\xb1\x94\xa9" // U+F1529 basket-remove, aliases: shopping-basket-remove, skip-remove, tags: Shopping +#define ICON_MD_BASKET_REMOVE_OUTLINE \ + "\xf3\xb1\x94\xaa" // U+F152A basket-remove-outline, aliases: shopping-basket-remove-outline, skip-remove-outline, + // tags: Shopping +#define ICON_MD_BASKET_UNFILL "\xf3\xb0\x81\xb8" // U+F0078 basket-unfill, tags: Shopping +#define ICON_MD_BASKETBALL "\xf3\xb0\xa0\x86" // U+F0806 basketball, aliases: youtube-sports, tags: Sport +#define ICON_MD_BASKETBALL_HOOP "\xf3\xb0\xb0\xbb" // U+F0C3B basketball-hoop, tags: Sport +#define ICON_MD_BASKETBALL_HOOP_OUTLINE "\xf3\xb0\xb0\xbc" // U+F0C3C basketball-hoop-outline, tags: Sport +#define ICON_MD_BAT "\xf3\xb0\xad\x9f" // U+F0B5F bat, tags: Holiday, Animal +#define ICON_MD_BATHTUB "\xf3\xb1\xa0\x98" // U+F1818 bathtub, tags: Home Automation +#define ICON_MD_BATHTUB_OUTLINE "\xf3\xb1\xa0\x99" // U+F1819 bathtub-outline, tags: Home Automation +#define ICON_MD_BATTERY \ + "\xf3\xb0\x81\xb9" // U+F0079 battery, aliases: battery-full, battery-std, battery-100, tags: Battery, Home + // Automation, Automotive +#define ICON_MD_BATTERY_10 "\xf3\xb0\x81\xba" // U+F007A battery-10, tags: Battery, Home Automation, Automotive +#define ICON_MD_BATTERY_10_BLUETOOTH "\xf3\xb0\xa4\xbe" // U+F093E battery-10-bluetooth, tags: Battery +#define ICON_MD_BATTERY_20 "\xf3\xb0\x81\xbb" // U+F007B battery-20, tags: Battery, Home Automation, Automotive +#define ICON_MD_BATTERY_20_BLUETOOTH "\xf3\xb0\xa4\xbf" // U+F093F battery-20-bluetooth, tags: Battery +#define ICON_MD_BATTERY_30 "\xf3\xb0\x81\xbc" // U+F007C battery-30, tags: Battery, Home Automation, Automotive +#define ICON_MD_BATTERY_30_BLUETOOTH "\xf3\xb0\xa5\x80" // U+F0940 battery-30-bluetooth, tags: Battery +#define ICON_MD_BATTERY_40 "\xf3\xb0\x81\xbd" // U+F007D battery-40, tags: Battery, Home Automation, Automotive +#define ICON_MD_BATTERY_40_BLUETOOTH "\xf3\xb0\xa5\x81" // U+F0941 battery-40-bluetooth, tags: Battery +#define ICON_MD_BATTERY_50 "\xf3\xb0\x81\xbe" // U+F007E battery-50, tags: Battery, Home Automation, Automotive +#define ICON_MD_BATTERY_50_BLUETOOTH "\xf3\xb0\xa5\x82" // U+F0942 battery-50-bluetooth, tags: Battery +#define ICON_MD_BATTERY_60 "\xf3\xb0\x81\xbf" // U+F007F battery-60, tags: Battery, Home Automation, Automotive +#define ICON_MD_BATTERY_60_BLUETOOTH "\xf3\xb0\xa5\x83" // U+F0943 battery-60-bluetooth, tags: Battery +#define ICON_MD_BATTERY_70 "\xf3\xb0\x82\x80" // U+F0080 battery-70, tags: Battery, Home Automation, Automotive +#define ICON_MD_BATTERY_70_BLUETOOTH "\xf3\xb0\xa5\x84" // U+F0944 battery-70-bluetooth, tags: Battery +#define ICON_MD_BATTERY_80 "\xf3\xb0\x82\x81" // U+F0081 battery-80, tags: Battery, Home Automation, Automotive +#define ICON_MD_BATTERY_80_BLUETOOTH "\xf3\xb0\xa5\x85" // U+F0945 battery-80-bluetooth, tags: Battery +#define ICON_MD_BATTERY_90 "\xf3\xb0\x82\x82" // U+F0082 battery-90, tags: Battery, Home Automation, Automotive +#define ICON_MD_BATTERY_90_BLUETOOTH "\xf3\xb0\xa5\x86" // U+F0946 battery-90-bluetooth, tags: Battery +#define ICON_MD_BATTERY_ALERT "\xf3\xb0\x82\x83" // U+F0083 battery-alert, aliases: battery-warning, tags: Battery, Home Automation, Alert / Error +#define ICON_MD_BATTERY_ALERT_BLUETOOTH \ + "\xf3\xb0\xa5\x87" // U+F0947 battery-alert-bluetooth, aliases: battery-warning-bluetooth, tags: Alert / Error, + // Battery +#define ICON_MD_BATTERY_ALERT_VARIANT "\xf3\xb1\x83\x8c" // U+F10CC battery-alert-variant, tags: Battery, Alert / Error +#define ICON_MD_BATTERY_ALERT_VARIANT_OUTLINE "\xf3\xb1\x83\x8d" // U+F10CD battery-alert-variant-outline, tags: Battery, Alert / Error +#define ICON_MD_BATTERY_ARROW_DOWN "\xf3\xb1\x9f\x9e" // U+F17DE battery-arrow-down, tags: Battery +#define ICON_MD_BATTERY_ARROW_DOWN_OUTLINE "\xf3\xb1\x9f\x9f" // U+F17DF battery-arrow-down-outline, tags: Battery +#define ICON_MD_BATTERY_ARROW_UP "\xf3\xb1\x9f\xa0" // U+F17E0 battery-arrow-up, tags: Battery +#define ICON_MD_BATTERY_ARROW_UP_OUTLINE "\xf3\xb1\x9f\xa1" // U+F17E1 battery-arrow-up-outline, tags: Battery +#define ICON_MD_BATTERY_BLUETOOTH \ + "\xf3\xb0\xa5\x88" // U+F0948 battery-bluetooth, aliases: battery-bluetooth-100, battery-bluetooth-full, tags: + // Battery +#define ICON_MD_BATTERY_BLUETOOTH_VARIANT "\xf3\xb0\xa5\x89" // U+F0949 battery-bluetooth-variant, tags: Battery +#define ICON_MD_BATTERY_CHARGING \ + "\xf3\xb0\x82\x84" // U+F0084 battery-charging, aliases: battery-charging-full, tags: Battery, Home Automation, + // Automotive +#define ICON_MD_BATTERY_CHARGING_10 "\xf3\xb0\xa2\x9c" // U+F089C battery-charging-10, tags: Automotive, Battery +#define ICON_MD_BATTERY_CHARGING_100 "\xf3\xb0\x82\x85" // U+F0085 battery-charging-100, tags: Battery, Home Automation, Automotive +#define ICON_MD_BATTERY_CHARGING_20 "\xf3\xb0\x82\x86" // U+F0086 battery-charging-20, tags: Battery, Home Automation, Automotive +#define ICON_MD_BATTERY_CHARGING_30 "\xf3\xb0\x82\x87" // U+F0087 battery-charging-30, tags: Battery, Home Automation, Automotive +#define ICON_MD_BATTERY_CHARGING_40 "\xf3\xb0\x82\x88" // U+F0088 battery-charging-40, tags: Battery, Home Automation, Automotive +#define ICON_MD_BATTERY_CHARGING_50 "\xf3\xb0\xa2\x9d" // U+F089D battery-charging-50, tags: Automotive, Battery +#define ICON_MD_BATTERY_CHARGING_60 "\xf3\xb0\x82\x89" // U+F0089 battery-charging-60, tags: Battery, Home Automation, Automotive +#define ICON_MD_BATTERY_CHARGING_70 "\xf3\xb0\xa2\x9e" // U+F089E battery-charging-70, tags: Automotive, Battery +#define ICON_MD_BATTERY_CHARGING_80 "\xf3\xb0\x82\x8a" // U+F008A battery-charging-80, tags: Battery, Home Automation, Automotive +#define ICON_MD_BATTERY_CHARGING_90 "\xf3\xb0\x82\x8b" // U+F008B battery-charging-90, tags: Battery, Home Automation, Automotive +#define ICON_MD_BATTERY_CHARGING_HIGH "\xf3\xb1\x8a\xa6" // U+F12A6 battery-charging-high, tags: Battery +#define ICON_MD_BATTERY_CHARGING_LOW "\xf3\xb1\x8a\xa4" // U+F12A4 battery-charging-low, tags: Battery +#define ICON_MD_BATTERY_CHARGING_MEDIUM "\xf3\xb1\x8a\xa5" // U+F12A5 battery-charging-medium, tags: Battery +#define ICON_MD_BATTERY_CHARGING_OUTLINE "\xf3\xb0\xa2\x9f" // U+F089F battery-charging-outline, tags: Automotive, Battery +#define ICON_MD_BATTERY_CHARGING_WIRELESS \ + "\xf3\xb0\xa0\x87" // U+F0807 battery-charging-wireless, aliases: battery-charging-wireless-full, + // battery-charging-wireless-100, tags: Battery, Home Automation +#define ICON_MD_BATTERY_CHARGING_WIRELESS_10 "\xf3\xb0\xa0\x88" // U+F0808 battery-charging-wireless-10, tags: Battery, Home Automation +#define ICON_MD_BATTERY_CHARGING_WIRELESS_20 "\xf3\xb0\xa0\x89" // U+F0809 battery-charging-wireless-20, tags: Battery, Home Automation +#define ICON_MD_BATTERY_CHARGING_WIRELESS_30 "\xf3\xb0\xa0\x8a" // U+F080A battery-charging-wireless-30, tags: Battery, Home Automation +#define ICON_MD_BATTERY_CHARGING_WIRELESS_40 "\xf3\xb0\xa0\x8b" // U+F080B battery-charging-wireless-40, tags: Battery, Home Automation +#define ICON_MD_BATTERY_CHARGING_WIRELESS_50 "\xf3\xb0\xa0\x8c" // U+F080C battery-charging-wireless-50, tags: Battery, Home Automation +#define ICON_MD_BATTERY_CHARGING_WIRELESS_60 "\xf3\xb0\xa0\x8d" // U+F080D battery-charging-wireless-60, tags: Battery, Home Automation +#define ICON_MD_BATTERY_CHARGING_WIRELESS_70 "\xf3\xb0\xa0\x8e" // U+F080E battery-charging-wireless-70, tags: Battery, Home Automation +#define ICON_MD_BATTERY_CHARGING_WIRELESS_80 "\xf3\xb0\xa0\x8f" // U+F080F battery-charging-wireless-80, tags: Battery, Home Automation +#define ICON_MD_BATTERY_CHARGING_WIRELESS_90 "\xf3\xb0\xa0\x90" // U+F0810 battery-charging-wireless-90, tags: Battery, Home Automation +#define ICON_MD_BATTERY_CHARGING_WIRELESS_ALERT \ + "\xf3\xb0\xa0\x91" // U+F0811 battery-charging-wireless-alert, aliases: battery-charging-wireless-warning, tags: + // Battery, Home Automation, Alert / Error +#define ICON_MD_BATTERY_CHARGING_WIRELESS_OUTLINE \ + "\xf3\xb0\xa0\x92" // U+F0812 battery-charging-wireless-outline, aliases: battery-charging-wireless-empty, + // battery-charging-wireless-0, tags: Battery, Home Automation +#define ICON_MD_BATTERY_CHECK "\xf3\xb1\x9f\xa2" // U+F17E2 battery-check, tags: Battery +#define ICON_MD_BATTERY_CHECK_OUTLINE "\xf3\xb1\x9f\xa3" // U+F17E3 battery-check-outline, tags: Battery +#define ICON_MD_BATTERY_CLOCK \ + "\xf3\xb1\xa7\xa5" // U+F19E5 battery-clock, aliases: battery-full-clock, battery-100-clock, tags: Battery, Home + // Automation, Date / Time +#define ICON_MD_BATTERY_CLOCK_OUTLINE \ + "\xf3\xb1\xa7\xa6" // U+F19E6 battery-clock-outline, aliases: batter-0-clock, battery-empty-clock, tags: Battery, + // Home Automation, Date / Time +#define ICON_MD_BATTERY_HEART "\xf3\xb1\x88\x8f" // U+F120F battery-heart, tags: Battery +#define ICON_MD_BATTERY_HEART_OUTLINE "\xf3\xb1\x88\x90" // U+F1210 battery-heart-outline, tags: Battery +#define ICON_MD_BATTERY_HEART_VARIANT "\xf3\xb1\x88\x91" // U+F1211 battery-heart-variant, tags: Battery +#define ICON_MD_BATTERY_HIGH "\xf3\xb1\x8a\xa3" // U+F12A3 battery-high, tags: Battery +#define ICON_MD_BATTERY_LOCK "\xf3\xb1\x9e\x9c" // U+F179C battery-lock, tags: Battery, Lock +#define ICON_MD_BATTERY_LOCK_OPEN "\xf3\xb1\x9e\x9d" // U+F179D battery-lock-open, tags: Battery, Lock +#define ICON_MD_BATTERY_LOW "\xf3\xb1\x8a\xa1" // U+F12A1 battery-low, tags: Battery +#define ICON_MD_BATTERY_MEDIUM "\xf3\xb1\x8a\xa2" // U+F12A2 battery-medium, tags: Battery +#define ICON_MD_BATTERY_MINUS "\xf3\xb1\x9f\xa4" // U+F17E4 battery-minus, tags: Battery +#define ICON_MD_BATTERY_MINUS_OUTLINE "\xf3\xb1\x9f\xa5" // U+F17E5 battery-minus-outline, tags: Battery +#define ICON_MD_BATTERY_MINUS_VARIANT "\xf3\xb0\x82\x8c" // U+F008C battery-minus-variant, tags: Battery, Home Automation +#define ICON_MD_BATTERY_NEGATIVE "\xf3\xb0\x82\x8d" // U+F008D battery-negative, tags: Battery, Home Automation +#define ICON_MD_BATTERY_OFF "\xf3\xb1\x89\x9d" // U+F125D battery-off, tags: Battery +#define ICON_MD_BATTERY_OFF_OUTLINE "\xf3\xb1\x89\x9e" // U+F125E battery-off-outline, tags: Battery +#define ICON_MD_BATTERY_OUTLINE \ + "\xf3\xb0\x82\x8e" // U+F008E battery-outline, aliases: battery-0, battery-empty, tags: Battery, Home Automation, + // Automotive +#define ICON_MD_BATTERY_PLUS "\xf3\xb1\x9f\xa6" // U+F17E6 battery-plus, tags: Battery +#define ICON_MD_BATTERY_PLUS_OUTLINE "\xf3\xb1\x9f\xa7" // U+F17E7 battery-plus-outline, tags: Battery +#define ICON_MD_BATTERY_PLUS_VARIANT \ + "\xf3\xb0\x82\x8f" // U+F008F battery-plus-variant, aliases: battery-saver, battery-add, tags: Battery, Home + // Automation +#define ICON_MD_BATTERY_POSITIVE "\xf3\xb0\x82\x90" // U+F0090 battery-positive, tags: Battery, Home Automation +#define ICON_MD_BATTERY_REMOVE "\xf3\xb1\x9f\xa8" // U+F17E8 battery-remove, tags: Battery +#define ICON_MD_BATTERY_REMOVE_OUTLINE "\xf3\xb1\x9f\xa9" // U+F17E9 battery-remove-outline, tags: Battery +#define ICON_MD_BATTERY_SYNC "\xf3\xb1\xa0\xb4" // U+F1834 battery-sync, aliases: battery-saver, battery-recycle, battery-eco, tags: Battery +#define ICON_MD_BATTERY_SYNC_OUTLINE \ + "\xf3\xb1\xa0\xb5" // U+F1835 battery-sync-outline, aliases: battery-saver-outline, battery-eco-outline, + // battery-recycle-outline, tags: Battery +#define ICON_MD_BATTERY_UNKNOWN "\xf3\xb0\x82\x91" // U+F0091 battery-unknown, tags: Battery, Home Automation +#define ICON_MD_BATTERY_UNKNOWN_BLUETOOTH "\xf3\xb0\xa5\x8a" // U+F094A battery-unknown-bluetooth, tags: Battery +#define ICON_MD_BEACH "\xf3\xb0\x82\x92" // U+F0092 beach, aliases: parasol, tags: Places +#define ICON_MD_BEAKER "\xf3\xb0\xb3\xaa" // U+F0CEA beaker, tags: Science +#define ICON_MD_BEAKER_ALERT "\xf3\xb1\x88\xa9" // U+F1229 beaker-alert, tags: Alert / Error, Science +#define ICON_MD_BEAKER_ALERT_OUTLINE "\xf3\xb1\x88\xaa" // U+F122A beaker-alert-outline, tags: Alert / Error, Science +#define ICON_MD_BEAKER_CHECK "\xf3\xb1\x88\xab" // U+F122B beaker-check, tags: Science +#define ICON_MD_BEAKER_CHECK_OUTLINE "\xf3\xb1\x88\xac" // U+F122C beaker-check-outline, tags: Science +#define ICON_MD_BEAKER_MINUS "\xf3\xb1\x88\xad" // U+F122D beaker-minus, tags: Science +#define ICON_MD_BEAKER_MINUS_OUTLINE "\xf3\xb1\x88\xae" // U+F122E beaker-minus-outline, tags: Science +#define ICON_MD_BEAKER_OUTLINE "\xf3\xb0\x9a\x90" // U+F0690 beaker-outline, tags: Science +#define ICON_MD_BEAKER_PLUS "\xf3\xb1\x88\xaf" // U+F122F beaker-plus, tags: Science +#define ICON_MD_BEAKER_PLUS_OUTLINE "\xf3\xb1\x88\xb0" // U+F1230 beaker-plus-outline, tags: Science +#define ICON_MD_BEAKER_QUESTION "\xf3\xb1\x88\xb1" // U+F1231 beaker-question, tags: Science +#define ICON_MD_BEAKER_QUESTION_OUTLINE "\xf3\xb1\x88\xb2" // U+F1232 beaker-question-outline, tags: Science +#define ICON_MD_BEAKER_REMOVE "\xf3\xb1\x88\xb3" // U+F1233 beaker-remove, tags: Science +#define ICON_MD_BEAKER_REMOVE_OUTLINE "\xf3\xb1\x88\xb4" // U+F1234 beaker-remove-outline, tags: Science +#define ICON_MD_BED "\xf3\xb0\x8b\xa3" // U+F02E3 bed, aliases: hotel, guest-room, tags: Home Automation, Holiday +#define ICON_MD_BED_CLOCK \ + "\xf3\xb1\xae\x94" // U+F1B94 bed-clock, aliases: bed-schedule, bed-time, sleep-schedule, sleep-time, tags: Date / + // Time +#define ICON_MD_BED_DOUBLE "\xf3\xb0\xbf\x94" // U+F0FD4 bed-double, aliases: bedroom, tags: Home Automation, Holiday +#define ICON_MD_BED_DOUBLE_OUTLINE "\xf3\xb0\xbf\x93" // U+F0FD3 bed-double-outline, aliases: bedroom-outline, tags: Home Automation, Holiday +#define ICON_MD_BED_EMPTY "\xf3\xb0\xa2\xa0" // U+F08A0 bed-empty, tags: Home Automation, Holiday +#define ICON_MD_BED_KING "\xf3\xb0\xbf\x92" // U+F0FD2 bed-king, aliases: bedroom, tags: Home Automation, Holiday +#define ICON_MD_BED_KING_OUTLINE "\xf3\xb0\xbf\x91" // U+F0FD1 bed-king-outline, aliases: bedroom-outline, tags: Home Automation, Holiday +#define ICON_MD_BED_OUTLINE \ + "\xf3\xb0\x82\x99" // U+F0099 bed-outline, aliases: hotel-outline, guest-room-outline, tags: Home Automation, + // Holiday +#define ICON_MD_BED_QUEEN "\xf3\xb0\xbf\x90" // U+F0FD0 bed-queen, aliases: bedroom, tags: Home Automation, Holiday +#define ICON_MD_BED_QUEEN_OUTLINE "\xf3\xb0\xbf\x9b" // U+F0FDB bed-queen-outline, aliases: bedroom-outline, tags: Home Automation, Holiday +#define ICON_MD_BED_SINGLE "\xf3\xb1\x81\xad" // U+F106D bed-single, aliases: bedroom, tags: Home Automation, Holiday +#define ICON_MD_BED_SINGLE_OUTLINE "\xf3\xb1\x81\xae" // U+F106E bed-single-outline, aliases: bedroom-outline, tags: Home Automation, Holiday +#define ICON_MD_BEE "\xf3\xb0\xbe\xa1" // U+F0FA1 bee, aliases: fly, insect, tags: Nature, Agriculture, Animal +#define ICON_MD_BEE_FLOWER "\xf3\xb0\xbe\xa2" // U+F0FA2 bee-flower, aliases: fly-flower, nature, tags: Nature, Agriculture +#define ICON_MD_BEEHIVE_OFF_OUTLINE "\xf3\xb1\x8f\xad" // U+F13ED beehive-off-outline, tags: Nature, Agriculture +#define ICON_MD_BEEHIVE_OUTLINE "\xf3\xb1\x83\x8e" // U+F10CE beehive-outline, aliases: honey-outline, tags: Nature, Agriculture +#define ICON_MD_BEEKEEPER "\xf3\xb1\x93\xa2" // U+F14E2 beekeeper, aliases: apiarists, apiculturists, honey-farmer, tags: Nature, Agriculture +#define ICON_MD_BEER "\xf3\xb0\x82\x98" // U+F0098 beer, aliases: pint, pub, bar, drink, cup-full, tags: Food / Drink +#define ICON_MD_BEER_OUTLINE \ + "\xf3\xb1\x8c\x8c" // U+F130C beer-outline, aliases: drink-outline, cup-full-outline, pint-outline, pub-outline, + // bar-outline, tags: Food / Drink +#define ICON_MD_BELL "\xf3\xb0\x82\x9a" // U+F009A bell, aliases: notifications, tags: Notification, Home Automation, Music +#define ICON_MD_BELL_ALERT "\xf3\xb0\xb5\x99" // U+F0D59 bell-alert, aliases: bell-warning, tags: Alert / Error, Notification +#define ICON_MD_BELL_ALERT_OUTLINE "\xf3\xb0\xba\x81" // U+F0E81 bell-alert-outline, tags: Alert / Error, Notification +#define ICON_MD_BELL_BADGE "\xf3\xb1\x85\xab" // U+F116B bell-badge, aliases: bell-notification, tags: Notification +#define ICON_MD_BELL_BADGE_OUTLINE "\xf3\xb0\x85\xb8" // U+F0178 bell-badge-outline, aliases: bell-notification-outline, tags: Notification +#define ICON_MD_BELL_CANCEL "\xf3\xb1\x8f\xa7" // U+F13E7 bell-cancel, tags: Notification +#define ICON_MD_BELL_CANCEL_OUTLINE "\xf3\xb1\x8f\xa8" // U+F13E8 bell-cancel-outline, tags: Notification +#define ICON_MD_BELL_CHECK "\xf3\xb1\x87\xa5" // U+F11E5 bell-check, tags: Notification +#define ICON_MD_BELL_CHECK_OUTLINE "\xf3\xb1\x87\xa6" // U+F11E6 bell-check-outline, tags: Notification +#define ICON_MD_BELL_CIRCLE "\xf3\xb0\xb5\x9a" // U+F0D5A bell-circle, tags: Notification +#define ICON_MD_BELL_CIRCLE_OUTLINE "\xf3\xb0\xb5\x9b" // U+F0D5B bell-circle-outline, tags: Notification +#define ICON_MD_BELL_COG "\xf3\xb1\xa8\xa9" // U+F1A29 bell-cog, aliases: bell-settings, notification-settings, tags: Notification, Settings +#define ICON_MD_BELL_COG_OUTLINE \ + "\xf3\xb1\xa8\xaa" // U+F1A2A bell-cog-outline, aliases: bell-settings-outline, notification-settings-outline, tags: + // Notification, Settings +#define ICON_MD_BELL_MINUS "\xf3\xb1\x8f\xa9" // U+F13E9 bell-minus, tags: Notification +#define ICON_MD_BELL_MINUS_OUTLINE "\xf3\xb1\x8f\xaa" // U+F13EA bell-minus-outline, tags: Notification +#define ICON_MD_BELL_OFF "\xf3\xb0\x82\x9b" // U+F009B bell-off, aliases: notifications-off, tags: Notification +#define ICON_MD_BELL_OFF_OUTLINE "\xf3\xb0\xaa\x91" // U+F0A91 bell-off-outline, tags: Notification +#define ICON_MD_BELL_OUTLINE "\xf3\xb0\x82\x9c" // U+F009C bell-outline, aliases: notifications-none, tags: Notification, Music, Home Automation +#define ICON_MD_BELL_PLUS "\xf3\xb0\x82\x9d" // U+F009D bell-plus, aliases: add-alert, bell-add, tags: Notification +#define ICON_MD_BELL_PLUS_OUTLINE "\xf3\xb0\xaa\x92" // U+F0A92 bell-plus-outline, aliases: bell-add-outline, add-alert-outline, tags: Notification +#define ICON_MD_BELL_REMOVE "\xf3\xb1\x8f\xab" // U+F13EB bell-remove, tags: Notification +#define ICON_MD_BELL_REMOVE_OUTLINE "\xf3\xb1\x8f\xac" // U+F13EC bell-remove-outline, tags: Notification +#define ICON_MD_BELL_RING "\xf3\xb0\x82\x9e" // U+F009E bell-ring, aliases: notifications-active, tags: Notification +#define ICON_MD_BELL_RING_OUTLINE "\xf3\xb0\x82\x9f" // U+F009F bell-ring-outline, tags: Notification +#define ICON_MD_BELL_SLEEP "\xf3\xb0\x82\xa0" // U+F00A0 bell-sleep, aliases: notifications-paused, tags: Notification +#define ICON_MD_BELL_SLEEP_OUTLINE "\xf3\xb0\xaa\x93" // U+F0A93 bell-sleep-outline, tags: Notification +#define ICON_MD_BETA "\xf3\xb0\x82\xa1" // U+F00A1 beta, tags: Alpha / Numeric +#define ICON_MD_BETAMAX "\xf3\xb0\xa7\x8b" // U+F09CB betamax +#define ICON_MD_BIATHLON "\xf3\xb0\xb8\x94" // U+F0E14 biathlon, aliases: human-biathlon, tags: Sport, People / Family +#define ICON_MD_BICYCLE "\xf3\xb1\x82\x9c" // U+F109C bicycle, aliases: bike, cycling, tags: Transportation + Other +#define ICON_MD_BICYCLE_BASKET "\xf3\xb1\x88\xb5" // U+F1235 bicycle-basket, aliases: bike-basket, tags: Transportation + Other +#define ICON_MD_BICYCLE_CARGO "\xf3\xb1\xa2\x9c" // U+F189C bicycle-cargo, aliases: bike-cargo, tags: Transportation + Other +#define ICON_MD_BICYCLE_ELECTRIC "\xf3\xb1\x96\xb4" // U+F15B4 bicycle-electric, aliases: bike-electric, tags: Transportation + Other +#define ICON_MD_BICYCLE_PENNY_FARTHING \ + "\xf3\xb1\x97\xa9" // U+F15E9 bicycle-penny-farthing, aliases: bicycle-high-wheel, bicycle-antique, tags: + // Transportation + Other +#define ICON_MD_BIKE "\xf3\xb0\x82\xa3" // U+F00A3 bike, aliases: bicycle, cycling, directions-bike, tags: Transportation + Other, Sport +#define ICON_MD_BIKE_FAST "\xf3\xb1\x84\x9f" // U+F111F bike-fast, aliases: velocity, tags: Transportation + Other +#define ICON_MD_BILLBOARD "\xf3\xb1\x80\x90" // U+F1010 billboard +#define ICON_MD_BILLIARDS "\xf3\xb0\xad\xa1" // U+F0B61 billiards, aliases: pool, eight-ball, tags: Sport +#define ICON_MD_BILLIARDS_RACK \ + "\xf3\xb0\xad\xa2" // U+F0B62 billiards-rack, aliases: pool-table, pool-rack, snooker-rack, pool-triangle, + // billiards-triangle, snooker-triangle, tags: Sport +#define ICON_MD_BINOCULARS "\xf3\xb0\x82\xa5" // U+F00A5 binoculars +#define ICON_MD_BIO "\xf3\xb0\x82\xa6" // U+F00A6 bio +#define ICON_MD_BIOHAZARD "\xf3\xb0\x82\xa7" // U+F00A7 biohazard, tags: Science +#define ICON_MD_BIRD "\xf3\xb1\x97\x86" // U+F15C6 bird, tags: Animal +#define ICON_MD_BITBUCKET "\xf3\xb0\x82\xa8" // U+F00A8 bitbucket, tags: Brand / Logo +#define ICON_MD_BITCOIN "\xf3\xb0\xa0\x93" // U+F0813 bitcoin, tags: Brand / Logo, Banking, Currency +#define ICON_MD_BLACK_MESA "\xf3\xb0\x82\xa9" // U+F00A9 black-mesa, tags: Brand / Logo, Gaming / RPG +#define ICON_MD_BLENDER "\xf3\xb0\xb3\xab" // U+F0CEB blender, aliases: food-processor, tags: Food / Drink, Home Automation +#define ICON_MD_BLENDER_OUTLINE "\xf3\xb1\xa0\x9a" // U+F181A blender-outline, aliases: food-processor-outline, tags: Home Automation, Food / Drink +#define ICON_MD_BLENDER_SOFTWARE "\xf3\xb0\x82\xab" // U+F00AB blender-software, tags: Brand / Logo +#define ICON_MD_BLINDS "\xf3\xb0\x82\xac" // U+F00AC blinds, aliases: roller-shade-closed, window-closed, tags: Home Automation +#define ICON_MD_BLINDS_HORIZONTAL \ + "\xf3\xb1\xa8\xab" // U+F1A2B blinds-horizontal, aliases: blinds-open, mini-blinds, window-open, tags: Home + // Automation +#define ICON_MD_BLINDS_HORIZONTAL_CLOSED "\xf3\xb1\xa8\xac" // U+F1A2C blinds-horizontal-closed, aliases: mini-blinds, window-closed, tags: Home Automation +#define ICON_MD_BLINDS_OPEN "\xf3\xb1\x80\x91" // U+F1011 blinds-open, aliases: roller-shade-open, window-open, tags: Home Automation +#define ICON_MD_BLINDS_VERTICAL "\xf3\xb1\xa8\xad" // U+F1A2D blinds-vertical, aliases: window, tags: Home Automation +#define ICON_MD_BLINDS_VERTICAL_CLOSED "\xf3\xb1\xa8\xae" // U+F1A2E blinds-vertical-closed, aliases: window-closed, tags: Home Automation +#define ICON_MD_BLOCK_HELPER "\xf3\xb0\x82\xad" // U+F00AD block-helper +#define ICON_MD_BLOOD_BAG "\xf3\xb0\xb3\xac" // U+F0CEC blood-bag, tags: Medical / Hospital +#define ICON_MD_BLUETOOTH "\xf3\xb0\x82\xaf" // U+F00AF bluetooth +#define ICON_MD_BLUETOOTH_AUDIO "\xf3\xb0\x82\xb0" // U+F00B0 bluetooth-audio, aliases: bluetooth-searching, tags: Audio +#define ICON_MD_BLUETOOTH_CONNECT "\xf3\xb0\x82\xb1" // U+F00B1 bluetooth-connect, aliases: bluetooth-connected +#define ICON_MD_BLUETOOTH_OFF "\xf3\xb0\x82\xb2" // U+F00B2 bluetooth-off, aliases: bluetooth-disabled +#define ICON_MD_BLUETOOTH_SETTINGS "\xf3\xb0\x82\xb3" // U+F00B3 bluetooth-settings, aliases: settings-bluetooth, tags: Settings +#define ICON_MD_BLUETOOTH_TRANSFER "\xf3\xb0\x82\xb4" // U+F00B4 bluetooth-transfer +#define ICON_MD_BLUR "\xf3\xb0\x82\xb5" // U+F00B5 blur, aliases: blur-on +#define ICON_MD_BLUR_LINEAR "\xf3\xb0\x82\xb6" // U+F00B6 blur-linear +#define ICON_MD_BLUR_OFF "\xf3\xb0\x82\xb7" // U+F00B7 blur-off +#define ICON_MD_BLUR_RADIAL "\xf3\xb0\x82\xb8" // U+F00B8 blur-radial, aliases: blur-circular +#define ICON_MD_BOLT "\xf3\xb0\xb6\xb3" // U+F0DB3 bolt, tags: Hardware / Tools +#define ICON_MD_BOMB "\xf3\xb0\x9a\x91" // U+F0691 bomb, tags: Gaming / RPG +#define ICON_MD_BOMB_OFF "\xf3\xb0\x9b\x85" // U+F06C5 bomb-off, tags: Gaming / RPG +#define ICON_MD_BONE "\xf3\xb0\x82\xb9" // U+F00B9 bone, tags: Animal, Holiday +#define ICON_MD_BONE_OFF "\xf3\xb1\xa7\xa0" // U+F19E0 bone-off, tags: Animal, Holiday +#define ICON_MD_BOOK "\xf3\xb0\x82\xba" // U+F00BA book, aliases: git-repository +#define ICON_MD_BOOK_ACCOUNT "\xf3\xb1\x8e\xad" // U+F13AD book-account, tags: Account / User +#define ICON_MD_BOOK_ACCOUNT_OUTLINE "\xf3\xb1\x8e\xae" // U+F13AE book-account-outline, tags: Account / User +#define ICON_MD_BOOK_ALERT "\xf3\xb1\x99\xbc" // U+F167C book-alert, tags: Alert / Error +#define ICON_MD_BOOK_ALERT_OUTLINE "\xf3\xb1\x99\xbd" // U+F167D book-alert-outline, tags: Alert / Error +#define ICON_MD_BOOK_ALPHABET "\xf3\xb0\x98\x9d" // U+F061D book-alphabet, aliases: dictionary +#define ICON_MD_BOOK_ARROW_DOWN "\xf3\xb1\x99\xbe" // U+F167E book-arrow-down +#define ICON_MD_BOOK_ARROW_DOWN_OUTLINE "\xf3\xb1\x99\xbf" // U+F167F book-arrow-down-outline +#define ICON_MD_BOOK_ARROW_LEFT "\xf3\xb1\x9a\x80" // U+F1680 book-arrow-left +#define ICON_MD_BOOK_ARROW_LEFT_OUTLINE "\xf3\xb1\x9a\x81" // U+F1681 book-arrow-left-outline +#define ICON_MD_BOOK_ARROW_RIGHT "\xf3\xb1\x9a\x82" // U+F1682 book-arrow-right +#define ICON_MD_BOOK_ARROW_RIGHT_OUTLINE "\xf3\xb1\x9a\x83" // U+F1683 book-arrow-right-outline +#define ICON_MD_BOOK_ARROW_UP "\xf3\xb1\x9a\x84" // U+F1684 book-arrow-up +#define ICON_MD_BOOK_ARROW_UP_OUTLINE "\xf3\xb1\x9a\x85" // U+F1685 book-arrow-up-outline +#define ICON_MD_BOOK_CANCEL "\xf3\xb1\x9a\x86" // U+F1686 book-cancel +#define ICON_MD_BOOK_CANCEL_OUTLINE "\xf3\xb1\x9a\x87" // U+F1687 book-cancel-outline +#define ICON_MD_BOOK_CHECK "\xf3\xb1\x93\xb3" // U+F14F3 book-check +#define ICON_MD_BOOK_CHECK_OUTLINE "\xf3\xb1\x93\xb4" // U+F14F4 book-check-outline +#define ICON_MD_BOOK_CLOCK "\xf3\xb1\x9a\x88" // U+F1688 book-clock, aliases: book-schedule, book-time, tags: Date / Time +#define ICON_MD_BOOK_CLOCK_OUTLINE "\xf3\xb1\x9a\x89" // U+F1689 book-clock-outline, aliases: book-schedule, book-time, tags: Date / Time +#define ICON_MD_BOOK_COG "\xf3\xb1\x9a\x8a" // U+F168A book-cog, aliases: book-settings, tags: Settings +#define ICON_MD_BOOK_COG_OUTLINE "\xf3\xb1\x9a\x8b" // U+F168B book-cog-outline, aliases: book-settings-outline, tags: Settings +#define ICON_MD_BOOK_CROSS "\xf3\xb0\x82\xa2" // U+F00A2 book-cross, aliases: bible, tags: Religion +#define ICON_MD_BOOK_EDIT "\xf3\xb1\x9a\x8c" // U+F168C book-edit, tags: Edit / Modify +#define ICON_MD_BOOK_EDIT_OUTLINE "\xf3\xb1\x9a\x8d" // U+F168D book-edit-outline, tags: Edit / Modify +#define ICON_MD_BOOK_EDUCATION "\xf3\xb1\x9b\x89" // U+F16C9 book-education +#define ICON_MD_BOOK_EDUCATION_OUTLINE "\xf3\xb1\x9b\x8a" // U+F16CA book-education-outline +#define ICON_MD_BOOK_HEART "\xf3\xb1\xa8\x9d" // U+F1A1D book-heart, aliases: book-favorite, book-love +#define ICON_MD_BOOK_HEART_OUTLINE "\xf3\xb1\xa8\x9e" // U+F1A1E book-heart-outline, aliases: book-favorite-outline, book-love-outline +#define ICON_MD_BOOK_INFORMATION_VARIANT "\xf3\xb1\x81\xaf" // U+F106F book-information-variant, aliases: encyclopedia +#define ICON_MD_BOOK_LOCK "\xf3\xb0\x9e\x9a" // U+F079A book-lock, aliases: book-secure, tags: Lock +#define ICON_MD_BOOK_LOCK_OPEN "\xf3\xb0\x9e\x9b" // U+F079B book-lock-open, aliases: book-unsecure, tags: Lock +#define ICON_MD_BOOK_LOCK_OPEN_OUTLINE "\xf3\xb1\x9a\x8e" // U+F168E book-lock-open-outline, tags: Lock +#define ICON_MD_BOOK_LOCK_OUTLINE "\xf3\xb1\x9a\x8f" // U+F168F book-lock-outline, aliases: book-secure-outline, tags: Lock +#define ICON_MD_BOOK_MARKER "\xf3\xb1\x9a\x90" // U+F1690 book-marker, aliases: book-location, tags: Navigation +#define ICON_MD_BOOK_MARKER_OUTLINE "\xf3\xb1\x9a\x91" // U+F1691 book-marker-outline, aliases: book-location-outline, tags: Navigation +#define ICON_MD_BOOK_MINUS "\xf3\xb0\x97\x99" // U+F05D9 book-minus +#define ICON_MD_BOOK_MINUS_MULTIPLE "\xf3\xb0\xaa\x94" // U+F0A94 book-minus-multiple, aliases: books-minus +#define ICON_MD_BOOK_MINUS_MULTIPLE_OUTLINE "\xf3\xb0\xa4\x8b" // U+F090B book-minus-multiple-outline +#define ICON_MD_BOOK_MINUS_OUTLINE "\xf3\xb1\x9a\x92" // U+F1692 book-minus-outline +#define ICON_MD_BOOK_MULTIPLE "\xf3\xb0\x82\xbb" // U+F00BB book-multiple, aliases: books +#define ICON_MD_BOOK_MULTIPLE_OUTLINE "\xf3\xb0\x90\xb6" // U+F0436 book-multiple-outline +#define ICON_MD_BOOK_MUSIC "\xf3\xb0\x81\xa7" // U+F0067 book-music, aliases: audio-book, tags: Audio, Music +#define ICON_MD_BOOK_MUSIC_OUTLINE "\xf3\xb1\x9a\x93" // U+F1693 book-music-outline, tags: Music +#define ICON_MD_BOOK_OFF "\xf3\xb1\x9a\x94" // U+F1694 book-off +#define ICON_MD_BOOK_OFF_OUTLINE "\xf3\xb1\x9a\x95" // U+F1695 book-off-outline +#define ICON_MD_BOOK_OPEN "\xf3\xb0\x82\xbd" // U+F00BD book-open, aliases: chrome-reader-mode +#define ICON_MD_BOOK_OPEN_BLANK_VARIANT "\xf3\xb0\x82\xbe" // U+F00BE book-open-blank-variant, aliases: import-contacts +#define ICON_MD_BOOK_OPEN_OUTLINE "\xf3\xb0\xad\xa3" // U+F0B63 book-open-outline +#define ICON_MD_BOOK_OPEN_PAGE_VARIANT "\xf3\xb0\x97\x9a" // U+F05DA book-open-page-variant, aliases: auto-stories +#define ICON_MD_BOOK_OPEN_PAGE_VARIANT_OUTLINE "\xf3\xb1\x97\x96" // U+F15D6 book-open-page-variant-outline +#define ICON_MD_BOOK_OPEN_VARIANT "\xf3\xb1\x93\xb7" // U+F14F7 book-open-variant +#define ICON_MD_BOOK_OUTLINE "\xf3\xb0\xad\xa4" // U+F0B64 book-outline +#define ICON_MD_BOOK_PLAY "\xf3\xb0\xba\x82" // U+F0E82 book-play +#define ICON_MD_BOOK_PLAY_OUTLINE "\xf3\xb0\xba\x83" // U+F0E83 book-play-outline +#define ICON_MD_BOOK_PLUS "\xf3\xb0\x97\x9b" // U+F05DB book-plus, aliases: book-add +#define ICON_MD_BOOK_PLUS_MULTIPLE "\xf3\xb0\xaa\x95" // U+F0A95 book-plus-multiple, aliases: books-plus, book-multiple-add, books-add +#define ICON_MD_BOOK_PLUS_MULTIPLE_OUTLINE "\xf3\xb0\xab\x9e" // U+F0ADE book-plus-multiple-outline +#define ICON_MD_BOOK_PLUS_OUTLINE "\xf3\xb1\x9a\x96" // U+F1696 book-plus-outline +#define ICON_MD_BOOK_REFRESH "\xf3\xb1\x9a\x97" // U+F1697 book-refresh +#define ICON_MD_BOOK_REFRESH_OUTLINE "\xf3\xb1\x9a\x98" // U+F1698 book-refresh-outline +#define ICON_MD_BOOK_REMOVE "\xf3\xb0\xaa\x97" // U+F0A97 book-remove +#define ICON_MD_BOOK_REMOVE_MULTIPLE "\xf3\xb0\xaa\x96" // U+F0A96 book-remove-multiple, aliases: books-remove +#define ICON_MD_BOOK_REMOVE_MULTIPLE_OUTLINE "\xf3\xb0\x93\x8a" // U+F04CA book-remove-multiple-outline +#define ICON_MD_BOOK_REMOVE_OUTLINE "\xf3\xb1\x9a\x99" // U+F1699 book-remove-outline +#define ICON_MD_BOOK_SEARCH "\xf3\xb0\xba\x84" // U+F0E84 book-search +#define ICON_MD_BOOK_SEARCH_OUTLINE "\xf3\xb0\xba\x85" // U+F0E85 book-search-outline +#define ICON_MD_BOOK_SETTINGS "\xf3\xb1\x9a\x9a" // U+F169A book-settings, tags: Settings +#define ICON_MD_BOOK_SETTINGS_OUTLINE "\xf3\xb1\x9a\x9b" // U+F169B book-settings-outline, tags: Settings +#define ICON_MD_BOOK_SYNC "\xf3\xb1\x9a\x9c" // U+F169C book-sync +#define ICON_MD_BOOK_SYNC_OUTLINE "\xf3\xb1\x9b\x88" // U+F16C8 book-sync-outline +#define ICON_MD_BOOK_VARIANT "\xf3\xb0\x82\xbf" // U+F00BF book-variant, aliases: class +#define ICON_MD_BOOKMARK "\xf3\xb0\x83\x80" // U+F00C0 bookmark, aliases: turned-in +#define ICON_MD_BOOKMARK_BOX "\xf3\xb1\xad\xb5" // U+F1B75 bookmark-box +#define ICON_MD_BOOKMARK_BOX_MULTIPLE "\xf3\xb1\xa5\xac" // U+F196C bookmark-box-multiple, aliases: collections-bookmark, library-bookmark +#define ICON_MD_BOOKMARK_BOX_MULTIPLE_OUTLINE \ + "\xf3\xb1\xa5\xad" // U+F196D bookmark-box-multiple-outline, aliases: collections-bookmark-outline, + // library-bookmark-outline +#define ICON_MD_BOOKMARK_BOX_OUTLINE "\xf3\xb1\xad\xb6" // U+F1B76 bookmark-box-outline +#define ICON_MD_BOOKMARK_CHECK "\xf3\xb0\x83\x81" // U+F00C1 bookmark-check, aliases: bookmark-tick +#define ICON_MD_BOOKMARK_CHECK_OUTLINE "\xf3\xb1\x8d\xbb" // U+F137B bookmark-check-outline +#define ICON_MD_BOOKMARK_MINUS "\xf3\xb0\xa7\x8c" // U+F09CC bookmark-minus +#define ICON_MD_BOOKMARK_MINUS_OUTLINE "\xf3\xb0\xa7\x8d" // U+F09CD bookmark-minus-outline +#define ICON_MD_BOOKMARK_MULTIPLE "\xf3\xb0\xb8\x95" // U+F0E15 bookmark-multiple +#define ICON_MD_BOOKMARK_MULTIPLE_OUTLINE "\xf3\xb0\xb8\x96" // U+F0E16 bookmark-multiple-outline +#define ICON_MD_BOOKMARK_MUSIC "\xf3\xb0\x83\x82" // U+F00C2 bookmark-music, tags: Music +#define ICON_MD_BOOKMARK_MUSIC_OUTLINE "\xf3\xb1\x8d\xb9" // U+F1379 bookmark-music-outline, tags: Music +#define ICON_MD_BOOKMARK_OFF "\xf3\xb0\xa7\x8e" // U+F09CE bookmark-off +#define ICON_MD_BOOKMARK_OFF_OUTLINE "\xf3\xb0\xa7\x8f" // U+F09CF bookmark-off-outline +#define ICON_MD_BOOKMARK_OUTLINE "\xf3\xb0\x83\x83" // U+F00C3 bookmark-outline, aliases: bookmark-border, turned-in-not +#define ICON_MD_BOOKMARK_PLUS "\xf3\xb0\x83\x85" // U+F00C5 bookmark-plus, aliases: bookmark-add +#define ICON_MD_BOOKMARK_PLUS_OUTLINE "\xf3\xb0\x83\x84" // U+F00C4 bookmark-plus-outline, aliases: bookmark-add-outline +#define ICON_MD_BOOKMARK_REMOVE "\xf3\xb0\x83\x86" // U+F00C6 bookmark-remove +#define ICON_MD_BOOKMARK_REMOVE_OUTLINE "\xf3\xb1\x8d\xba" // U+F137A bookmark-remove-outline +#define ICON_MD_BOOKSHELF "\xf3\xb1\x89\x9f" // U+F125F bookshelf +#define ICON_MD_BOOM_GATE \ + "\xf3\xb0\xba\x86" // U+F0E86 boom-gate, aliases: boom-arm, boom-barrier, arm-barrier, barrier, automatic-gate, + // tags: Transportation + Road, Home Automation +#define ICON_MD_BOOM_GATE_ALERT \ + "\xf3\xb0\xba\x87" // U+F0E87 boom-gate-alert, aliases: boom-arm-alert, boom-barrier-alert, arm-barrier-alert, + // barrier-alert, automatic-gate-alert, tags: Alert / Error, Transportation + Road +#define ICON_MD_BOOM_GATE_ALERT_OUTLINE \ + "\xf3\xb0\xba\x88" // U+F0E88 boom-gate-alert-outline, aliases: boom-arm-alert-outline, boom-barrier-alert-outline, + // arm-barrier-alert-outline, barrier-alert-outline, automatic-gate-alert-outline, tags: Alert / + // Error, Transportation + Road +#define ICON_MD_BOOM_GATE_ARROW_DOWN \ + "\xf3\xb0\xba\x89" // U+F0E89 boom-gate-arrow-down, aliases: boom-arm-down, boom-barrier-down, arm-barrier-down, + // barrier-down, automatic-gate-down, tags: Transportation + Road +#define ICON_MD_BOOM_GATE_ARROW_DOWN_OUTLINE \ + "\xf3\xb0\xba\x8a" // U+F0E8A boom-gate-arrow-down-outline, aliases: boom-arm-down-outline, + // boom-barrier-down-outline, arm-barrier-down-outline, barrier-down-outline, + // automatic-gate-down-outline, tags: Transportation + Road +#define ICON_MD_BOOM_GATE_ARROW_UP \ + "\xf3\xb0\xba\x8c" // U+F0E8C boom-gate-arrow-up, aliases: boom-arm-up, boom-barrier-up, arm-barrier-up, barrier-up, + // automatic-gate-up, tags: Transportation + Road +#define ICON_MD_BOOM_GATE_ARROW_UP_OUTLINE \ + "\xf3\xb0\xba\x8d" // U+F0E8D boom-gate-arrow-up-outline, aliases: boom-arm-up-outline, boom-barrier-up-outline, + // arm-barrier-up-outline, barrier-up-outline, automatic-gate-up-outline, tags: Transportation + + // Road +#define ICON_MD_BOOM_GATE_OUTLINE \ + "\xf3\xb0\xba\x8b" // U+F0E8B boom-gate-outline, aliases: boom-arm-outline, boom-barrier-outline, + // arm-barrier-outline, barrier-outline, automatic-gate-outline, tags: Transportation + Road, + // Home Automation +#define ICON_MD_BOOM_GATE_UP \ + "\xf3\xb1\x9f\xb9" // U+F17F9 boom-gate-up, aliases: boom-arm-up, boom-barrier-up, arm-barrier-up, barrier-up, + // automatic-gate-up, tags: Transportation + Road, Home Automation +#define ICON_MD_BOOM_GATE_UP_OUTLINE \ + "\xf3\xb1\x9f\xba" // U+F17FA boom-gate-up-outline, aliases: boom-arm-up-outline, boom-barrier-up-outline, + // arm-barrier-up-outline, barrier-up-outline, automatic-gate-up-outline, tags: Transportation + + // Road, Home Automation +#define ICON_MD_BOOMBOX "\xf3\xb0\x97\x9c" // U+F05DC boombox, tags: Home Automation +#define ICON_MD_BOOMERANG "\xf3\xb1\x83\x8f" // U+F10CF boomerang, tags: Gaming / RPG +#define ICON_MD_BOOTSTRAP "\xf3\xb0\x9b\x86" // U+F06C6 bootstrap, tags: Brand / Logo, Developer / Languages +#define ICON_MD_BORDER_ALL "\xf3\xb0\x83\x87" // U+F00C7 border-all, tags: Text / Content / Format +#define ICON_MD_BORDER_ALL_VARIANT "\xf3\xb0\xa2\xa1" // U+F08A1 border-all-variant, tags: Text / Content / Format +#define ICON_MD_BORDER_BOTTOM "\xf3\xb0\x83\x88" // U+F00C8 border-bottom, tags: Text / Content / Format +#define ICON_MD_BORDER_BOTTOM_VARIANT "\xf3\xb0\xa2\xa2" // U+F08A2 border-bottom-variant, tags: Text / Content / Format +#define ICON_MD_BORDER_COLOR "\xf3\xb0\x83\x89" // U+F00C9 border-color, aliases: border-colour, tags: Color, Text / Content / Format +#define ICON_MD_BORDER_HORIZONTAL "\xf3\xb0\x83\x8a" // U+F00CA border-horizontal, tags: Text / Content / Format +#define ICON_MD_BORDER_INSIDE "\xf3\xb0\x83\x8b" // U+F00CB border-inside, tags: Text / Content / Format +#define ICON_MD_BORDER_LEFT "\xf3\xb0\x83\x8c" // U+F00CC border-left, tags: Text / Content / Format +#define ICON_MD_BORDER_LEFT_VARIANT "\xf3\xb0\xa2\xa3" // U+F08A3 border-left-variant, tags: Text / Content / Format +#define ICON_MD_BORDER_NONE "\xf3\xb0\x83\x8d" // U+F00CD border-none, aliases: border-clear, tags: Text / Content / Format +#define ICON_MD_BORDER_NONE_VARIANT "\xf3\xb0\xa2\xa4" // U+F08A4 border-none-variant, tags: Text / Content / Format +#define ICON_MD_BORDER_OUTSIDE "\xf3\xb0\x83\x8e" // U+F00CE border-outside, aliases: border-outer, tags: Text / Content / Format +#define ICON_MD_BORDER_RADIUS "\xf3\xb1\xab\xb4" // U+F1AF4 border-radius, aliases: border-round-corners, tags: Text / Content / Format +#define ICON_MD_BORDER_RIGHT "\xf3\xb0\x83\x8f" // U+F00CF border-right, tags: Text / Content / Format +#define ICON_MD_BORDER_RIGHT_VARIANT "\xf3\xb0\xa2\xa5" // U+F08A5 border-right-variant, tags: Text / Content / Format +#define ICON_MD_BORDER_STYLE "\xf3\xb0\x83\x90" // U+F00D0 border-style, tags: Text / Content / Format +#define ICON_MD_BORDER_TOP "\xf3\xb0\x83\x91" // U+F00D1 border-top, tags: Text / Content / Format +#define ICON_MD_BORDER_TOP_VARIANT "\xf3\xb0\xa2\xa6" // U+F08A6 border-top-variant, tags: Text / Content / Format +#define ICON_MD_BORDER_VERTICAL "\xf3\xb0\x83\x92" // U+F00D2 border-vertical, tags: Text / Content / Format +#define ICON_MD_BOTTLE_SODA "\xf3\xb1\x81\xb0" // U+F1070 bottle-soda, aliases: bottle-coke, bottle-pop, tags: Food / Drink +#define ICON_MD_BOTTLE_SODA_CLASSIC \ + "\xf3\xb1\x81\xb1" // U+F1071 bottle-soda-classic, aliases: bottle-coke-classic, bottle-pop-classic, tags: Food / + // Drink +#define ICON_MD_BOTTLE_SODA_CLASSIC_OUTLINE "\xf3\xb1\x8d\xa3" // U+F1363 bottle-soda-classic-outline +#define ICON_MD_BOTTLE_SODA_OUTLINE \ + "\xf3\xb1\x81\xb2" // U+F1072 bottle-soda-outline, aliases: bottle-coke-outline, bottle-pop-outline, tags: Food / + // Drink +#define ICON_MD_BOTTLE_TONIC "\xf3\xb1\x84\xae" // U+F112E bottle-tonic, aliases: flask, tags: Science +#define ICON_MD_BOTTLE_TONIC_OUTLINE "\xf3\xb1\x84\xaf" // U+F112F bottle-tonic-outline, aliases: flask-outline, tags: Science +#define ICON_MD_BOTTLE_TONIC_PLUS "\xf3\xb1\x84\xb0" // U+F1130 bottle-tonic-plus, aliases: health-potion, tags: Gaming / RPG +#define ICON_MD_BOTTLE_TONIC_PLUS_OUTLINE "\xf3\xb1\x84\xb1" // U+F1131 bottle-tonic-plus-outline, aliases: health-potion-outline, tags: Gaming / RPG +#define ICON_MD_BOTTLE_TONIC_SKULL "\xf3\xb1\x84\xb2" // U+F1132 bottle-tonic-skull, aliases: poison, moonshine, tags: Gaming / RPG, Holiday +#define ICON_MD_BOTTLE_TONIC_SKULL_OUTLINE \ + "\xf3\xb1\x84\xb3" // U+F1133 bottle-tonic-skull-outline, aliases: poison-outline, moonshine-outline, tags: Gaming / + // RPG, Holiday +#define ICON_MD_BOTTLE_WINE "\xf3\xb0\xa1\x94" // U+F0854 bottle-wine, tags: Food / Drink +#define ICON_MD_BOTTLE_WINE_OUTLINE "\xf3\xb1\x8c\x90" // U+F1310 bottle-wine-outline, tags: Food / Drink +#define ICON_MD_BOW_ARROW "\xf3\xb1\xa1\x81" // U+F1841 bow-arrow, tags: Gaming / RPG, Sport +#define ICON_MD_BOW_TIE "\xf3\xb0\x99\xb8" // U+F0678 bow-tie, tags: Clothing +#define ICON_MD_BOWL "\xf3\xb0\x8a\x8e" // U+F028E bowl, tags: Food / Drink +#define ICON_MD_BOWL_MIX "\xf3\xb0\x98\x97" // U+F0617 bowl-mix, aliases: mixing-bowl, tags: Food / Drink +#define ICON_MD_BOWL_MIX_OUTLINE "\xf3\xb0\x8b\xa4" // U+F02E4 bowl-mix-outline, aliases: mixing-bowl-outline, tags: Food / Drink +#define ICON_MD_BOWL_OUTLINE "\xf3\xb0\x8a\xa9" // U+F02A9 bowl-outline, tags: Food / Drink +#define ICON_MD_BOWLING "\xf3\xb0\x83\x93" // U+F00D3 bowling, tags: Sport +#define ICON_MD_BOX "\xf3\xb0\x83\x94" // U+F00D4 box, tags: Brand / Logo +#define ICON_MD_BOX_CUTTER "\xf3\xb0\x83\x95" // U+F00D5 box-cutter, aliases: stanley-knife, tags: Hardware / Tools +#define ICON_MD_BOX_CUTTER_OFF "\xf3\xb0\xad\x8a" // U+F0B4A box-cutter-off +#define ICON_MD_BOX_SHADOW "\xf3\xb0\x98\xb7" // U+F0637 box-shadow +#define ICON_MD_BOXING_GLOVE "\xf3\xb0\xad\xa5" // U+F0B65 boxing-glove, tags: Sport +#define ICON_MD_BRAILLE "\xf3\xb0\xa7\x90" // U+F09D0 braille, aliases: touch-reading, hand-reading +#define ICON_MD_BRAIN "\xf3\xb0\xa7\x91" // U+F09D1 brain, tags: Medical / Hospital +#define ICON_MD_BREAD_SLICE "\xf3\xb0\xb3\xae" // U+F0CEE bread-slice, tags: Food / Drink +#define ICON_MD_BREAD_SLICE_OUTLINE "\xf3\xb0\xb3\xaf" // U+F0CEF bread-slice-outline, tags: Food / Drink +#define ICON_MD_BRIDGE "\xf3\xb0\x98\x98" // U+F0618 bridge, tags: Places +#define ICON_MD_BRIEFCASE "\xf3\xb0\x83\x96" // U+F00D6 briefcase, aliases: work +#define ICON_MD_BRIEFCASE_ACCOUNT "\xf3\xb0\xb3\xb0" // U+F0CF0 briefcase-account, aliases: briefcase-person, briefcase-user, tags: Account / User +#define ICON_MD_BRIEFCASE_ACCOUNT_OUTLINE \ + "\xf3\xb0\xb3\xb1" // U+F0CF1 briefcase-account-outline, aliases: briefcase-person-outline, briefcase-user-outline, + // tags: Account / User +#define ICON_MD_BRIEFCASE_ARROW_LEFT_RIGHT \ + "\xf3\xb1\xaa\x8d" // U+F1A8D briefcase-arrow-left-right, aliases: briefcase-transfer, briefcase-exchange, + // briefcase-swap +#define ICON_MD_BRIEFCASE_ARROW_LEFT_RIGHT_OUTLINE \ + "\xf3\xb1\xaa\x8e" // U+F1A8E briefcase-arrow-left-right-outline, aliases: briefcase-exchange-outline, + // briefcase-transfer-outline, briefcase-swap-outline +#define ICON_MD_BRIEFCASE_ARROW_UP_DOWN \ + "\xf3\xb1\xaa\x8f" // U+F1A8F briefcase-arrow-up-down, aliases: briefcase-exchange, briefcase-transfer, + // briefcase-swap +#define ICON_MD_BRIEFCASE_ARROW_UP_DOWN_OUTLINE \ + "\xf3\xb1\xaa\x90" // U+F1A90 briefcase-arrow-up-down-outline, aliases: briefcase-exchange-outline, + // briefcase-transfer-outline, briefcase-swap-outline +#define ICON_MD_BRIEFCASE_CHECK "\xf3\xb0\x83\x97" // U+F00D7 briefcase-check, aliases: briefcase-tick +#define ICON_MD_BRIEFCASE_CHECK_OUTLINE "\xf3\xb1\x8c\x9e" // U+F131E briefcase-check-outline +#define ICON_MD_BRIEFCASE_CLOCK "\xf3\xb1\x83\x90" // U+F10D0 briefcase-clock, tags: Date / Time +#define ICON_MD_BRIEFCASE_CLOCK_OUTLINE "\xf3\xb1\x83\x91" // U+F10D1 briefcase-clock-outline, tags: Date / Time +#define ICON_MD_BRIEFCASE_DOWNLOAD "\xf3\xb0\x83\x98" // U+F00D8 briefcase-download +#define ICON_MD_BRIEFCASE_DOWNLOAD_OUTLINE "\xf3\xb0\xb0\xbd" // U+F0C3D briefcase-download-outline +#define ICON_MD_BRIEFCASE_EDIT "\xf3\xb0\xaa\x98" // U+F0A98 briefcase-edit, tags: Edit / Modify +#define ICON_MD_BRIEFCASE_EDIT_OUTLINE "\xf3\xb0\xb0\xbe" // U+F0C3E briefcase-edit-outline, tags: Edit / Modify +#define ICON_MD_BRIEFCASE_EYE "\xf3\xb1\x9f\x99" // U+F17D9 briefcase-eye, aliases: briefcase-view +#define ICON_MD_BRIEFCASE_EYE_OUTLINE "\xf3\xb1\x9f\x9a" // U+F17DA briefcase-eye-outline, aliases: briefcase-view-outline +#define ICON_MD_BRIEFCASE_MINUS "\xf3\xb0\xa8\xaa" // U+F0A2A briefcase-minus +#define ICON_MD_BRIEFCASE_MINUS_OUTLINE "\xf3\xb0\xb0\xbf" // U+F0C3F briefcase-minus-outline +#define ICON_MD_BRIEFCASE_OFF "\xf3\xb1\x99\x98" // U+F1658 briefcase-off +#define ICON_MD_BRIEFCASE_OFF_OUTLINE "\xf3\xb1\x99\x99" // U+F1659 briefcase-off-outline +#define ICON_MD_BRIEFCASE_OUTLINE "\xf3\xb0\xa0\x94" // U+F0814 briefcase-outline, aliases: work-outline +#define ICON_MD_BRIEFCASE_PLUS "\xf3\xb0\xa8\xab" // U+F0A2B briefcase-plus, aliases: briefcase-add +#define ICON_MD_BRIEFCASE_PLUS_OUTLINE "\xf3\xb0\xb1\x80" // U+F0C40 briefcase-plus-outline, aliases: briefcase-add-outline +#define ICON_MD_BRIEFCASE_REMOVE "\xf3\xb0\xa8\xac" // U+F0A2C briefcase-remove +#define ICON_MD_BRIEFCASE_REMOVE_OUTLINE "\xf3\xb0\xb1\x81" // U+F0C41 briefcase-remove-outline +#define ICON_MD_BRIEFCASE_SEARCH "\xf3\xb0\xa8\xad" // U+F0A2D briefcase-search +#define ICON_MD_BRIEFCASE_SEARCH_OUTLINE "\xf3\xb0\xb1\x82" // U+F0C42 briefcase-search-outline +#define ICON_MD_BRIEFCASE_UPLOAD "\xf3\xb0\x83\x99" // U+F00D9 briefcase-upload +#define ICON_MD_BRIEFCASE_UPLOAD_OUTLINE "\xf3\xb0\xb1\x83" // U+F0C43 briefcase-upload-outline +#define ICON_MD_BRIEFCASE_VARIANT "\xf3\xb1\x92\x94" // U+F1494 briefcase-variant +#define ICON_MD_BRIEFCASE_VARIANT_OFF "\xf3\xb1\x99\x9a" // U+F165A briefcase-variant-off +#define ICON_MD_BRIEFCASE_VARIANT_OFF_OUTLINE "\xf3\xb1\x99\x9b" // U+F165B briefcase-variant-off-outline +#define ICON_MD_BRIEFCASE_VARIANT_OUTLINE "\xf3\xb1\x92\x95" // U+F1495 briefcase-variant-outline +#define ICON_MD_BRIGHTNESS_1 "\xf3\xb0\x83\x9a" // U+F00DA brightness-1 +#define ICON_MD_BRIGHTNESS_2 "\xf3\xb0\x83\x9b" // U+F00DB brightness-2 +#define ICON_MD_BRIGHTNESS_3 "\xf3\xb0\x83\x9c" // U+F00DC brightness-3 +#define ICON_MD_BRIGHTNESS_4 "\xf3\xb0\x83\x9d" // U+F00DD brightness-4, aliases: theme-light-dark +#define ICON_MD_BRIGHTNESS_5 "\xf3\xb0\x83\x9e" // U+F00DE brightness-5, aliases: brightness-low +#define ICON_MD_BRIGHTNESS_6 "\xf3\xb0\x83\x9f" // U+F00DF brightness-6, aliases: brightness-medium, theme-light-dark +#define ICON_MD_BRIGHTNESS_7 "\xf3\xb0\x83\xa0" // U+F00E0 brightness-7, aliases: brightness-high, tags: Home Automation +#define ICON_MD_BRIGHTNESS_AUTO "\xf3\xb0\x83\xa1" // U+F00E1 brightness-auto +#define ICON_MD_BRIGHTNESS_PERCENT "\xf3\xb0\xb3\xb2" // U+F0CF2 brightness-percent, aliases: discount, sale, tags: Shopping +#define ICON_MD_BROADCAST "\xf3\xb1\x9c\xa0" // U+F1720 broadcast, aliases: signal, tags: Weather +#define ICON_MD_BROADCAST_OFF "\xf3\xb1\x9c\xa1" // U+F1721 broadcast-off, aliases: signal-off, tags: Weather +#define ICON_MD_BROOM "\xf3\xb0\x83\xa2" // U+F00E2 broom +#define ICON_MD_BRUSH "\xf3\xb0\x83\xa3" // U+F00E3 brush, aliases: paintbrush, tags: Drawing / Art +#define ICON_MD_BRUSH_OFF "\xf3\xb1\x9d\xb1" // U+F1771 brush-off +#define ICON_MD_BRUSH_OUTLINE "\xf3\xb1\xa8\x8d" // U+F1A0D brush-outline, aliases: paintbrush-outline, tags: Drawing / Art +#define ICON_MD_BRUSH_VARIANT "\xf3\xb1\xa0\x93" // U+F1813 brush-variant, aliases: paintbrush, tags: Drawing / Art +#define ICON_MD_BUCKET "\xf3\xb1\x90\x95" // U+F1415 bucket +#define ICON_MD_BUCKET_OUTLINE "\xf3\xb1\x90\x96" // U+F1416 bucket-outline +#define ICON_MD_BUFFET "\xf3\xb0\x95\xb8" // U+F0578 buffet, aliases: sideboard, tags: Home Automation +#define ICON_MD_BUG "\xf3\xb0\x83\xa4" // U+F00E4 bug, aliases: bug-report, tags: Nature, Animal +#define ICON_MD_BUG_CHECK "\xf3\xb0\xa8\xae" // U+F0A2E bug-check, aliases: bug-tick, tags: Animal +#define ICON_MD_BUG_CHECK_OUTLINE "\xf3\xb0\xa8\xaf" // U+F0A2F bug-check-outline, aliases: bug-tick-outline, tags: Animal +#define ICON_MD_BUG_OUTLINE "\xf3\xb0\xa8\xb0" // U+F0A30 bug-outline, tags: Nature, Animal +#define ICON_MD_BUG_PAUSE "\xf3\xb1\xab\xb5" // U+F1AF5 bug-pause +#define ICON_MD_BUG_PAUSE_OUTLINE "\xf3\xb1\xab\xb6" // U+F1AF6 bug-pause-outline +#define ICON_MD_BUG_PLAY "\xf3\xb1\xab\xb7" // U+F1AF7 bug-play, aliases: bug-start +#define ICON_MD_BUG_PLAY_OUTLINE "\xf3\xb1\xab\xb8" // U+F1AF8 bug-play-outline +#define ICON_MD_BUG_STOP "\xf3\xb1\xab\xb9" // U+F1AF9 bug-stop +#define ICON_MD_BUG_STOP_OUTLINE "\xf3\xb1\xab\xba" // U+F1AFA bug-stop-outline +#define ICON_MD_BUGLE "\xf3\xb0\xb6\xb4" // U+F0DB4 bugle, aliases: car-horn, tags: Automotive, Music +#define ICON_MD_BULKHEAD_LIGHT "\xf3\xb1\xa8\xaf" // U+F1A2F bulkhead-light, tags: Home Automation +#define ICON_MD_BULLDOZER "\xf3\xb0\xac\xa2" // U+F0B22 bulldozer, tags: Hardware / Tools +#define ICON_MD_BULLET "\xf3\xb0\xb3\xb3" // U+F0CF3 bullet +#define ICON_MD_BULLETIN_BOARD "\xf3\xb0\x83\xa5" // U+F00E5 bulletin-board, aliases: notice-board +#define ICON_MD_BULLHORN "\xf3\xb0\x83\xa6" // U+F00E6 bullhorn, aliases: announcement, megaphone, loudspeaker +#define ICON_MD_BULLHORN_OUTLINE \ + "\xf3\xb0\xac\xa3" // U+F0B23 bullhorn-outline, aliases: announcement-outline, megaphone-outline, + // loudspeaker-outline +#define ICON_MD_BULLHORN_VARIANT "\xf3\xb1\xa5\xae" // U+F196E bullhorn-variant, aliases: announcement, megaphone, loudspeaker +#define ICON_MD_BULLHORN_VARIANT_OUTLINE \ + "\xf3\xb1\xa5\xaf" // U+F196F bullhorn-variant-outline, aliases: announcement-outline, megaphone-outline, + // loudspeaker-outline +#define ICON_MD_BULLSEYE "\xf3\xb0\x97\x9d" // U+F05DD bullseye, aliases: target, tags: Sport +#define ICON_MD_BULLSEYE_ARROW "\xf3\xb0\xa3\x89" // U+F08C9 bullseye-arrow, aliases: target-arrow, tags: Sport +#define ICON_MD_BULMA "\xf3\xb1\x8b\xa7" // U+F12E7 bulma, tags: Developer / Languages, Brand / Logo +#define ICON_MD_BUNK_BED "\xf3\xb1\x8c\x82" // U+F1302 bunk-bed, tags: Home Automation +#define ICON_MD_BUNK_BED_OUTLINE "\xf3\xb0\x82\x97" // U+F0097 bunk-bed-outline, tags: Home Automation +#define ICON_MD_BUS "\xf3\xb0\x83\xa7" // U+F00E7 bus, aliases: directions-bus, tags: Navigation, Transportation + Road +#define ICON_MD_BUS_ALERT "\xf3\xb0\xaa\x99" // U+F0A99 bus-alert, aliases: bus-warning, tags: Alert / Error, Transportation + Road +#define ICON_MD_BUS_ARTICULATED_END "\xf3\xb0\x9e\x9c" // U+F079C bus-articulated-end, tags: Transportation + Road +#define ICON_MD_BUS_ARTICULATED_FRONT "\xf3\xb0\x9e\x9d" // U+F079D bus-articulated-front, tags: Transportation + Road +#define ICON_MD_BUS_CLOCK "\xf3\xb0\xa3\x8a" // U+F08CA bus-clock, aliases: departure-board, tags: Date / Time, Transportation + Road +#define ICON_MD_BUS_DOUBLE_DECKER "\xf3\xb0\x9e\x9e" // U+F079E bus-double-decker, tags: Transportation + Road +#define ICON_MD_BUS_ELECTRIC "\xf3\xb1\xa4\x9d" // U+F191D bus-electric, tags: Transportation + Road +#define ICON_MD_BUS_MARKER "\xf3\xb1\x88\x92" // U+F1212 bus-marker, aliases: bus-location, bus-stop, tags: Navigation +#define ICON_MD_BUS_MULTIPLE "\xf3\xb0\xbc\xbf" // U+F0F3F bus-multiple, aliases: fleet, tags: Transportation + Road +#define ICON_MD_BUS_SCHOOL "\xf3\xb0\x9e\x9f" // U+F079F bus-school, aliases: education, tags: Transportation + Road +#define ICON_MD_BUS_SIDE "\xf3\xb0\x9e\xa0" // U+F07A0 bus-side, tags: Transportation + Road +#define ICON_MD_BUS_STOP "\xf3\xb1\x80\x92" // U+F1012 bus-stop, tags: Transportation + Road, Navigation +#define ICON_MD_BUS_STOP_COVERED "\xf3\xb1\x80\x93" // U+F1013 bus-stop-covered, tags: Transportation + Road, Navigation +#define ICON_MD_BUS_STOP_UNCOVERED "\xf3\xb1\x80\x94" // U+F1014 bus-stop-uncovered, tags: Transportation + Road, Navigation +#define ICON_MD_BUTTERFLY "\xf3\xb1\x96\x89" // U+F1589 butterfly, tags: Nature, Animal +#define ICON_MD_BUTTERFLY_OUTLINE "\xf3\xb1\x96\x8a" // U+F158A butterfly-outline, tags: Nature, Animal +#define ICON_MD_BUTTON_CURSOR "\xf3\xb1\xad\x8f" // U+F1B4F button-cursor, tags: Form +#define ICON_MD_BUTTON_POINTER "\xf3\xb1\xad\x90" // U+F1B50 button-pointer, tags: Form +#define ICON_MD_CABIN_A_FRAME "\xf3\xb1\xa2\x8c" // U+F188C cabin-a-frame, tags: Home Automation +#define ICON_MD_CABLE_DATA "\xf3\xb1\x8e\x94" // U+F1394 cable-data +#define ICON_MD_CACHED \ + "\xf3\xb0\x83\xa8" // U+F00E8 cached, aliases: counterclockwise-arrows, circular-arrows, circle-arrows, sync, tags: + // Arrow +#define ICON_MD_CACTUS "\xf3\xb0\xb6\xb5" // U+F0DB5 cactus, tags: Nature +#define ICON_MD_CAKE "\xf3\xb0\x83\xa9" // U+F00E9 cake, aliases: birthday-cake, tags: Holiday, Food / Drink +#define ICON_MD_CAKE_LAYERED "\xf3\xb0\x83\xaa" // U+F00EA cake-layered, aliases: birthday-cake, tags: Holiday, Food / Drink +#define ICON_MD_CAKE_VARIANT "\xf3\xb0\x83\xab" // U+F00EB cake-variant, aliases: birthday-cake, tags: Holiday, Food / Drink +#define ICON_MD_CAKE_VARIANT_OUTLINE "\xf3\xb1\x9f\xb0" // U+F17F0 cake-variant-outline, aliases: birthday-cake-outline, tags: Holiday, Food / Drink +#define ICON_MD_CALCULATOR "\xf3\xb0\x83\xac" // U+F00EC calculator, tags: Math +#define ICON_MD_CALCULATOR_VARIANT "\xf3\xb0\xaa\x9a" // U+F0A9A calculator-variant, tags: Math +#define ICON_MD_CALCULATOR_VARIANT_OUTLINE "\xf3\xb1\x96\xa6" // U+F15A6 calculator-variant-outline, tags: Math +#define ICON_MD_CALENDAR "\xf3\xb0\x83\xad" // U+F00ED calendar, aliases: event, insert-invitation, tags: Date / Time +#define ICON_MD_CALENDAR_ACCOUNT "\xf3\xb0\xbb\x97" // U+F0ED7 calendar-account, aliases: calendar-user, tags: Date / Time, Account / User +#define ICON_MD_CALENDAR_ACCOUNT_OUTLINE \ + "\xf3\xb0\xbb\x98" // U+F0ED8 calendar-account-outline, aliases: calendar-user-outline, tags: Date / Time, Account / + // User +#define ICON_MD_CALENDAR_ALERT \ + "\xf3\xb0\xa8\xb1" // U+F0A31 calendar-alert, aliases: event-alert, calendar-warning, tags: Date / Time, Alert / + // Error +#define ICON_MD_CALENDAR_ALERT_OUTLINE "\xf3\xb1\xad\xa2" // U+F1B62 calendar-alert-outline, tags: Date / Time, Alert / Error +#define ICON_MD_CALENDAR_ARROW_LEFT "\xf3\xb1\x84\xb4" // U+F1134 calendar-arrow-left, aliases: reschedule, tags: Date / Time +#define ICON_MD_CALENDAR_ARROW_RIGHT "\xf3\xb1\x84\xb5" // U+F1135 calendar-arrow-right, aliases: reschedule, tags: Date / Time +#define ICON_MD_CALENDAR_BADGE "\xf3\xb1\xae\x9d" // U+F1B9D calendar-badge, tags: Date / Time +#define ICON_MD_CALENDAR_BADGE_OUTLINE "\xf3\xb1\xae\x9e" // U+F1B9E calendar-badge-outline, tags: Date / Time +#define ICON_MD_CALENDAR_BLANK "\xf3\xb0\x83\xae" // U+F00EE calendar-blank, aliases: calendar-today, tags: Date / Time +#define ICON_MD_CALENDAR_BLANK_MULTIPLE "\xf3\xb1\x81\xb3" // U+F1073 calendar-blank-multiple, tags: Date / Time +#define ICON_MD_CALENDAR_BLANK_OUTLINE "\xf3\xb0\xad\xa6" // U+F0B66 calendar-blank-outline, aliases: event-blank-outline, tags: Date / Time +#define ICON_MD_CALENDAR_CHECK \ + "\xf3\xb0\x83\xaf" // U+F00EF calendar-check, aliases: event-available, calendar-task, calendar-tick, event-tick, + // event-check, tags: Date / Time +#define ICON_MD_CALENDAR_CHECK_OUTLINE \ + "\xf3\xb0\xb1\x84" // U+F0C44 calendar-check-outline, aliases: event-available-outline, event-check-outline, + // event-tick-outline, calendar-task-outline, calendar-tick-outline, tags: Date / Time +#define ICON_MD_CALENDAR_CLOCK "\xf3\xb0\x83\xb0" // U+F00F0 calendar-clock, aliases: event-clock, event-time, calendar-time, tags: Date / Time +#define ICON_MD_CALENDAR_CLOCK_OUTLINE "\xf3\xb1\x9b\xa1" // U+F16E1 calendar-clock-outline, tags: Date / Time +#define ICON_MD_CALENDAR_COLLAPSE_HORIZONTAL "\xf3\xb1\xa2\x9d" // U+F189D calendar-collapse-horizontal, tags: Date / Time +#define ICON_MD_CALENDAR_COLLAPSE_HORIZONTAL_OUTLINE "\xf3\xb1\xad\xa3" // U+F1B63 calendar-collapse-horizontal-outline, tags: Date / Time +#define ICON_MD_CALENDAR_CURSOR "\xf3\xb1\x95\xbb" // U+F157B calendar-cursor, tags: Date / Time +#define ICON_MD_CALENDAR_CURSOR_OUTLINE "\xf3\xb1\xad\xa4" // U+F1B64 calendar-cursor-outline, tags: Date / Time +#define ICON_MD_CALENDAR_EDIT "\xf3\xb0\xa2\xa7" // U+F08A7 calendar-edit, aliases: event-edit, tags: Date / Time, Edit / Modify +#define ICON_MD_CALENDAR_EDIT_OUTLINE "\xf3\xb1\xad\xa5" // U+F1B65 calendar-edit-outline, tags: Date / Time +#define ICON_MD_CALENDAR_END "\xf3\xb1\x99\xac" // U+F166C calendar-end, tags: Date / Time +#define ICON_MD_CALENDAR_END_OUTLINE "\xf3\xb1\xad\xa6" // U+F1B66 calendar-end-outline, tags: Date / Time +#define ICON_MD_CALENDAR_EXPAND_HORIZONTAL "\xf3\xb1\xa2\x9e" // U+F189E calendar-expand-horizontal, tags: Date / Time +#define ICON_MD_CALENDAR_EXPAND_HORIZONTAL_OUTLINE "\xf3\xb1\xad\xa7" // U+F1B67 calendar-expand-horizontal-outline, tags: Date / Time +#define ICON_MD_CALENDAR_EXPORT "\xf3\xb0\xac\xa4" // U+F0B24 calendar-export, tags: Date / Time +#define ICON_MD_CALENDAR_EXPORT_OUTLINE "\xf3\xb1\xad\xa8" // U+F1B68 calendar-export-outline, tags: Date / Time +#define ICON_MD_CALENDAR_FILTER "\xf3\xb1\xa8\xb2" // U+F1A32 calendar-filter, tags: Date / Time +#define ICON_MD_CALENDAR_FILTER_OUTLINE "\xf3\xb1\xa8\xb3" // U+F1A33 calendar-filter-outline, aliases: event-week-end-outline, tags: Date / Time +#define ICON_MD_CALENDAR_HEART "\xf3\xb0\xa7\x92" // U+F09D2 calendar-heart, aliases: event-heart, tags: Date / Time +#define ICON_MD_CALENDAR_HEART_OUTLINE "\xf3\xb1\xad\xa9" // U+F1B69 calendar-heart-outline, tags: Date / Time +#define ICON_MD_CALENDAR_IMPORT "\xf3\xb0\xac\xa5" // U+F0B25 calendar-import, tags: Date / Time +#define ICON_MD_CALENDAR_IMPORT_OUTLINE "\xf3\xb1\xad\xaa" // U+F1B6A calendar-import-outline, tags: Date / Time +#define ICON_MD_CALENDAR_LOCK "\xf3\xb1\x99\x81" // U+F1641 calendar-lock, tags: Date / Time, Lock +#define ICON_MD_CALENDAR_LOCK_OPEN "\xf3\xb1\xad\x9b" // U+F1B5B calendar-lock-open, tags: Lock, Date / Time +#define ICON_MD_CALENDAR_LOCK_OPEN_OUTLINE "\xf3\xb1\xad\x9c" // U+F1B5C calendar-lock-open-outline, tags: Lock, Date / Time +#define ICON_MD_CALENDAR_LOCK_OUTLINE "\xf3\xb1\x99\x82" // U+F1642 calendar-lock-outline, tags: Date / Time, Lock +#define ICON_MD_CALENDAR_MINUS "\xf3\xb0\xb5\x9c" // U+F0D5C calendar-minus, aliases: event-minus, tags: Date / Time +#define ICON_MD_CALENDAR_MINUS_OUTLINE "\xf3\xb1\xad\xab" // U+F1B6B calendar-minus-outline, tags: Date / Time +#define ICON_MD_CALENDAR_MONTH "\xf3\xb0\xb8\x97" // U+F0E17 calendar-month, tags: Date / Time +#define ICON_MD_CALENDAR_MONTH_OUTLINE "\xf3\xb0\xb8\x98" // U+F0E18 calendar-month-outline, tags: Date / Time +#define ICON_MD_CALENDAR_MULTIPLE "\xf3\xb0\x83\xb1" // U+F00F1 calendar-multiple, aliases: event-multiple, calendars, events, tags: Date / Time +#define ICON_MD_CALENDAR_MULTIPLE_CHECK \ + "\xf3\xb0\x83\xb2" // U+F00F2 calendar-multiple-check, aliases: event-multiple-check, calendar-multiple-tick, + // calendars-check, calendars-tick, event-multiple-tick, events-check, events-tick, tags: Date / + // Time +#define ICON_MD_CALENDAR_MULTISELECT "\xf3\xb0\xa8\xb2" // U+F0A32 calendar-multiselect, tags: Date / Time +#define ICON_MD_CALENDAR_MULTISELECT_OUTLINE "\xf3\xb1\xad\x95" // U+F1B55 calendar-multiselect-outline, tags: Date / Time +#define ICON_MD_CALENDAR_OUTLINE "\xf3\xb0\xad\xa7" // U+F0B67 calendar-outline, aliases: event-outline, tags: Date / Time +#define ICON_MD_CALENDAR_PLUS "\xf3\xb0\x83\xb3" // U+F00F3 calendar-plus, aliases: event-plus, calendar-add, event-add, tags: Date / Time +#define ICON_MD_CALENDAR_PLUS_OUTLINE "\xf3\xb1\xad\xac" // U+F1B6C calendar-plus-outline, tags: Date / Time +#define ICON_MD_CALENDAR_QUESTION "\xf3\xb0\x9a\x92" // U+F0692 calendar-question, aliases: calendar-rsvp, event-question, tags: Date / Time +#define ICON_MD_CALENDAR_QUESTION_OUTLINE "\xf3\xb1\xad\xad" // U+F1B6D calendar-question-outline, tags: Date / Time +#define ICON_MD_CALENDAR_RANGE "\xf3\xb0\x99\xb9" // U+F0679 calendar-range, aliases: date-range, calendar-week, event-range, tags: Date / Time +#define ICON_MD_CALENDAR_RANGE_OUTLINE "\xf3\xb0\xad\xa8" // U+F0B68 calendar-range-outline, aliases: event-range-outline, tags: Date / Time +#define ICON_MD_CALENDAR_REFRESH "\xf3\xb0\x87\xa1" // U+F01E1 calendar-refresh, aliases: calendar-repeat, tags: Date / Time +#define ICON_MD_CALENDAR_REFRESH_OUTLINE "\xf3\xb0\x88\x83" // U+F0203 calendar-refresh-outline, aliases: calendar-repeat-outline, tags: Date / Time +#define ICON_MD_CALENDAR_REMOVE "\xf3\xb0\x83\xb4" // U+F00F4 calendar-remove, aliases: event-busy, event-remove, tags: Date / Time +#define ICON_MD_CALENDAR_REMOVE_OUTLINE \ + "\xf3\xb0\xb1\x85" // U+F0C45 calendar-remove-outline, aliases: event-busy-outline, event-remove-outline, tags: Date + // / Time +#define ICON_MD_CALENDAR_SEARCH "\xf3\xb0\xa5\x8c" // U+F094C calendar-search, aliases: event-search, tags: Date / Time +#define ICON_MD_CALENDAR_SEARCH_OUTLINE "\xf3\xb1\xad\xae" // U+F1B6E calendar-search-outline, tags: Date / Time +#define ICON_MD_CALENDAR_STAR "\xf3\xb0\xa7\x93" // U+F09D3 calendar-star, aliases: event-star, calendar-favorite, tags: Date / Time +#define ICON_MD_CALENDAR_STAR_OUTLINE "\xf3\xb1\xad\x93" // U+F1B53 calendar-star-outline, tags: Date / Time +#define ICON_MD_CALENDAR_START "\xf3\xb1\x99\xad" // U+F166D calendar-start, tags: Date / Time +#define ICON_MD_CALENDAR_START_OUTLINE "\xf3\xb1\xad\xaf" // U+F1B6F calendar-start-outline, tags: Date / Time +#define ICON_MD_CALENDAR_SYNC "\xf3\xb0\xba\x8e" // U+F0E8E calendar-sync, aliases: calendar-repeat, tags: Date / Time +#define ICON_MD_CALENDAR_SYNC_OUTLINE "\xf3\xb0\xba\x8f" // U+F0E8F calendar-sync-outline, aliases: calendar-repeat-outline, tags: Date / Time +#define ICON_MD_CALENDAR_TEXT "\xf3\xb0\x83\xb5" // U+F00F5 calendar-text, aliases: event-note, event-text, tags: Date / Time +#define ICON_MD_CALENDAR_TEXT_OUTLINE \ + "\xf3\xb0\xb1\x86" // U+F0C46 calendar-text-outline, aliases: event-text-outline, event-note-outline, tags: Date / + // Time +#define ICON_MD_CALENDAR_TODAY "\xf3\xb0\x83\xb6" // U+F00F6 calendar-today, aliases: calendar-day, tags: Date / Time +#define ICON_MD_CALENDAR_TODAY_OUTLINE "\xf3\xb1\xa8\xb0" // U+F1A30 calendar-today-outline, aliases: calendar-day-outline, tags: Date / Time +#define ICON_MD_CALENDAR_WEEK "\xf3\xb0\xa8\xb3" // U+F0A33 calendar-week, aliases: event-week, tags: Date / Time +#define ICON_MD_CALENDAR_WEEK_BEGIN "\xf3\xb0\xa8\xb4" // U+F0A34 calendar-week-begin, aliases: event-week-begin, tags: Date / Time +#define ICON_MD_CALENDAR_WEEK_BEGIN_OUTLINE "\xf3\xb1\xa8\xb1" // U+F1A31 calendar-week-begin-outline, aliases: event-week-begin-outline, tags: Date / Time +#define ICON_MD_CALENDAR_WEEK_OUTLINE "\xf3\xb1\xa8\xb4" // U+F1A34 calendar-week-outline, aliases: event-week-outline, tags: Date / Time +#define ICON_MD_CALENDAR_WEEKEND "\xf3\xb0\xbb\x99" // U+F0ED9 calendar-weekend, tags: Date / Time +#define ICON_MD_CALENDAR_WEEKEND_OUTLINE "\xf3\xb0\xbb\x9a" // U+F0EDA calendar-weekend-outline, tags: Date / Time +#define ICON_MD_CALL_MADE "\xf3\xb0\x83\xb7" // U+F00F7 call-made, tags: Cellphone / Phone, Arrow +#define ICON_MD_CALL_MERGE "\xf3\xb0\x83\xb8" // U+F00F8 call-merge, aliases: merge-type, tags: Cellphone / Phone, Arrow +#define ICON_MD_CALL_MISSED "\xf3\xb0\x83\xb9" // U+F00F9 call-missed, tags: Cellphone / Phone, Arrow +#define ICON_MD_CALL_RECEIVED "\xf3\xb0\x83\xba" // U+F00FA call-received, tags: Cellphone / Phone, Arrow +#define ICON_MD_CALL_SPLIT "\xf3\xb0\x83\xbb" // U+F00FB call-split, tags: Cellphone / Phone, Arrow +#define ICON_MD_CAMCORDER "\xf3\xb0\x83\xbc" // U+F00FC camcorder, tags: Video / Movie +#define ICON_MD_CAMCORDER_OFF "\xf3\xb0\x83\xbf" // U+F00FF camcorder-off, tags: Video / Movie +#define ICON_MD_CAMERA \ + "\xf3\xb0\x84\x80" // U+F0100 camera, aliases: photography, camera-alt, local-see, photo-camera, tags: Photography, + // Home Automation +#define ICON_MD_CAMERA_ACCOUNT "\xf3\xb0\xa3\x8b" // U+F08CB camera-account, aliases: camera-user, tags: Account / User, Photography +#define ICON_MD_CAMERA_BURST "\xf3\xb0\x9a\x93" // U+F0693 camera-burst, aliases: burst-mode, tags: Photography +#define ICON_MD_CAMERA_CONTROL "\xf3\xb0\xad\xa9" // U+F0B69 camera-control, tags: Photography +#define ICON_MD_CAMERA_DOCUMENT "\xf3\xb1\xa1\xb1" // U+F1871 camera-document, aliases: overhead-projector, tags: Photography +#define ICON_MD_CAMERA_DOCUMENT_OFF "\xf3\xb1\xa1\xb2" // U+F1872 camera-document-off, aliases: overhead-projector-off, tags: Photography +#define ICON_MD_CAMERA_ENHANCE "\xf3\xb0\x84\x81" // U+F0101 camera-enhance, tags: Photography +#define ICON_MD_CAMERA_ENHANCE_OUTLINE "\xf3\xb0\xad\xaa" // U+F0B6A camera-enhance-outline, tags: Photography +#define ICON_MD_CAMERA_FLIP "\xf3\xb1\x97\x99" // U+F15D9 camera-flip, aliases: camera-sync, camera-refresh, tags: Photography +#define ICON_MD_CAMERA_FLIP_OUTLINE \ + "\xf3\xb1\x97\x9a" // U+F15DA camera-flip-outline, aliases: camera-sync-outline, camera-refresh-outline, tags: + // Photography +#define ICON_MD_CAMERA_FRONT "\xf3\xb0\x84\x82" // U+F0102 camera-front, tags: Photography +#define ICON_MD_CAMERA_FRONT_VARIANT "\xf3\xb0\x84\x83" // U+F0103 camera-front-variant, tags: Photography +#define ICON_MD_CAMERA_GOPRO "\xf3\xb0\x9e\xa1" // U+F07A1 camera-gopro, tags: Photography, Device / Tech +#define ICON_MD_CAMERA_IMAGE "\xf3\xb0\xa3\x8c" // U+F08CC camera-image, tags: Photography +#define ICON_MD_CAMERA_IRIS "\xf3\xb0\x84\x84" // U+F0104 camera-iris, tags: Photography +#define ICON_MD_CAMERA_LOCK "\xf3\xb1\xa8\x94" // U+F1A14 camera-lock, tags: Photography, Lock +#define ICON_MD_CAMERA_LOCK_OUTLINE "\xf3\xb1\xa8\x95" // U+F1A15 camera-lock-outline, tags: Photography, Lock +#define ICON_MD_CAMERA_MARKER "\xf3\xb1\xa6\xa7" // U+F19A7 camera-marker, aliases: camera-location, tags: Photography, Navigation +#define ICON_MD_CAMERA_MARKER_OUTLINE "\xf3\xb1\xa6\xa8" // U+F19A8 camera-marker-outline, aliases: camera-location-outline, tags: Photography, Navigation +#define ICON_MD_CAMERA_METERING_CENTER "\xf3\xb0\x9e\xa2" // U+F07A2 camera-metering-center, aliases: camera-metering-centre, tags: Photography +#define ICON_MD_CAMERA_METERING_MATRIX "\xf3\xb0\x9e\xa3" // U+F07A3 camera-metering-matrix, tags: Photography +#define ICON_MD_CAMERA_METERING_PARTIAL "\xf3\xb0\x9e\xa4" // U+F07A4 camera-metering-partial, tags: Photography +#define ICON_MD_CAMERA_METERING_SPOT "\xf3\xb0\x9e\xa5" // U+F07A5 camera-metering-spot, tags: Photography +#define ICON_MD_CAMERA_OFF "\xf3\xb0\x97\x9f" // U+F05DF camera-off, tags: Photography +#define ICON_MD_CAMERA_OFF_OUTLINE "\xf3\xb1\xa6\xbf" // U+F19BF camera-off-outline, tags: Photography +#define ICON_MD_CAMERA_OUTLINE "\xf3\xb0\xb5\x9d" // U+F0D5D camera-outline, tags: Photography +#define ICON_MD_CAMERA_PARTY_MODE "\xf3\xb0\x84\x85" // U+F0105 camera-party-mode, tags: Photography +#define ICON_MD_CAMERA_PLUS "\xf3\xb0\xbb\x9b" // U+F0EDB camera-plus, tags: Photography +#define ICON_MD_CAMERA_PLUS_OUTLINE "\xf3\xb0\xbb\x9c" // U+F0EDC camera-plus-outline, tags: Photography +#define ICON_MD_CAMERA_REAR "\xf3\xb0\x84\x86" // U+F0106 camera-rear, tags: Photography +#define ICON_MD_CAMERA_REAR_VARIANT "\xf3\xb0\x84\x87" // U+F0107 camera-rear-variant, tags: Photography +#define ICON_MD_CAMERA_RETAKE "\xf3\xb0\xb8\x99" // U+F0E19 camera-retake, tags: Photography +#define ICON_MD_CAMERA_RETAKE_OUTLINE "\xf3\xb0\xb8\x9a" // U+F0E1A camera-retake-outline, tags: Photography +#define ICON_MD_CAMERA_SWITCH "\xf3\xb0\x84\x88" // U+F0108 camera-switch, aliases: switch-camera, tags: Photography +#define ICON_MD_CAMERA_SWITCH_OUTLINE "\xf3\xb0\xa1\x8a" // U+F084A camera-switch-outline, tags: Photography +#define ICON_MD_CAMERA_TIMER "\xf3\xb0\x84\x89" // U+F0109 camera-timer, tags: Date / Time, Photography +#define ICON_MD_CAMERA_WIRELESS "\xf3\xb0\xb6\xb6" // U+F0DB6 camera-wireless, tags: Photography +#define ICON_MD_CAMERA_WIRELESS_OUTLINE "\xf3\xb0\xb6\xb7" // U+F0DB7 camera-wireless-outline, tags: Photography +#define ICON_MD_CAMPFIRE "\xf3\xb0\xbb\x9d" // U+F0EDD campfire +#define ICON_MD_CANCEL "\xf3\xb0\x9c\xba" // U+F073A cancel, aliases: prohibited, ban, do-not-disturb-alt, denied, block, forbid, no, clear +#define ICON_MD_CANDELABRA "\xf3\xb1\x9f\x92" // U+F17D2 candelabra, aliases: candle, candelabrum, tags: Home Automation, Holiday +#define ICON_MD_CANDELABRA_FIRE \ + "\xf3\xb1\x9f\x93" // U+F17D3 candelabra-fire, aliases: candelabrum-fire, candelabrum-flame, candelabra-flame, + // candle-fire, candle-flame, tags: Home Automation, Holiday +#define ICON_MD_CANDLE "\xf3\xb0\x97\xa2" // U+F05E2 candle, aliases: candle-flame, candle-fire, tags: Holiday, Home Automation +#define ICON_MD_CANDY "\xf3\xb1\xa5\xb0" // U+F1970 candy, aliases: treat, chocolate, tags: Food / Drink +#define ICON_MD_CANDY_OFF "\xf3\xb1\xa5\xb1" // U+F1971 candy-off, aliases: chocolate-off, treat-off, tags: Food / Drink +#define ICON_MD_CANDY_OFF_OUTLINE \ + "\xf3\xb1\xa5\xb2" // U+F1972 candy-off-outline, aliases: chocolate-off-outline, treat-off-outline, navi-off, tags: + // Food / Drink, Gaming / RPG +#define ICON_MD_CANDY_OUTLINE \ + "\xf3\xb1\xa5\xb3" // U+F1973 candy-outline, aliases: chocolate-outline, treat-outline, navi, hey-listen, fairy, + // tags: Food / Drink, Gaming / RPG +#define ICON_MD_CANDYCANE "\xf3\xb0\x84\x8a" // U+F010A candycane, tags: Holiday, Food / Drink +#define ICON_MD_CANNABIS "\xf3\xb0\x9e\xa6" // U+F07A6 cannabis, aliases: weed, pot, marijuana, tags: Nature, Medical / Hospital +#define ICON_MD_CANNABIS_OFF "\xf3\xb1\x99\xae" // U+F166E cannabis-off +#define ICON_MD_CAPS_LOCK "\xf3\xb0\xaa\x9b" // U+F0A9B caps-lock, tags: Text / Content / Format +#define ICON_MD_CAR \ + "\xf3\xb0\x84\x8b" // U+F010B car, aliases: directions-car, drive-eta, time-to-leave, tags: Transportation + Road, + // Navigation, Automotive +#define ICON_MD_CAR_2_PLUS \ + "\xf3\xb1\x80\x95" // U+F1015 car-2-plus, aliases: hov-lane, high-occupancy-vehicle-lane, carpool-lane, tags: + // Transportation + Road, Automotive +#define ICON_MD_CAR_3_PLUS \ + "\xf3\xb1\x80\x96" // U+F1016 car-3-plus, aliases: hov-lane, high-occupancy-vehicle-lane, carpool-lane, tags: + // Transportation + Road, Automotive +#define ICON_MD_CAR_ARROW_LEFT "\xf3\xb1\x8e\xb2" // U+F13B2 car-arrow-left, tags: Automotive, Transportation + Road +#define ICON_MD_CAR_ARROW_RIGHT "\xf3\xb1\x8e\xb3" // U+F13B3 car-arrow-right, tags: Automotive, Transportation + Road +#define ICON_MD_CAR_BACK "\xf3\xb0\xb8\x9b" // U+F0E1B car-back, tags: Automotive, Transportation + Road +#define ICON_MD_CAR_BATTERY "\xf3\xb0\x84\x8c" // U+F010C car-battery, tags: Battery, Automotive +#define ICON_MD_CAR_BRAKE_ABS \ + "\xf3\xb0\xb1\x87" // U+F0C47 car-brake-abs, aliases: anti-lock-brake-system, anti-lock-braking-system, tags: + // Automotive +#define ICON_MD_CAR_BRAKE_ALERT \ + "\xf3\xb0\xb1\x88" // U+F0C48 car-brake-alert, aliases: car-parking-brake, car-handbrake, car-hand-brake, + // car-emergency-brake, car-brake-warning, tags: Automotive, Alert / Error +#define ICON_MD_CAR_BRAKE_FLUID_LEVEL "\xf3\xb1\xa4\x89" // U+F1909 car-brake-fluid-level, tags: Automotive +#define ICON_MD_CAR_BRAKE_HOLD "\xf3\xb0\xb5\x9e" // U+F0D5E car-brake-hold, tags: Automotive +#define ICON_MD_CAR_BRAKE_LOW_PRESSURE "\xf3\xb1\xa4\x8a" // U+F190A car-brake-low-pressure, tags: Automotive +#define ICON_MD_CAR_BRAKE_PARKING "\xf3\xb0\xb5\x9f" // U+F0D5F car-brake-parking, tags: Automotive +#define ICON_MD_CAR_BRAKE_RETARDER "\xf3\xb1\x80\x97" // U+F1017 car-brake-retarder, tags: Automotive +#define ICON_MD_CAR_BRAKE_TEMPERATURE "\xf3\xb1\xa4\x8b" // U+F190B car-brake-temperature, tags: Automotive +#define ICON_MD_CAR_BRAKE_WORN_LININGS "\xf3\xb1\xa4\x8c" // U+F190C car-brake-worn-linings, tags: Automotive +#define ICON_MD_CAR_CHILD_SEAT "\xf3\xb0\xbe\xa3" // U+F0FA3 car-child-seat, tags: Automotive, People / Family +#define ICON_MD_CAR_CLOCK "\xf3\xb1\xa5\xb4" // U+F1974 car-clock, tags: Date / Time, Automotive +#define ICON_MD_CAR_CLUTCH "\xf3\xb1\x80\x98" // U+F1018 car-clutch, tags: Automotive +#define ICON_MD_CAR_COG "\xf3\xb1\x8f\x8c" // U+F13CC car-cog, aliases: car-settings, tags: Automotive, Settings, Transportation + Road +#define ICON_MD_CAR_CONNECTED "\xf3\xb0\x84\x8d" // U+F010D car-connected, tags: Transportation + Road, Automotive +#define ICON_MD_CAR_CONVERTIBLE "\xf3\xb0\x9e\xa7" // U+F07A7 car-convertible, tags: Transportation + Road, Automotive +#define ICON_MD_CAR_COOLANT_LEVEL "\xf3\xb1\x80\x99" // U+F1019 car-coolant-level, tags: Automotive +#define ICON_MD_CAR_CRUISE_CONTROL "\xf3\xb0\xb5\xa0" // U+F0D60 car-cruise-control, tags: Automotive +#define ICON_MD_CAR_DEFROST_FRONT "\xf3\xb0\xb5\xa1" // U+F0D61 car-defrost-front, tags: Automotive +#define ICON_MD_CAR_DEFROST_REAR "\xf3\xb0\xb5\xa2" // U+F0D62 car-defrost-rear, tags: Automotive +#define ICON_MD_CAR_DOOR "\xf3\xb0\xad\xab" // U+F0B6B car-door, tags: Automotive +#define ICON_MD_CAR_DOOR_LOCK "\xf3\xb1\x82\x9d" // U+F109D car-door-lock, tags: Automotive, Lock +#define ICON_MD_CAR_ELECTRIC "\xf3\xb0\xad\xac" // U+F0B6C car-electric, tags: Transportation + Road, Automotive +#define ICON_MD_CAR_ELECTRIC_OUTLINE "\xf3\xb1\x96\xb5" // U+F15B5 car-electric-outline, tags: Transportation + Road, Automotive +#define ICON_MD_CAR_EMERGENCY "\xf3\xb1\x98\x8f" // U+F160F car-emergency, aliases: car-police, tags: Transportation + Road, Automotive +#define ICON_MD_CAR_ESP "\xf3\xb0\xb1\x89" // U+F0C49 car-esp, aliases: electronic-stability-program, tags: Automotive +#define ICON_MD_CAR_ESTATE \ + "\xf3\xb0\x9e\xa8" // U+F07A8 car-estate, aliases: car-suv, car-sports-utility-vehicle, tags: Transportation + Road, + // Automotive +#define ICON_MD_CAR_HATCHBACK "\xf3\xb0\x9e\xa9" // U+F07A9 car-hatchback, tags: Transportation + Road, Automotive +#define ICON_MD_CAR_INFO "\xf3\xb1\x86\xbe" // U+F11BE car-info, tags: Automotive +#define ICON_MD_CAR_KEY "\xf3\xb0\xad\xad" // U+F0B6D car-key, aliases: car-rental, rent-a-car, tags: Transportation + Road, Automotive +#define ICON_MD_CAR_LIFTED_PICKUP "\xf3\xb1\x94\xad" // U+F152D car-lifted-pickup, tags: Automotive +#define ICON_MD_CAR_LIGHT_ALERT "\xf3\xb1\xa4\x8d" // U+F190D car-light-alert, tags: Alert / Error, Automotive +#define ICON_MD_CAR_LIGHT_DIMMED "\xf3\xb0\xb1\x8a" // U+F0C4A car-light-dimmed, aliases: head-light-dimmed, low-beam, tags: Automotive +#define ICON_MD_CAR_LIGHT_FOG "\xf3\xb0\xb1\x8b" // U+F0C4B car-light-fog, aliases: head-light-fog, tags: Automotive +#define ICON_MD_CAR_LIGHT_HIGH "\xf3\xb0\xb1\x8c" // U+F0C4C car-light-high, aliases: head-light-high, high-beam, tags: Automotive +#define ICON_MD_CAR_LIMOUSINE "\xf3\xb0\xa3\x8d" // U+F08CD car-limousine, tags: Transportation + Road, Automotive +#define ICON_MD_CAR_MULTIPLE "\xf3\xb0\xad\xae" // U+F0B6E car-multiple, tags: Transportation + Road, Automotive +#define ICON_MD_CAR_OFF "\xf3\xb0\xb8\x9c" // U+F0E1C car-off, tags: Automotive +#define ICON_MD_CAR_OUTLINE "\xf3\xb1\x93\xad" // U+F14ED car-outline, tags: Automotive +#define ICON_MD_CAR_PARKING_LIGHTS "\xf3\xb0\xb5\xa3" // U+F0D63 car-parking-lights, tags: Automotive +#define ICON_MD_CAR_PICKUP "\xf3\xb0\x9e\xaa" // U+F07AA car-pickup, tags: Transportation + Road, Automotive +#define ICON_MD_CAR_SEARCH "\xf3\xb1\xae\x8d" // U+F1B8D car-search, aliases: car-find, tags: Automotive +#define ICON_MD_CAR_SEARCH_OUTLINE "\xf3\xb1\xae\x8e" // U+F1B8E car-search-outline, aliases: car-find-outline, tags: Automotive +#define ICON_MD_CAR_SEAT "\xf3\xb0\xbe\xa4" // U+F0FA4 car-seat, tags: Automotive +#define ICON_MD_CAR_SEAT_COOLER "\xf3\xb0\xbe\xa5" // U+F0FA5 car-seat-cooler, tags: Automotive +#define ICON_MD_CAR_SEAT_HEATER "\xf3\xb0\xbe\xa6" // U+F0FA6 car-seat-heater, tags: Automotive +#define ICON_MD_CAR_SELECT "\xf3\xb1\xa1\xb9" // U+F1879 car-select, aliases: car-location, tags: Automotive +#define ICON_MD_CAR_SETTINGS "\xf3\xb1\x8f\x8d" // U+F13CD car-settings, tags: Automotive, Settings +#define ICON_MD_CAR_SHIFT_PATTERN \ + "\xf3\xb0\xbd\x80" // U+F0F40 car-shift-pattern, aliases: car-transmission, car-manual-transmission, tags: + // Automotive +#define ICON_MD_CAR_SIDE "\xf3\xb0\x9e\xab" // U+F07AB car-side, aliases: car-saloon, tags: Transportation + Road, Automotive +#define ICON_MD_CAR_SPEED_LIMITER "\xf3\xb1\xa4\x8e" // U+F190E car-speed-limiter, tags: Automotive +#define ICON_MD_CAR_SPORTS "\xf3\xb0\x9e\xac" // U+F07AC car-sports, tags: Transportation + Road, Sport, Automotive +#define ICON_MD_CAR_TIRE_ALERT \ + "\xf3\xb0\xb1\x8d" // U+F0C4D car-tire-alert, aliases: car-tyre-alert, car-tyre-warning, car-tire-warning, tags: + // Automotive, Alert / Error +#define ICON_MD_CAR_TRACTION_CONTROL "\xf3\xb0\xb5\xa4" // U+F0D64 car-traction-control, tags: Automotive +#define ICON_MD_CAR_TURBOCHARGER "\xf3\xb1\x80\x9a" // U+F101A car-turbocharger, tags: Automotive +#define ICON_MD_CAR_WASH "\xf3\xb0\x84\x8e" // U+F010E car-wash, aliases: local-car-wash, tags: Transportation + Road, Places, Automotive +#define ICON_MD_CAR_WINDSHIELD "\xf3\xb1\x80\x9b" // U+F101B car-windshield, aliases: car-front-glass, tags: Automotive +#define ICON_MD_CAR_WINDSHIELD_OUTLINE "\xf3\xb1\x80\x9c" // U+F101C car-windshield-outline, aliases: car-front-glass-outline, tags: Automotive +#define ICON_MD_CAR_WIRELESS "\xf3\xb1\xa1\xb8" // U+F1878 car-wireless, aliases: car-autonomous, car-self-driving, car-smart, tags: Automotive +#define ICON_MD_CAR_WRENCH "\xf3\xb1\xa0\x94" // U+F1814 car-wrench, aliases: car-repair, mechanic, tags: Automotive, Hardware / Tools +#define ICON_MD_CARABINER "\xf3\xb1\x93\x80" // U+F14C0 carabiner, aliases: karabiner, rock-climbing, tags: Sport +#define ICON_MD_CARAVAN "\xf3\xb0\x9e\xad" // U+F07AD caravan, tags: Transportation + Road, Home Automation, Automotive +#define ICON_MD_CARD "\xf3\xb0\xad\xaf" // U+F0B6F card, aliases: button, tags: Form +#define ICON_MD_CARD_ACCOUNT_DETAILS \ + "\xf3\xb0\x97\x92" // U+F05D2 card-account-details, aliases: identification-card, user-card-details, id-card, + // person-card-details, drivers-license, business-card, tags: Account / User +#define ICON_MD_CARD_ACCOUNT_DETAILS_OUTLINE \ + "\xf3\xb0\xb6\xab" // U+F0DAB card-account-details-outline, aliases: identification-card-outline, + // user-card-details-outline, id-card-outline, person-card-details-outline, + // drivers-license-outline, business-card-outline, tags: Account / User +#define ICON_MD_CARD_ACCOUNT_DETAILS_STAR \ + "\xf3\xb0\x8a\xa3" // U+F02A3 card-account-details-star, aliases: card-account-details-favorite, tags: Account / + // User +#define ICON_MD_CARD_ACCOUNT_DETAILS_STAR_OUTLINE \ + "\xf3\xb0\x9b\x9b" // U+F06DB card-account-details-star-outline, aliases: card-account-details-favorite-outline, + // tags: Account / User +#define ICON_MD_CARD_ACCOUNT_MAIL "\xf3\xb0\x86\x8e" // U+F018E card-account-mail, aliases: contact-mail, tags: Account / User +#define ICON_MD_CARD_ACCOUNT_MAIL_OUTLINE "\xf3\xb0\xba\x98" // U+F0E98 card-account-mail-outline, aliases: contact-mail-outline, tags: Account / User +#define ICON_MD_CARD_ACCOUNT_PHONE "\xf3\xb0\xba\x99" // U+F0E99 card-account-phone, aliases: contact-phone, tags: Account / User +#define ICON_MD_CARD_ACCOUNT_PHONE_OUTLINE "\xf3\xb0\xba\x9a" // U+F0E9A card-account-phone-outline, aliases: contact-phone-outline, tags: Account / User +#define ICON_MD_CARD_BULLETED "\xf3\xb0\xad\xb0" // U+F0B70 card-bulleted +#define ICON_MD_CARD_BULLETED_OFF "\xf3\xb0\xad\xb1" // U+F0B71 card-bulleted-off +#define ICON_MD_CARD_BULLETED_OFF_OUTLINE "\xf3\xb0\xad\xb2" // U+F0B72 card-bulleted-off-outline +#define ICON_MD_CARD_BULLETED_OUTLINE "\xf3\xb0\xad\xb3" // U+F0B73 card-bulleted-outline +#define ICON_MD_CARD_BULLETED_SETTINGS "\xf3\xb0\xad\xb4" // U+F0B74 card-bulleted-settings, tags: Settings +#define ICON_MD_CARD_BULLETED_SETTINGS_OUTLINE "\xf3\xb0\xad\xb5" // U+F0B75 card-bulleted-settings-outline, tags: Settings +#define ICON_MD_CARD_MINUS "\xf3\xb1\x98\x80" // U+F1600 card-minus +#define ICON_MD_CARD_MINUS_OUTLINE "\xf3\xb1\x98\x81" // U+F1601 card-minus-outline +#define ICON_MD_CARD_MULTIPLE "\xf3\xb1\x9f\xb1" // U+F17F1 card-multiple +#define ICON_MD_CARD_MULTIPLE_OUTLINE "\xf3\xb1\x9f\xb2" // U+F17F2 card-multiple-outline +#define ICON_MD_CARD_OFF "\xf3\xb1\x98\x82" // U+F1602 card-off +#define ICON_MD_CARD_OFF_OUTLINE "\xf3\xb1\x98\x83" // U+F1603 card-off-outline +#define ICON_MD_CARD_OUTLINE "\xf3\xb0\xad\xb6" // U+F0B76 card-outline, aliases: button-outline, tags: Form +#define ICON_MD_CARD_PLUS "\xf3\xb1\x87\xbf" // U+F11FF card-plus +#define ICON_MD_CARD_PLUS_OUTLINE "\xf3\xb1\x88\x80" // U+F1200 card-plus-outline +#define ICON_MD_CARD_REMOVE "\xf3\xb1\x98\x84" // U+F1604 card-remove +#define ICON_MD_CARD_REMOVE_OUTLINE "\xf3\xb1\x98\x85" // U+F1605 card-remove-outline +#define ICON_MD_CARD_SEARCH "\xf3\xb1\x81\xb4" // U+F1074 card-search, aliases: pageview +#define ICON_MD_CARD_SEARCH_OUTLINE "\xf3\xb1\x81\xb5" // U+F1075 card-search-outline, aliases: pageview-outline +#define ICON_MD_CARD_TEXT "\xf3\xb0\xad\xb7" // U+F0B77 card-text +#define ICON_MD_CARD_TEXT_OUTLINE "\xf3\xb0\xad\xb8" // U+F0B78 card-text-outline +#define ICON_MD_CARDS "\xf3\xb0\x98\xb8" // U+F0638 cards, tags: Gaming / RPG +#define ICON_MD_CARDS_CLUB "\xf3\xb0\xa3\x8e" // U+F08CE cards-club, aliases: suit-clubs, poker-club, tags: Gaming / RPG +#define ICON_MD_CARDS_CLUB_OUTLINE "\xf3\xb1\xa2\x9f" // U+F189F cards-club-outline +#define ICON_MD_CARDS_DIAMOND \ + "\xf3\xb0\xa3\x8f" // U+F08CF cards-diamond, aliases: suit-diamonds, hov-lane, high-occupancy-vehicle-lane, + // carpool-lane, poker-diamond, tags: Gaming / RPG, Transportation + Road +#define ICON_MD_CARDS_DIAMOND_OUTLINE \ + "\xf3\xb1\x80\x9d" // U+F101D cards-diamond-outline, aliases: hov-lane-outline, high-occupancy-vehicle-lane-outline, + // carpool-lane-outline, poker-diamond-outline, tags: Transportation + Road +#define ICON_MD_CARDS_HEART "\xf3\xb0\xa3\x90" // U+F08D0 cards-heart, aliases: suit-hearts, poker-heart, tags: Gaming / RPG +#define ICON_MD_CARDS_HEART_OUTLINE "\xf3\xb1\xa2\xa0" // U+F18A0 cards-heart-outline +#define ICON_MD_CARDS_OUTLINE "\xf3\xb0\x98\xb9" // U+F0639 cards-outline, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING "\xf3\xb1\xa2\xa1" // U+F18A1 cards-playing, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING_CLUB "\xf3\xb1\xa2\xa2" // U+F18A2 cards-playing-club, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING_CLUB_MULTIPLE "\xf3\xb1\xa2\xa3" // U+F18A3 cards-playing-club-multiple, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING_CLUB_MULTIPLE_OUTLINE "\xf3\xb1\xa2\xa4" // U+F18A4 cards-playing-club-multiple-outline, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING_CLUB_OUTLINE "\xf3\xb1\xa2\xa5" // U+F18A5 cards-playing-club-outline, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING_DIAMOND "\xf3\xb1\xa2\xa6" // U+F18A6 cards-playing-diamond, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING_DIAMOND_MULTIPLE "\xf3\xb1\xa2\xa7" // U+F18A7 cards-playing-diamond-multiple, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING_DIAMOND_MULTIPLE_OUTLINE "\xf3\xb1\xa2\xa8" // U+F18A8 cards-playing-diamond-multiple-outline, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING_DIAMOND_OUTLINE "\xf3\xb1\xa2\xa9" // U+F18A9 cards-playing-diamond-outline, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING_HEART "\xf3\xb1\xa2\xaa" // U+F18AA cards-playing-heart, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING_HEART_MULTIPLE "\xf3\xb1\xa2\xab" // U+F18AB cards-playing-heart-multiple, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING_HEART_MULTIPLE_OUTLINE "\xf3\xb1\xa2\xac" // U+F18AC cards-playing-heart-multiple-outline, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING_HEART_OUTLINE "\xf3\xb1\xa2\xad" // U+F18AD cards-playing-heart-outline, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING_OUTLINE "\xf3\xb0\x98\xba" // U+F063A cards-playing-outline, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING_SPADE "\xf3\xb1\xa2\xae" // U+F18AE cards-playing-spade, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING_SPADE_MULTIPLE "\xf3\xb1\xa2\xaf" // U+F18AF cards-playing-spade-multiple, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING_SPADE_MULTIPLE_OUTLINE "\xf3\xb1\xa2\xb0" // U+F18B0 cards-playing-spade-multiple-outline, tags: Gaming / RPG +#define ICON_MD_CARDS_PLAYING_SPADE_OUTLINE "\xf3\xb1\xa2\xb1" // U+F18B1 cards-playing-spade-outline, tags: Gaming / RPG +#define ICON_MD_CARDS_SPADE "\xf3\xb0\xa3\x91" // U+F08D1 cards-spade, aliases: suit-spades, poker-spade, tags: Gaming / RPG +#define ICON_MD_CARDS_SPADE_OUTLINE "\xf3\xb1\xa2\xb2" // U+F18B2 cards-spade-outline, tags: Gaming / RPG +#define ICON_MD_CARDS_VARIANT "\xf3\xb0\x9b\x87" // U+F06C7 cards-variant, tags: Gaming / RPG +#define ICON_MD_CARROT "\xf3\xb0\x84\x8f" // U+F010F carrot, tags: Agriculture, Food / Drink +#define ICON_MD_CART "\xf3\xb0\x84\x90" // U+F0110 cart, aliases: trolley, local-grocery-store, shopping-cart, tags: Shopping +#define ICON_MD_CART_ARROW_DOWN "\xf3\xb0\xb5\xa6" // U+F0D66 cart-arrow-down, aliases: shopping-cart-arrow-down, trolley-arrow-down, tags: Shopping +#define ICON_MD_CART_ARROW_RIGHT \ + "\xf3\xb0\xb1\x8e" // U+F0C4E cart-arrow-right, aliases: trolley-arrow-right, shopping-cart-arrow-right, tags: + // Shopping +#define ICON_MD_CART_ARROW_UP "\xf3\xb0\xb5\xa7" // U+F0D67 cart-arrow-up, aliases: shopping-cart-arrow-up, trolley-arrow-up, tags: Shopping +#define ICON_MD_CART_CHECK "\xf3\xb1\x97\xaa" // U+F15EA cart-check, tags: Shopping +#define ICON_MD_CART_HEART "\xf3\xb1\xa3\xa0" // U+F18E0 cart-heart, aliases: cart-favorite, shopping-favorite, tags: Shopping +#define ICON_MD_CART_MINUS "\xf3\xb0\xb5\xa8" // U+F0D68 cart-minus, aliases: shopping-cart-minus, trolley-minus, tags: Shopping +#define ICON_MD_CART_OFF \ + "\xf3\xb0\x99\xab" // U+F066B cart-off, aliases: trolley-off, remove-shopping-cart, shopping-cart-off, tags: + // Shopping +#define ICON_MD_CART_OUTLINE "\xf3\xb0\x84\x91" // U+F0111 cart-outline, aliases: trolley-outline, shopping-cart-outline, tags: Shopping +#define ICON_MD_CART_PERCENT "\xf3\xb1\xae\xae" // U+F1BAE cart-percent, aliases: cart-discount, cart-sale, trolley-percent, tags: Shopping +#define ICON_MD_CART_PLUS \ + "\xf3\xb0\x84\x92" // U+F0112 cart-plus, aliases: trolley-plus, add-shopping-cart, shopping-cart-plus, cart-add, + // trolley-add, shopping-cart-add, tags: Shopping +#define ICON_MD_CART_REMOVE "\xf3\xb0\xb5\xa9" // U+F0D69 cart-remove, aliases: trolley-remove, shopping-cart-remove, tags: Shopping +#define ICON_MD_CART_VARIANT "\xf3\xb1\x97\xab" // U+F15EB cart-variant, tags: Shopping +#define ICON_MD_CASE_SENSITIVE_ALT "\xf3\xb0\x84\x93" // U+F0113 case-sensitive-alt +#define ICON_MD_CASH "\xf3\xb0\x84\x94" // U+F0114 cash, aliases: money, tags: Currency, Banking, Shopping +#define ICON_MD_CASH_100 "\xf3\xb0\x84\x95" // U+F0115 cash-100, aliases: money-100, tags: Currency, Banking +#define ICON_MD_CASH_CHECK "\xf3\xb1\x93\xae" // U+F14EE cash-check, tags: Currency, Banking +#define ICON_MD_CASH_CLOCK \ + "\xf3\xb1\xaa\x91" // U+F1A91 cash-clock, aliases: cash-schedule, payment-schedule, payment-clock, auto-pay, tags: + // Banking, Currency, Date / Time +#define ICON_MD_CASH_FAST \ + "\xf3\xb1\xa1\x9c" // U+F185C cash-fast, aliases: instant-deposit, instant-transfer, instant-cash, tags: Currency, + // Banking +#define ICON_MD_CASH_LOCK "\xf3\xb1\x93\xaa" // U+F14EA cash-lock, tags: Lock, Currency, Banking +#define ICON_MD_CASH_LOCK_OPEN "\xf3\xb1\x93\xab" // U+F14EB cash-lock-open, tags: Lock, Currency, Banking +#define ICON_MD_CASH_MARKER \ + "\xf3\xb0\xb6\xb8" // U+F0DB8 cash-marker, aliases: cod, cash-on-delivery, cash-location, tags: Banking, Currency, + // Navigation +#define ICON_MD_CASH_MINUS "\xf3\xb1\x89\xa0" // U+F1260 cash-minus, tags: Currency, Banking +#define ICON_MD_CASH_MULTIPLE "\xf3\xb0\x84\x96" // U+F0116 cash-multiple, aliases: money, tags: Currency, Banking +#define ICON_MD_CASH_PLUS "\xf3\xb1\x89\xa1" // U+F1261 cash-plus, tags: Currency, Banking +#define ICON_MD_CASH_REFUND "\xf3\xb0\xaa\x9c" // U+F0A9C cash-refund, aliases: cash-return, cash-chargeback, tags: Banking, Currency +#define ICON_MD_CASH_REGISTER "\xf3\xb0\xb3\xb4" // U+F0CF4 cash-register, aliases: till, tags: Shopping, Banking +#define ICON_MD_CASH_REMOVE "\xf3\xb1\x89\xa2" // U+F1262 cash-remove, tags: Currency, Banking +#define ICON_MD_CASH_SYNC \ + "\xf3\xb1\xaa\x92" // U+F1A92 cash-sync, aliases: auto-pay, recurring-payment, scheduled-payment, cash-cycle, tags: + // Banking, Currency +#define ICON_MD_CASSETTE "\xf3\xb0\xa7\x94" // U+F09D4 cassette, aliases: tape, tags: Music +#define ICON_MD_CAST "\xf3\xb0\x84\x98" // U+F0118 cast, tags: Home Automation +#define ICON_MD_CAST_AUDIO "\xf3\xb1\x80\x9e" // U+F101E cast-audio, aliases: cast-speaker, tags: Audio +#define ICON_MD_CAST_AUDIO_VARIANT "\xf3\xb1\x9d\x89" // U+F1749 cast-audio-variant, aliases: apple-airplay +#define ICON_MD_CAST_CONNECTED "\xf3\xb0\x84\x99" // U+F0119 cast-connected, tags: Home Automation +#define ICON_MD_CAST_EDUCATION "\xf3\xb0\xb8\x9d" // U+F0E1D cast-education, aliases: cast-school, school-online, cast-tutorial +#define ICON_MD_CAST_OFF "\xf3\xb0\x9e\x8a" // U+F078A cast-off, tags: Home Automation +#define ICON_MD_CAST_VARIANT "\xf3\xb0\x80\x9f" // U+F001F cast-variant, aliases: apple, airplay, tags: Home Automation +#define ICON_MD_CASTLE "\xf3\xb0\x84\x9a" // U+F011A castle, tags: Places +#define ICON_MD_CAT "\xf3\xb0\x84\x9b" // U+F011B cat, aliases: emoji-cat, emoticon-cat, tags: Animal, Holiday +#define ICON_MD_CCTV "\xf3\xb0\x9e\xae" // U+F07AE cctv, aliases: closed-circuit-television, security-camera, tags: Home Automation +#define ICON_MD_CCTV_OFF \ + "\xf3\xb1\xa1\x9f" // U+F185F cctv-off, aliases: closed-circuit-television-off, security-camera-off, tags: Home + // Automation +#define ICON_MD_CEILING_FAN "\xf3\xb1\x9e\x97" // U+F1797 ceiling-fan, tags: Home Automation +#define ICON_MD_CEILING_FAN_LIGHT "\xf3\xb1\x9e\x98" // U+F1798 ceiling-fan-light, aliases: ceiling-fan-on, tags: Home Automation +#define ICON_MD_CEILING_LIGHT "\xf3\xb0\x9d\xa9" // U+F0769 ceiling-light, aliases: ceiling-lamp, tags: Home Automation +#define ICON_MD_CEILING_LIGHT_MULTIPLE "\xf3\xb1\xa3\x9d" // U+F18DD ceiling-light-multiple, aliases: ceiling-lamp-multiple, tags: Home Automation +#define ICON_MD_CEILING_LIGHT_MULTIPLE_OUTLINE \ + "\xf3\xb1\xa3\x9e" // U+F18DE ceiling-light-multiple-outline, aliases: ceiling-lamp-multiple-outline, tags: Home + // Automation +#define ICON_MD_CEILING_LIGHT_OUTLINE "\xf3\xb1\x9f\x87" // U+F17C7 ceiling-light-outline, tags: Home Automation +#define ICON_MD_CELLPHONE \ + "\xf3\xb0\x84\x9c" // U+F011C cellphone, aliases: mobile-phone, smartphone, stay-current-portrait, + // stay-primary-portrait, tags: Cellphone / Phone, Device / Tech +#define ICON_MD_CELLPHONE_ARROW_DOWN \ + "\xf3\xb0\xa7\x95" // U+F09D5 cellphone-arrow-down, aliases: cellphone-system-update, mobile-phone-arrow-down, + // smartphone-arrow-down, tags: Cellphone / Phone, Device / Tech +#define ICON_MD_CELLPHONE_ARROW_DOWN_VARIANT "\xf3\xb1\xa7\x85" // U+F19C5 cellphone-arrow-down-variant, aliases: cellphone-download, tags: Cellphone / Phone +#define ICON_MD_CELLPHONE_BASIC "\xf3\xb0\x84\x9e" // U+F011E cellphone-basic, aliases: mobile-phone-basic, tags: Cellphone / Phone, Device / Tech +#define ICON_MD_CELLPHONE_CHARGING "\xf3\xb1\x8e\x97" // U+F1397 cellphone-charging, tags: Cellphone / Phone +#define ICON_MD_CELLPHONE_CHECK "\xf3\xb1\x9f\xbd" // U+F17FD cellphone-check, tags: Cellphone / Phone +#define ICON_MD_CELLPHONE_COG \ + "\xf3\xb0\xa5\x91" // U+F0951 cellphone-cog, aliases: phonelink-setup, mobile-phone-settings-variant, + // smartphone-settings-variant, tags: Settings, Cellphone / Phone, Device / Tech +#define ICON_MD_CELLPHONE_DOCK \ + "\xf3\xb0\x84\x9f" // U+F011F cellphone-dock, aliases: mobile-phone-dock, smartphone-dock, tags: Cellphone / Phone, + // Device / Tech +#define ICON_MD_CELLPHONE_INFORMATION \ + "\xf3\xb0\xbd\x81" // U+F0F41 cellphone-information, aliases: mobile-phone-information, smartphone-information, + // tags: Cellphone / Phone +#define ICON_MD_CELLPHONE_KEY \ + "\xf3\xb0\xa5\x8e" // U+F094E cellphone-key, aliases: mobile-phone-key, smartphone-key, tags: Cellphone / Phone, + // Device / Tech +#define ICON_MD_CELLPHONE_LINK \ + "\xf3\xb0\x84\xa1" // U+F0121 cellphone-link, aliases: mobile-phone-link, smartphone-link, devices, tags: Cellphone + // / Phone, Device / Tech +#define ICON_MD_CELLPHONE_LINK_OFF \ + "\xf3\xb0\x84\xa2" // U+F0122 cellphone-link-off, aliases: mobile-phone-link-off, smartphone-link-off, + // phonelink-off, tags: Cellphone / Phone, Device / Tech +#define ICON_MD_CELLPHONE_LOCK \ + "\xf3\xb0\xa5\x8f" // U+F094F cellphone-lock, aliases: phonelink-lock, mobile-phone-lock, smartphone-lock, tags: + // Cellphone / Phone, Lock, Device / Tech +#define ICON_MD_CELLPHONE_MARKER \ + "\xf3\xb1\xa0\xba" // U+F183A cellphone-marker, aliases: cellphone-location, cellphone-map, find-my-phone, + // cellphone-gps, tags: Cellphone / Phone, Navigation +#define ICON_MD_CELLPHONE_MESSAGE \ + "\xf3\xb0\xa3\x93" // U+F08D3 cellphone-message, aliases: mobile-phone-message, smartphone-message, tags: Cellphone + // / Phone, Device / Tech +#define ICON_MD_CELLPHONE_MESSAGE_OFF "\xf3\xb1\x83\x92" // U+F10D2 cellphone-message-off, tags: Cellphone / Phone +#define ICON_MD_CELLPHONE_NFC "\xf3\xb0\xba\x90" // U+F0E90 cellphone-nfc, tags: Automotive, Cellphone / Phone, Device / Tech +#define ICON_MD_CELLPHONE_NFC_OFF "\xf3\xb1\x8b\x98" // U+F12D8 cellphone-nfc-off, tags: Cellphone / Phone +#define ICON_MD_CELLPHONE_OFF \ + "\xf3\xb0\xa5\x90" // U+F0950 cellphone-off, aliases: mobile-phone-off, smartphone-off, mobile-off, tags: Cellphone + // / Phone, Device / Tech +#define ICON_MD_CELLPHONE_PLAY "\xf3\xb1\x80\x9f" // U+F101F cellphone-play, tags: Cellphone / Phone +#define ICON_MD_CELLPHONE_REMOVE \ + "\xf3\xb0\xa5\x8d" // U+F094D cellphone-remove, aliases: phonelink-erase, mobile-phone-erase, smartphone-erase, + // cellphone-erase, tags: Cellphone / Phone, Device / Tech +#define ICON_MD_CELLPHONE_SCREENSHOT "\xf3\xb0\xa8\xb5" // U+F0A35 cellphone-screenshot, tags: Cellphone / Phone, Device / Tech +#define ICON_MD_CELLPHONE_SETTINGS \ + "\xf3\xb0\x84\xa3" // U+F0123 cellphone-settings, aliases: mobile-phone-settings, smartphone-settings, + // settings-cell, tags: Cellphone / Phone, Settings, Device / Tech +#define ICON_MD_CELLPHONE_SOUND \ + "\xf3\xb0\xa5\x92" // U+F0952 cellphone-sound, aliases: phonelink-ring, mobile-phone-sound, smartphone-sound, tags: + // Cellphone / Phone, Device / Tech +#define ICON_MD_CELLPHONE_TEXT \ + "\xf3\xb0\xa3\x92" // U+F08D2 cellphone-text, aliases: mobile-phone-text, smartphone-text, tags: Cellphone / Phone, + // Device / Tech +#define ICON_MD_CELLPHONE_WIRELESS \ + "\xf3\xb0\xa0\x95" // U+F0815 cellphone-wireless, aliases: mobile-phone-wireless, smartphone-wireless, tags: + // Cellphone / Phone, Device / Tech +#define ICON_MD_CENTOS "\xf3\xb1\x84\x9a" // U+F111A centos, tags: Brand / Logo +#define ICON_MD_CERTIFICATE "\xf3\xb0\x84\xa4" // U+F0124 certificate, aliases: diploma, seal +#define ICON_MD_CERTIFICATE_OUTLINE "\xf3\xb1\x86\x88" // U+F1188 certificate-outline, aliases: diploma-outline, seal-outline +#define ICON_MD_CHAIR_ROLLING "\xf3\xb0\xbd\x88" // U+F0F48 chair-rolling, aliases: office-chair, study-chair, tags: Home Automation +#define ICON_MD_CHAIR_SCHOOL "\xf3\xb0\x84\xa5" // U+F0125 chair-school, aliases: desk, education, learn +#define ICON_MD_CHANDELIER \ + "\xf3\xb1\x9e\x93" // U+F1793 chandelier, aliases: ceiling-light, girandole, candelabra-lamp, suspended-light, tags: + // Home Automation +#define ICON_MD_CHARITY "\xf3\xb0\xb1\x8f" // U+F0C4F charity, aliases: super-chat-for-good +#define ICON_MD_CHART_ARC "\xf3\xb0\x84\xa6" // U+F0126 chart-arc, aliases: report-arc, widget-arc, tags: Math +#define ICON_MD_CHART_AREASPLINE \ + "\xf3\xb0\x84\xa7" // U+F0127 chart-areaspline, aliases: report-areaspline, widget-areaspline, graph-areaspline, + // tags: Math +#define ICON_MD_CHART_AREASPLINE_VARIANT \ + "\xf3\xb0\xba\x91" // U+F0E91 chart-areaspline-variant, aliases: report-areaspline-variant, + // widget-areaspline-variant, graph-areaspline-variant, tags: Math +#define ICON_MD_CHART_BAR "\xf3\xb0\x84\xa8" // U+F0128 chart-bar, aliases: report-bar, widget-bar, graph-bar, tags: Math +#define ICON_MD_CHART_BAR_STACKED \ + "\xf3\xb0\x9d\xaa" // U+F076A chart-bar-stacked, aliases: report-bar-stacked, widget-bar-stacked, graph-bar-stacked, + // tags: Math +#define ICON_MD_CHART_BELL_CURVE \ + "\xf3\xb0\xb1\x90" // U+F0C50 chart-bell-curve, aliases: report-bell-curve, widget-bell-curve, graph-bell-curve, + // tags: Math +#define ICON_MD_CHART_BELL_CURVE_CUMULATIVE \ + "\xf3\xb0\xbe\xa7" // U+F0FA7 chart-bell-curve-cumulative, aliases: report-bell-curve-cumulative, + // widget-bell-curve-cumulative, graph-bell-curve-cumulative, tags: Math +#define ICON_MD_CHART_BOX "\xf3\xb1\x95\x8d" // U+F154D chart-box, aliases: poll-box, report-box, widget-box, graph-box, tags: Math +#define ICON_MD_CHART_BOX_OUTLINE \ + "\xf3\xb1\x95\x8e" // U+F154E chart-box-outline, aliases: poll-box-outline, report-box-outline, widget-box-outline, + // graph-box-outline, tags: Math +#define ICON_MD_CHART_BOX_PLUS_OUTLINE \ + "\xf3\xb1\x95\x8f" // U+F154F chart-box-plus-outline, aliases: report-box-plus-outline, widget-box-plus-outline, + // graph-box-plus-outline, tags: Math +#define ICON_MD_CHART_BUBBLE "\xf3\xb0\x97\xa3" // U+F05E3 chart-bubble, aliases: bubble-chart, report-bubble, widget-bubble, tags: Math +#define ICON_MD_CHART_DONUT \ + "\xf3\xb0\x9e\xaf" // U+F07AF chart-donut, aliases: chart-doughnut, data-usage, report-donut, widget-donut, tags: + // Math +#define ICON_MD_CHART_DONUT_VARIANT \ + "\xf3\xb0\x9e\xb0" // U+F07B0 chart-donut-variant, aliases: chart-doughnut-variant, report-donut-variant, + // widget-donut-variant, tags: Math +#define ICON_MD_CHART_GANTT "\xf3\xb0\x99\xac" // U+F066C chart-gantt, aliases: report-gantt, timeline, widget-gantt, roadmap, tags: Math +#define ICON_MD_CHART_HISTOGRAM \ + "\xf3\xb0\x84\xa9" // U+F0129 chart-histogram, aliases: report-histogram, widget-histogram, graph-histogram, tags: + // Math +#define ICON_MD_CHART_LINE "\xf3\xb0\x84\xaa" // U+F012A chart-line, aliases: report-line, widget-line, graph-line, tags: Math +#define ICON_MD_CHART_LINE_STACKED \ + "\xf3\xb0\x9d\xab" // U+F076B chart-line-stacked, aliases: report-line-stacked, widget-line-stacked, + // graph-line-stacked, tags: Math +#define ICON_MD_CHART_LINE_VARIANT \ + "\xf3\xb0\x9e\xb1" // U+F07B1 chart-line-variant, aliases: show-chart, report-line-variant, widget-line-variant, + // graph-line-variant, tags: Math +#define ICON_MD_CHART_MULTILINE \ + "\xf3\xb0\xa3\x94" // U+F08D4 chart-multiline, aliases: report-multiline, widget-multiline, graph-multiline, tags: + // Math +#define ICON_MD_CHART_MULTIPLE "\xf3\xb1\x88\x93" // U+F1213 chart-multiple, aliases: report-multiple, widget-multiple, graph-multiple, tags: Math +#define ICON_MD_CHART_PIE "\xf3\xb0\x84\xab" // U+F012B chart-pie, aliases: report-pie, widget-pie, graph-pie, tags: Math +#define ICON_MD_CHART_PPF \ + "\xf3\xb1\x8e\x80" // U+F1380 chart-ppf, aliases: chart-production-possibility-frontier, report-ppf, widget-ppf, + // graph-ppf, tags: Math +#define ICON_MD_CHART_SANKEY \ + "\xf3\xb1\x87\x9f" // U+F11DF chart-sankey, aliases: chart-snakey, report-sankey, widget-sankey, graph-sankey, tags: + // Math +#define ICON_MD_CHART_SANKEY_VARIANT \ + "\xf3\xb1\x87\xa0" // U+F11E0 chart-sankey-variant, aliases: chart-snakey-variant, report-sankey-variant, + // widget-sankey-variant, graph-sankey-variant, tags: Math +#define ICON_MD_CHART_SCATTER_PLOT \ + "\xf3\xb0\xba\x92" // U+F0E92 chart-scatter-plot, aliases: report-scatter-plot, widget-scatter-plot, + // graph-scatter-plot, tags: Math +#define ICON_MD_CHART_SCATTER_PLOT_HEXBIN \ + "\xf3\xb0\x99\xad" // U+F066D chart-scatter-plot-hexbin, aliases: chart-scatterplot-hexbin, + // report-scatter-plot-hexbin, widget-scatter-plot-hexbin, graph-scatter-plot-hexbin, tags: Math +#define ICON_MD_CHART_TIMELINE \ + "\xf3\xb0\x99\xae" // U+F066E chart-timeline, aliases: report-timeline, widget-timeline, graph-timeline, roadmap, + // tags: Math +#define ICON_MD_CHART_TIMELINE_VARIANT \ + "\xf3\xb0\xba\x93" // U+F0E93 chart-timeline-variant, aliases: report-timeline-variant, widget-timeline-variant, + // graph-timeline-variant, report-line, widget-line, graph-line, tags: Math +#define ICON_MD_CHART_TIMELINE_VARIANT_SHIMMER \ + "\xf3\xb1\x96\xb6" // U+F15B6 chart-timeline-variant-shimmer, aliases: report-timeline-variant-shimmer, + // widget-timeline-variant-shimmer, graph-timeline-variant-shimmer, report-line-shimmer, + // widget-line-shimmer, graph-line-shimmer, tags: Math +#define ICON_MD_CHART_TREE "\xf3\xb0\xba\x94" // U+F0E94 chart-tree, aliases: report-tree, widget-tree, tags: Math +#define ICON_MD_CHART_WATERFALL "\xf3\xb1\xa4\x98" // U+F1918 chart-waterfall, tags: Math +#define ICON_MD_CHAT "\xf3\xb0\xad\xb9" // U+F0B79 chat +#define ICON_MD_CHAT_ALERT "\xf3\xb0\xad\xba" // U+F0B7A chat-alert, aliases: chat-warning, tags: Alert / Error +#define ICON_MD_CHAT_ALERT_OUTLINE "\xf3\xb1\x8b\x89" // U+F12C9 chat-alert-outline, tags: Alert / Error +#define ICON_MD_CHAT_MINUS "\xf3\xb1\x90\x90" // U+F1410 chat-minus +#define ICON_MD_CHAT_MINUS_OUTLINE "\xf3\xb1\x90\x93" // U+F1413 chat-minus-outline +#define ICON_MD_CHAT_OUTLINE "\xf3\xb0\xbb\x9e" // U+F0EDE chat-outline +#define ICON_MD_CHAT_PLUS "\xf3\xb1\x90\x8f" // U+F140F chat-plus +#define ICON_MD_CHAT_PLUS_OUTLINE "\xf3\xb1\x90\x92" // U+F1412 chat-plus-outline +#define ICON_MD_CHAT_PROCESSING "\xf3\xb0\xad\xbb" // U+F0B7B chat-processing, aliases: chat-typing +#define ICON_MD_CHAT_PROCESSING_OUTLINE "\xf3\xb1\x8b\x8a" // U+F12CA chat-processing-outline, aliases: chat-typing-outline +#define ICON_MD_CHAT_QUESTION "\xf3\xb1\x9c\xb8" // U+F1738 chat-question +#define ICON_MD_CHAT_QUESTION_OUTLINE "\xf3\xb1\x9c\xb9" // U+F1739 chat-question-outline +#define ICON_MD_CHAT_REMOVE "\xf3\xb1\x90\x91" // U+F1411 chat-remove +#define ICON_MD_CHAT_REMOVE_OUTLINE "\xf3\xb1\x90\x94" // U+F1414 chat-remove-outline +#define ICON_MD_CHAT_SLEEP "\xf3\xb1\x8b\x91" // U+F12D1 chat-sleep +#define ICON_MD_CHAT_SLEEP_OUTLINE "\xf3\xb1\x8b\x92" // U+F12D2 chat-sleep-outline +#define ICON_MD_CHECK "\xf3\xb0\x84\xac" // U+F012C check, aliases: tick, done +#define ICON_MD_CHECK_ALL "\xf3\xb0\x84\xad" // U+F012D check-all, aliases: tick-all, done-all, check-multiple, checks, ticks +#define ICON_MD_CHECK_BOLD "\xf3\xb0\xb8\x9e" // U+F0E1E check-bold, aliases: check-thick +#define ICON_MD_CHECK_CIRCLE "\xf3\xb0\x97\xa0" // U+F05E0 check-circle, aliases: tick-circle +#define ICON_MD_CHECK_CIRCLE_OUTLINE "\xf3\xb0\x97\xa1" // U+F05E1 check-circle-outline, aliases: tick-circle-outline +#define ICON_MD_CHECK_DECAGRAM "\xf3\xb0\x9e\x91" // U+F0791 check-decagram, aliases: verified, decagram-check, approve, approval, tick-decagram +#define ICON_MD_CHECK_DECAGRAM_OUTLINE "\xf3\xb1\x9d\x80" // U+F1740 check-decagram-outline, aliases: approve, approval, verified +#define ICON_MD_CHECK_NETWORK "\xf3\xb0\xb1\x93" // U+F0C53 check-network, aliases: tick-network +#define ICON_MD_CHECK_NETWORK_OUTLINE "\xf3\xb0\xb1\x94" // U+F0C54 check-network-outline, aliases: tick-network-outline +#define ICON_MD_CHECK_OUTLINE "\xf3\xb0\xa1\x95" // U+F0855 check-outline, aliases: done-outline, tick-outline +#define ICON_MD_CHECK_UNDERLINE "\xf3\xb0\xb8\x9f" // U+F0E1F check-underline +#define ICON_MD_CHECK_UNDERLINE_CIRCLE "\xf3\xb0\xb8\xa0" // U+F0E20 check-underline-circle +#define ICON_MD_CHECK_UNDERLINE_CIRCLE_OUTLINE "\xf3\xb0\xb8\xa1" // U+F0E21 check-underline-circle-outline +#define ICON_MD_CHECKBOOK "\xf3\xb0\xaa\x9d" // U+F0A9D checkbook, aliases: chequebook, cheque-book +#define ICON_MD_CHECKBOX_BLANK "\xf3\xb0\x84\xae" // U+F012E checkbox-blank, tags: Form +#define ICON_MD_CHECKBOX_BLANK_BADGE \ + "\xf3\xb1\x85\xb6" // U+F1176 checkbox-blank-badge, aliases: checkbox-blank-notification, app-notification, + // app-badge, tags: Notification +#define ICON_MD_CHECKBOX_BLANK_BADGE_OUTLINE \ + "\xf3\xb0\x84\x97" // U+F0117 checkbox-blank-badge-outline, aliases: checkbox-blank-notification-outline, + // app-notification-outline, app-badge-outline, tags: Notification +#define ICON_MD_CHECKBOX_BLANK_CIRCLE "\xf3\xb0\x84\xaf" // U+F012F checkbox-blank-circle, tags: Form +#define ICON_MD_CHECKBOX_BLANK_CIRCLE_OUTLINE "\xf3\xb0\x84\xb0" // U+F0130 checkbox-blank-circle-outline, tags: Form +#define ICON_MD_CHECKBOX_BLANK_OFF "\xf3\xb1\x8b\xac" // U+F12EC checkbox-blank-off +#define ICON_MD_CHECKBOX_BLANK_OFF_OUTLINE "\xf3\xb1\x8b\xad" // U+F12ED checkbox-blank-off-outline +#define ICON_MD_CHECKBOX_BLANK_OUTLINE "\xf3\xb0\x84\xb1" // U+F0131 checkbox-blank-outline, aliases: check-box-outline-blank, maximize, tags: Form +#define ICON_MD_CHECKBOX_INTERMEDIATE "\xf3\xb0\xa1\x96" // U+F0856 checkbox-intermediate, tags: Form +#define ICON_MD_CHECKBOX_INTERMEDIATE_VARIANT "\xf3\xb1\xad\x94" // U+F1B54 checkbox-intermediate-variant, tags: Form +#define ICON_MD_CHECKBOX_MARKED "\xf3\xb0\x84\xb2" // U+F0132 checkbox-marked, aliases: check-box, tags: Form +#define ICON_MD_CHECKBOX_MARKED_CIRCLE "\xf3\xb0\x84\xb3" // U+F0133 checkbox-marked-circle, tags: Form +#define ICON_MD_CHECKBOX_MARKED_CIRCLE_OUTLINE "\xf3\xb0\x84\xb4" // U+F0134 checkbox-marked-circle-outline, tags: Form +#define ICON_MD_CHECKBOX_MARKED_CIRCLE_PLUS_OUTLINE "\xf3\xb1\xa4\xa7" // U+F1927 checkbox-marked-circle-plus-outline, aliases: task-plus, task-add, todo-plus, todo-add +#define ICON_MD_CHECKBOX_MARKED_OUTLINE "\xf3\xb0\x84\xb5" // U+F0135 checkbox-marked-outline, tags: Form +#define ICON_MD_CHECKBOX_MULTIPLE_BLANK "\xf3\xb0\x84\xb6" // U+F0136 checkbox-multiple-blank, aliases: checkboxes-blank, tags: Form +#define ICON_MD_CHECKBOX_MULTIPLE_BLANK_CIRCLE "\xf3\xb0\x98\xbb" // U+F063B checkbox-multiple-blank-circle, aliases: checkboxes-blank-circle, tags: Form +#define ICON_MD_CHECKBOX_MULTIPLE_BLANK_CIRCLE_OUTLINE \ + "\xf3\xb0\x98\xbc" // U+F063C checkbox-multiple-blank-circle-outline, aliases: checkboxes-blank-circle-outline, + // tags: Form +#define ICON_MD_CHECKBOX_MULTIPLE_BLANK_OUTLINE "\xf3\xb0\x84\xb7" // U+F0137 checkbox-multiple-blank-outline, aliases: checkboxes-blank-outline, tags: Form +#define ICON_MD_CHECKBOX_MULTIPLE_MARKED "\xf3\xb0\x84\xb8" // U+F0138 checkbox-multiple-marked, aliases: checkboxes-marked, tags: Form +#define ICON_MD_CHECKBOX_MULTIPLE_MARKED_CIRCLE "\xf3\xb0\x98\xbd" // U+F063D checkbox-multiple-marked-circle, aliases: checkboxes-marked-circle, tags: Form +#define ICON_MD_CHECKBOX_MULTIPLE_MARKED_CIRCLE_OUTLINE \ + "\xf3\xb0\x98\xbe" // U+F063E checkbox-multiple-marked-circle-outline, aliases: checkboxes-marked-circle-outline, + // tags: Form +#define ICON_MD_CHECKBOX_MULTIPLE_MARKED_OUTLINE "\xf3\xb0\x84\xb9" // U+F0139 checkbox-multiple-marked-outline, aliases: checkboxes-marked-outline, tags: Form +#define ICON_MD_CHECKBOX_MULTIPLE_OUTLINE "\xf3\xb0\xb1\x91" // U+F0C51 checkbox-multiple-outline, aliases: check-boxes-outline, tick-box-multiple-outline +#define ICON_MD_CHECKBOX_OUTLINE "\xf3\xb0\xb1\x92" // U+F0C52 checkbox-outline +#define ICON_MD_CHECKERBOARD "\xf3\xb0\x84\xba" // U+F013A checkerboard, aliases: raster, tags: Gaming / RPG, Geographic Information System +#define ICON_MD_CHECKERBOARD_MINUS "\xf3\xb1\x88\x82" // U+F1202 checkerboard-minus, aliases: raster-minus, tags: Geographic Information System +#define ICON_MD_CHECKERBOARD_PLUS "\xf3\xb1\x88\x81" // U+F1201 checkerboard-plus, aliases: raster-plus, tags: Geographic Information System +#define ICON_MD_CHECKERBOARD_REMOVE "\xf3\xb1\x88\x83" // U+F1203 checkerboard-remove, aliases: raster-remove, tags: Geographic Information System +#define ICON_MD_CHEESE "\xf3\xb1\x8a\xb9" // U+F12B9 cheese, aliases: swiss-cheese, tags: Food / Drink +#define ICON_MD_CHEESE_OFF "\xf3\xb1\x8f\xae" // U+F13EE cheese-off, tags: Food / Drink +#define ICON_MD_CHEF_HAT "\xf3\xb0\xad\xbc" // U+F0B7C chef-hat, aliases: toque, cook, tags: Clothing +#define ICON_MD_CHEMICAL_WEAPON "\xf3\xb0\x84\xbb" // U+F013B chemical-weapon +#define ICON_MD_CHESS_BISHOP "\xf3\xb0\xa1\x9c" // U+F085C chess-bishop, tags: Gaming / RPG +#define ICON_MD_CHESS_KING "\xf3\xb0\xa1\x97" // U+F0857 chess-king, aliases: crown, royalty, tags: Gaming / RPG +#define ICON_MD_CHESS_KNIGHT "\xf3\xb0\xa1\x98" // U+F0858 chess-knight, aliases: chess-horse, tags: Gaming / RPG +#define ICON_MD_CHESS_PAWN "\xf3\xb0\xa1\x99" // U+F0859 chess-pawn, tags: Gaming / RPG +#define ICON_MD_CHESS_QUEEN "\xf3\xb0\xa1\x9a" // U+F085A chess-queen, aliases: crown, royalty, tags: Gaming / RPG +#define ICON_MD_CHESS_ROOK "\xf3\xb0\xa1\x9b" // U+F085B chess-rook, aliases: chess-castle, chess-tower, tags: Gaming / RPG +#define ICON_MD_CHEVRON_DOUBLE_DOWN "\xf3\xb0\x84\xbc" // U+F013C chevron-double-down, tags: Arrow +#define ICON_MD_CHEVRON_DOUBLE_LEFT "\xf3\xb0\x84\xbd" // U+F013D chevron-double-left, tags: Arrow +#define ICON_MD_CHEVRON_DOUBLE_RIGHT "\xf3\xb0\x84\xbe" // U+F013E chevron-double-right, tags: Arrow +#define ICON_MD_CHEVRON_DOUBLE_UP "\xf3\xb0\x84\xbf" // U+F013F chevron-double-up, tags: Arrow +#define ICON_MD_CHEVRON_DOWN "\xf3\xb0\x85\x80" // U+F0140 chevron-down, aliases: expand-more, keyboard-arrow-down, tags: Arrow +#define ICON_MD_CHEVRON_DOWN_BOX "\xf3\xb0\xa7\x96" // U+F09D6 chevron-down-box, tags: Form, Arrow +#define ICON_MD_CHEVRON_DOWN_BOX_OUTLINE "\xf3\xb0\xa7\x97" // U+F09D7 chevron-down-box-outline, tags: Form, Arrow +#define ICON_MD_CHEVRON_DOWN_CIRCLE "\xf3\xb0\xac\xa6" // U+F0B26 chevron-down-circle, tags: Arrow +#define ICON_MD_CHEVRON_DOWN_CIRCLE_OUTLINE "\xf3\xb0\xac\xa7" // U+F0B27 chevron-down-circle-outline, tags: Arrow +#define ICON_MD_CHEVRON_LEFT "\xf3\xb0\x85\x81" // U+F0141 chevron-left, aliases: keyboard-arrow-left, navigate-before, tags: Arrow +#define ICON_MD_CHEVRON_LEFT_BOX "\xf3\xb0\xa7\x98" // U+F09D8 chevron-left-box, tags: Arrow +#define ICON_MD_CHEVRON_LEFT_BOX_OUTLINE "\xf3\xb0\xa7\x99" // U+F09D9 chevron-left-box-outline, tags: Arrow +#define ICON_MD_CHEVRON_LEFT_CIRCLE "\xf3\xb0\xac\xa8" // U+F0B28 chevron-left-circle, tags: Arrow +#define ICON_MD_CHEVRON_LEFT_CIRCLE_OUTLINE "\xf3\xb0\xac\xa9" // U+F0B29 chevron-left-circle-outline, tags: Arrow +#define ICON_MD_CHEVRON_RIGHT "\xf3\xb0\x85\x82" // U+F0142 chevron-right, aliases: keyboard-arrow-right, navigate-next, tags: Arrow +#define ICON_MD_CHEVRON_RIGHT_BOX "\xf3\xb0\xa7\x9a" // U+F09DA chevron-right-box, tags: Arrow +#define ICON_MD_CHEVRON_RIGHT_BOX_OUTLINE "\xf3\xb0\xa7\x9b" // U+F09DB chevron-right-box-outline, tags: Arrow +#define ICON_MD_CHEVRON_RIGHT_CIRCLE "\xf3\xb0\xac\xaa" // U+F0B2A chevron-right-circle, tags: Arrow +#define ICON_MD_CHEVRON_RIGHT_CIRCLE_OUTLINE "\xf3\xb0\xac\xab" // U+F0B2B chevron-right-circle-outline, tags: Arrow +#define ICON_MD_CHEVRON_TRIPLE_DOWN "\xf3\xb0\xb6\xb9" // U+F0DB9 chevron-triple-down +#define ICON_MD_CHEVRON_TRIPLE_LEFT "\xf3\xb0\xb6\xba" // U+F0DBA chevron-triple-left +#define ICON_MD_CHEVRON_TRIPLE_RIGHT "\xf3\xb0\xb6\xbb" // U+F0DBB chevron-triple-right +#define ICON_MD_CHEVRON_TRIPLE_UP "\xf3\xb0\xb6\xbc" // U+F0DBC chevron-triple-up, aliases: rank +#define ICON_MD_CHEVRON_UP "\xf3\xb0\x85\x83" // U+F0143 chevron-up, aliases: expand-less, keyboard-arrow-up, caret, tags: Arrow, Math +#define ICON_MD_CHEVRON_UP_BOX "\xf3\xb0\xa7\x9c" // U+F09DC chevron-up-box, tags: Arrow +#define ICON_MD_CHEVRON_UP_BOX_OUTLINE "\xf3\xb0\xa7\x9d" // U+F09DD chevron-up-box-outline, tags: Arrow +#define ICON_MD_CHEVRON_UP_CIRCLE "\xf3\xb0\xac\xac" // U+F0B2C chevron-up-circle, tags: Arrow +#define ICON_MD_CHEVRON_UP_CIRCLE_OUTLINE "\xf3\xb0\xac\xad" // U+F0B2D chevron-up-circle-outline, tags: Arrow +#define ICON_MD_CHILI_ALERT "\xf3\xb1\x9f\xaa" // U+F17EA chili-alert, tags: Alert / Error +#define ICON_MD_CHILI_ALERT_OUTLINE "\xf3\xb1\x9f\xab" // U+F17EB chili-alert-outline, tags: Alert / Error +#define ICON_MD_CHILI_HOT "\xf3\xb0\x9e\xb2" // U+F07B2 chili-hot, aliases: chilli-hot, pepper, spicy, tags: Food / Drink +#define ICON_MD_CHILI_HOT_OUTLINE "\xf3\xb1\x9f\xac" // U+F17EC chili-hot-outline +#define ICON_MD_CHILI_MEDIUM "\xf3\xb0\x9e\xb3" // U+F07B3 chili-medium, aliases: chilli-medium, pepper, spicy, tags: Food / Drink +#define ICON_MD_CHILI_MEDIUM_OUTLINE "\xf3\xb1\x9f\xad" // U+F17ED chili-medium-outline +#define ICON_MD_CHILI_MILD "\xf3\xb0\x9e\xb4" // U+F07B4 chili-mild, aliases: chilli-mild, pepper, spicy, tags: Food / Drink, Agriculture +#define ICON_MD_CHILI_MILD_OUTLINE "\xf3\xb1\x9f\xae" // U+F17EE chili-mild-outline +#define ICON_MD_CHILI_OFF "\xf3\xb1\x91\xa7" // U+F1467 chili-off, aliases: chilli-off, pepper-off, spicy-off, tags: Food / Drink +#define ICON_MD_CHILI_OFF_OUTLINE "\xf3\xb1\x9f\xaf" // U+F17EF chili-off-outline +#define ICON_MD_CHIP "\xf3\xb0\x98\x9a" // U+F061A chip, aliases: integrated-circuit +#define ICON_MD_CHURCH "\xf3\xb0\x85\x84" // U+F0144 church, tags: Religion, Places +#define ICON_MD_CHURCH_OUTLINE "\xf3\xb1\xac\x82" // U+F1B02 church-outline, tags: Places, Religion +#define ICON_MD_CIGAR "\xf3\xb1\x86\x89" // U+F1189 cigar +#define ICON_MD_CIGAR_OFF "\xf3\xb1\x90\x9b" // U+F141B cigar-off +#define ICON_MD_CIRCLE "\xf3\xb0\x9d\xa5" // U+F0765 circle, aliases: lens, tags: Shape +#define ICON_MD_CIRCLE_BOX "\xf3\xb1\x97\x9c" // U+F15DC circle-box +#define ICON_MD_CIRCLE_BOX_OUTLINE "\xf3\xb1\x97\x9d" // U+F15DD circle-box-outline +#define ICON_MD_CIRCLE_DOUBLE "\xf3\xb0\xba\x95" // U+F0E95 circle-double, tags: Shape +#define ICON_MD_CIRCLE_EDIT_OUTLINE "\xf3\xb0\xa3\x95" // U+F08D5 circle-edit-outline, tags: Edit / Modify +#define ICON_MD_CIRCLE_EXPAND "\xf3\xb0\xba\x96" // U+F0E96 circle-expand +#define ICON_MD_CIRCLE_HALF "\xf3\xb1\x8e\x95" // U+F1395 circle-half, aliases: brightness-half, tags: Shape +#define ICON_MD_CIRCLE_HALF_FULL "\xf3\xb1\x8e\x96" // U+F1396 circle-half-full, tags: Shape +#define ICON_MD_CIRCLE_MEDIUM "\xf3\xb0\xa7\x9e" // U+F09DE circle-medium +#define ICON_MD_CIRCLE_MULTIPLE "\xf3\xb0\xac\xb8" // U+F0B38 circle-multiple, aliases: coins, tags: Currency, Banking +#define ICON_MD_CIRCLE_MULTIPLE_OUTLINE "\xf3\xb0\x9a\x95" // U+F0695 circle-multiple-outline, aliases: toll, coins-outline, tags: Currency, Banking +#define ICON_MD_CIRCLE_OFF_OUTLINE "\xf3\xb1\x83\x93" // U+F10D3 circle-off-outline, aliases: null-off +#define ICON_MD_CIRCLE_OPACITY "\xf3\xb1\xa1\x93" // U+F1853 circle-opacity, aliases: circle-transparent, tags: Shape, Drawing / Art +#define ICON_MD_CIRCLE_OUTLINE "\xf3\xb0\x9d\xa6" // U+F0766 circle-outline, aliases: null, tags: Shape +#define ICON_MD_CIRCLE_SLICE_1 "\xf3\xb0\xaa\x9e" // U+F0A9E circle-slice-1 +#define ICON_MD_CIRCLE_SLICE_2 "\xf3\xb0\xaa\x9f" // U+F0A9F circle-slice-2 +#define ICON_MD_CIRCLE_SLICE_3 "\xf3\xb0\xaa\xa0" // U+F0AA0 circle-slice-3 +#define ICON_MD_CIRCLE_SLICE_4 "\xf3\xb0\xaa\xa1" // U+F0AA1 circle-slice-4 +#define ICON_MD_CIRCLE_SLICE_5 "\xf3\xb0\xaa\xa2" // U+F0AA2 circle-slice-5 +#define ICON_MD_CIRCLE_SLICE_6 "\xf3\xb0\xaa\xa3" // U+F0AA3 circle-slice-6 +#define ICON_MD_CIRCLE_SLICE_7 "\xf3\xb0\xaa\xa4" // U+F0AA4 circle-slice-7 +#define ICON_MD_CIRCLE_SLICE_8 "\xf3\xb0\xaa\xa5" // U+F0AA5 circle-slice-8 +#define ICON_MD_CIRCLE_SMALL "\xf3\xb0\xa7\x9f" // U+F09DF circle-small, aliases: bullet, multiplication, dot, tags: Math +#define ICON_MD_CIRCULAR_SAW "\xf3\xb0\xb8\xa2" // U+F0E22 circular-saw, tags: Hardware / Tools +#define ICON_MD_CITY "\xf3\xb0\x85\x86" // U+F0146 city, aliases: location-city, tags: Places +#define ICON_MD_CITY_VARIANT "\xf3\xb0\xa8\xb6" // U+F0A36 city-variant +#define ICON_MD_CITY_VARIANT_OUTLINE "\xf3\xb0\xa8\xb7" // U+F0A37 city-variant-outline +#define ICON_MD_CLIPBOARD "\xf3\xb0\x85\x87" // U+F0147 clipboard +#define ICON_MD_CLIPBOARD_ACCOUNT \ + "\xf3\xb0\x85\x88" // U+F0148 clipboard-account, aliases: clipboard-user, assignment-ind, clipboard-person, tags: + // Account / User +#define ICON_MD_CLIPBOARD_ACCOUNT_OUTLINE \ + "\xf3\xb0\xb1\x95" // U+F0C55 clipboard-account-outline, aliases: clipboard-user-outline, clipboard-person-outline, + // assignment-ind-outline, tags: Account / User +#define ICON_MD_CLIPBOARD_ALERT "\xf3\xb0\x85\x89" // U+F0149 clipboard-alert, aliases: clipboard-warning, assignment-late, tags: Alert / Error +#define ICON_MD_CLIPBOARD_ALERT_OUTLINE "\xf3\xb0\xb3\xb7" // U+F0CF7 clipboard-alert-outline, aliases: clipboard-warning-outline, tags: Alert / Error +#define ICON_MD_CLIPBOARD_ARROW_DOWN "\xf3\xb0\x85\x8a" // U+F014A clipboard-arrow-down, aliases: assignment-returned, clipboard-arrow-bottom +#define ICON_MD_CLIPBOARD_ARROW_DOWN_OUTLINE \ + "\xf3\xb0\xb1\x96" // U+F0C56 clipboard-arrow-down-outline, aliases: assignment-returned-outline, + // clipboard-arrow-bottom-outline +#define ICON_MD_CLIPBOARD_ARROW_LEFT "\xf3\xb0\x85\x8b" // U+F014B clipboard-arrow-left, aliases: assignment-return +#define ICON_MD_CLIPBOARD_ARROW_LEFT_OUTLINE "\xf3\xb0\xb3\xb8" // U+F0CF8 clipboard-arrow-left-outline +#define ICON_MD_CLIPBOARD_ARROW_RIGHT "\xf3\xb0\xb3\xb9" // U+F0CF9 clipboard-arrow-right +#define ICON_MD_CLIPBOARD_ARROW_RIGHT_OUTLINE "\xf3\xb0\xb3\xba" // U+F0CFA clipboard-arrow-right-outline +#define ICON_MD_CLIPBOARD_ARROW_UP "\xf3\xb0\xb1\x97" // U+F0C57 clipboard-arrow-up, aliases: clipboard-arrow-top +#define ICON_MD_CLIPBOARD_ARROW_UP_OUTLINE "\xf3\xb0\xb1\x98" // U+F0C58 clipboard-arrow-up-outline, aliases: clipboard-arrow-top-outline +#define ICON_MD_CLIPBOARD_CHECK "\xf3\xb0\x85\x8e" // U+F014E clipboard-check, aliases: assignment-turned-in, clipboard-tick +#define ICON_MD_CLIPBOARD_CHECK_MULTIPLE "\xf3\xb1\x89\xa3" // U+F1263 clipboard-check-multiple +#define ICON_MD_CLIPBOARD_CHECK_MULTIPLE_OUTLINE "\xf3\xb1\x89\xa4" // U+F1264 clipboard-check-multiple-outline +#define ICON_MD_CLIPBOARD_CHECK_OUTLINE "\xf3\xb0\xa2\xa8" // U+F08A8 clipboard-check-outline, aliases: clipboard-tick-outline +#define ICON_MD_CLIPBOARD_CLOCK "\xf3\xb1\x9b\xa2" // U+F16E2 clipboard-clock, tags: Date / Time +#define ICON_MD_CLIPBOARD_CLOCK_OUTLINE "\xf3\xb1\x9b\xa3" // U+F16E3 clipboard-clock-outline, tags: Date / Time +#define ICON_MD_CLIPBOARD_EDIT "\xf3\xb1\x93\xa5" // U+F14E5 clipboard-edit, tags: Edit / Modify +#define ICON_MD_CLIPBOARD_EDIT_OUTLINE "\xf3\xb1\x93\xa6" // U+F14E6 clipboard-edit-outline, tags: Edit / Modify +#define ICON_MD_CLIPBOARD_FILE "\xf3\xb1\x89\xa5" // U+F1265 clipboard-file, tags: Files / Folders +#define ICON_MD_CLIPBOARD_FILE_OUTLINE "\xf3\xb1\x89\xa6" // U+F1266 clipboard-file-outline, tags: Files / Folders +#define ICON_MD_CLIPBOARD_FLOW "\xf3\xb0\x9b\x88" // U+F06C8 clipboard-flow +#define ICON_MD_CLIPBOARD_FLOW_OUTLINE "\xf3\xb1\x84\x97" // U+F1117 clipboard-flow-outline +#define ICON_MD_CLIPBOARD_LIST "\xf3\xb1\x83\x94" // U+F10D4 clipboard-list +#define ICON_MD_CLIPBOARD_LIST_OUTLINE "\xf3\xb1\x83\x95" // U+F10D5 clipboard-list-outline +#define ICON_MD_CLIPBOARD_MINUS "\xf3\xb1\x98\x98" // U+F1618 clipboard-minus +#define ICON_MD_CLIPBOARD_MINUS_OUTLINE "\xf3\xb1\x98\x99" // U+F1619 clipboard-minus-outline +#define ICON_MD_CLIPBOARD_MULTIPLE "\xf3\xb1\x89\xa7" // U+F1267 clipboard-multiple +#define ICON_MD_CLIPBOARD_MULTIPLE_OUTLINE "\xf3\xb1\x89\xa8" // U+F1268 clipboard-multiple-outline +#define ICON_MD_CLIPBOARD_OFF "\xf3\xb1\x98\x9a" // U+F161A clipboard-off +#define ICON_MD_CLIPBOARD_OFF_OUTLINE "\xf3\xb1\x98\x9b" // U+F161B clipboard-off-outline +#define ICON_MD_CLIPBOARD_OUTLINE "\xf3\xb0\x85\x8c" // U+F014C clipboard-outline +#define ICON_MD_CLIPBOARD_PLAY "\xf3\xb0\xb1\x99" // U+F0C59 clipboard-play +#define ICON_MD_CLIPBOARD_PLAY_MULTIPLE "\xf3\xb1\x89\xa9" // U+F1269 clipboard-play-multiple +#define ICON_MD_CLIPBOARD_PLAY_MULTIPLE_OUTLINE "\xf3\xb1\x89\xaa" // U+F126A clipboard-play-multiple-outline +#define ICON_MD_CLIPBOARD_PLAY_OUTLINE "\xf3\xb0\xb1\x9a" // U+F0C5A clipboard-play-outline +#define ICON_MD_CLIPBOARD_PLUS "\xf3\xb0\x9d\x91" // U+F0751 clipboard-plus, aliases: clipboard-add +#define ICON_MD_CLIPBOARD_PLUS_OUTLINE "\xf3\xb1\x8c\x9f" // U+F131F clipboard-plus-outline +#define ICON_MD_CLIPBOARD_PULSE "\xf3\xb0\xa1\x9d" // U+F085D clipboard-pulse, aliases: clipboard-vitals, tags: Medical / Hospital +#define ICON_MD_CLIPBOARD_PULSE_OUTLINE "\xf3\xb0\xa1\x9e" // U+F085E clipboard-pulse-outline, aliases: clipboard-vitals-outline, tags: Medical / Hospital +#define ICON_MD_CLIPBOARD_REMOVE "\xf3\xb1\x98\x9c" // U+F161C clipboard-remove +#define ICON_MD_CLIPBOARD_REMOVE_OUTLINE "\xf3\xb1\x98\x9d" // U+F161D clipboard-remove-outline +#define ICON_MD_CLIPBOARD_SEARCH "\xf3\xb1\x98\x9e" // U+F161E clipboard-search +#define ICON_MD_CLIPBOARD_SEARCH_OUTLINE "\xf3\xb1\x98\x9f" // U+F161F clipboard-search-outline +#define ICON_MD_CLIPBOARD_TEXT "\xf3\xb0\x85\x8d" // U+F014D clipboard-text, aliases: assignment +#define ICON_MD_CLIPBOARD_TEXT_CLOCK \ + "\xf3\xb1\xa3\xb9" // U+F18F9 clipboard-text-clock, aliases: clipboard-text-date, clipboard-text-time, + // clipboard-text-history, tags: Date / Time +#define ICON_MD_CLIPBOARD_TEXT_CLOCK_OUTLINE \ + "\xf3\xb1\xa3\xba" // U+F18FA clipboard-text-clock-outline, aliases: clipboard-text-date-outline, + // clipboard-text-time-outline, clipboard-text-history-outline, tags: Date / Time +#define ICON_MD_CLIPBOARD_TEXT_MULTIPLE "\xf3\xb1\x89\xab" // U+F126B clipboard-text-multiple +#define ICON_MD_CLIPBOARD_TEXT_MULTIPLE_OUTLINE "\xf3\xb1\x89\xac" // U+F126C clipboard-text-multiple-outline +#define ICON_MD_CLIPBOARD_TEXT_OFF "\xf3\xb1\x98\xa0" // U+F1620 clipboard-text-off +#define ICON_MD_CLIPBOARD_TEXT_OFF_OUTLINE "\xf3\xb1\x98\xa1" // U+F1621 clipboard-text-off-outline +#define ICON_MD_CLIPBOARD_TEXT_OUTLINE "\xf3\xb0\xa8\xb8" // U+F0A38 clipboard-text-outline +#define ICON_MD_CLIPBOARD_TEXT_PLAY "\xf3\xb0\xb1\x9b" // U+F0C5B clipboard-text-play +#define ICON_MD_CLIPBOARD_TEXT_PLAY_OUTLINE "\xf3\xb0\xb1\x9c" // U+F0C5C clipboard-text-play-outline +#define ICON_MD_CLIPBOARD_TEXT_SEARCH "\xf3\xb1\x98\xa2" // U+F1622 clipboard-text-search +#define ICON_MD_CLIPBOARD_TEXT_SEARCH_OUTLINE "\xf3\xb1\x98\xa3" // U+F1623 clipboard-text-search-outline +#define ICON_MD_CLIPPY "\xf3\xb0\x85\x8f" // U+F014F clippy +#define ICON_MD_CLOCK "\xf3\xb0\xa5\x94" // U+F0954 clock, aliases: watch-later, tags: Date / Time +#define ICON_MD_CLOCK_ALERT "\xf3\xb0\xa5\x95" // U+F0955 clock-alert, aliases: clock-warning, tags: Date / Time, Alert / Error +#define ICON_MD_CLOCK_ALERT_OUTLINE "\xf3\xb0\x97\x8e" // U+F05CE clock-alert-outline, aliases: clock-warning, tags: Date / Time, Alert / Error +#define ICON_MD_CLOCK_CHECK "\xf3\xb0\xbe\xa8" // U+F0FA8 clock-check, tags: Date / Time +#define ICON_MD_CLOCK_CHECK_OUTLINE "\xf3\xb0\xbe\xa9" // U+F0FA9 clock-check-outline, tags: Date / Time +#define ICON_MD_CLOCK_DIGITAL "\xf3\xb0\xba\x97" // U+F0E97 clock-digital, tags: Date / Time, Home Automation +#define ICON_MD_CLOCK_EDIT "\xf3\xb1\xa6\xba" // U+F19BA clock-edit, tags: Date / Time, Edit / Modify +#define ICON_MD_CLOCK_EDIT_OUTLINE "\xf3\xb1\xa6\xbb" // U+F19BB clock-edit-outline, tags: Date / Time, Edit / Modify +#define ICON_MD_CLOCK_END "\xf3\xb0\x85\x91" // U+F0151 clock-end, tags: Date / Time +#define ICON_MD_CLOCK_FAST "\xf3\xb0\x85\x92" // U+F0152 clock-fast, aliases: velocity, tags: Date / Time +#define ICON_MD_CLOCK_IN "\xf3\xb0\x85\x93" // U+F0153 clock-in, tags: Date / Time +#define ICON_MD_CLOCK_MINUS "\xf3\xb1\xa1\xa3" // U+F1863 clock-minus, tags: Date / Time +#define ICON_MD_CLOCK_MINUS_OUTLINE "\xf3\xb1\xa1\xa4" // U+F1864 clock-minus-outline, tags: Date / Time +#define ICON_MD_CLOCK_OUT "\xf3\xb0\x85\x94" // U+F0154 clock-out, tags: Date / Time +#define ICON_MD_CLOCK_OUTLINE "\xf3\xb0\x85\x90" // U+F0150 clock-outline, aliases: access-time, query-builder, schedule, tags: Date / Time +#define ICON_MD_CLOCK_PLUS "\xf3\xb1\xa1\xa1" // U+F1861 clock-plus, tags: Date / Time +#define ICON_MD_CLOCK_PLUS_OUTLINE "\xf3\xb1\xa1\xa2" // U+F1862 clock-plus-outline, tags: Date / Time +#define ICON_MD_CLOCK_REMOVE "\xf3\xb1\xa1\xa5" // U+F1865 clock-remove, tags: Date / Time +#define ICON_MD_CLOCK_REMOVE_OUTLINE "\xf3\xb1\xa1\xa6" // U+F1866 clock-remove-outline, tags: Date / Time +#define ICON_MD_CLOCK_START "\xf3\xb0\x85\x95" // U+F0155 clock-start, tags: Date / Time +#define ICON_MD_CLOCK_TIME_EIGHT "\xf3\xb1\x91\x86" // U+F1446 clock-time-eight, tags: Date / Time +#define ICON_MD_CLOCK_TIME_EIGHT_OUTLINE "\xf3\xb1\x91\x92" // U+F1452 clock-time-eight-outline, tags: Date / Time +#define ICON_MD_CLOCK_TIME_ELEVEN "\xf3\xb1\x91\x89" // U+F1449 clock-time-eleven, tags: Date / Time +#define ICON_MD_CLOCK_TIME_ELEVEN_OUTLINE "\xf3\xb1\x91\x95" // U+F1455 clock-time-eleven-outline, tags: Date / Time +#define ICON_MD_CLOCK_TIME_FIVE "\xf3\xb1\x91\x83" // U+F1443 clock-time-five, tags: Date / Time +#define ICON_MD_CLOCK_TIME_FIVE_OUTLINE "\xf3\xb1\x91\x8f" // U+F144F clock-time-five-outline, tags: Date / Time +#define ICON_MD_CLOCK_TIME_FOUR "\xf3\xb1\x91\x82" // U+F1442 clock-time-four, tags: Date / Time +#define ICON_MD_CLOCK_TIME_FOUR_OUTLINE "\xf3\xb1\x91\x8e" // U+F144E clock-time-four-outline, tags: Date / Time +#define ICON_MD_CLOCK_TIME_NINE "\xf3\xb1\x91\x87" // U+F1447 clock-time-nine, tags: Date / Time +#define ICON_MD_CLOCK_TIME_NINE_OUTLINE "\xf3\xb1\x91\x93" // U+F1453 clock-time-nine-outline, tags: Date / Time +#define ICON_MD_CLOCK_TIME_ONE "\xf3\xb1\x90\xbf" // U+F143F clock-time-one, tags: Date / Time +#define ICON_MD_CLOCK_TIME_ONE_OUTLINE "\xf3\xb1\x91\x8b" // U+F144B clock-time-one-outline, tags: Date / Time +#define ICON_MD_CLOCK_TIME_SEVEN "\xf3\xb1\x91\x85" // U+F1445 clock-time-seven, tags: Date / Time +#define ICON_MD_CLOCK_TIME_SEVEN_OUTLINE "\xf3\xb1\x91\x91" // U+F1451 clock-time-seven-outline, tags: Date / Time +#define ICON_MD_CLOCK_TIME_SIX "\xf3\xb1\x91\x84" // U+F1444 clock-time-six, tags: Date / Time +#define ICON_MD_CLOCK_TIME_SIX_OUTLINE "\xf3\xb1\x91\x90" // U+F1450 clock-time-six-outline, tags: Date / Time +#define ICON_MD_CLOCK_TIME_TEN "\xf3\xb1\x91\x88" // U+F1448 clock-time-ten, tags: Date / Time +#define ICON_MD_CLOCK_TIME_TEN_OUTLINE "\xf3\xb1\x91\x94" // U+F1454 clock-time-ten-outline, tags: Date / Time +#define ICON_MD_CLOCK_TIME_THREE "\xf3\xb1\x91\x81" // U+F1441 clock-time-three, tags: Date / Time +#define ICON_MD_CLOCK_TIME_THREE_OUTLINE "\xf3\xb1\x91\x8d" // U+F144D clock-time-three-outline, tags: Date / Time +#define ICON_MD_CLOCK_TIME_TWELVE "\xf3\xb1\x91\x8a" // U+F144A clock-time-twelve, tags: Date / Time +#define ICON_MD_CLOCK_TIME_TWELVE_OUTLINE "\xf3\xb1\x91\x96" // U+F1456 clock-time-twelve-outline, tags: Date / Time +#define ICON_MD_CLOCK_TIME_TWO "\xf3\xb1\x91\x80" // U+F1440 clock-time-two, tags: Date / Time +#define ICON_MD_CLOCK_TIME_TWO_OUTLINE "\xf3\xb1\x91\x8c" // U+F144C clock-time-two-outline, tags: Date / Time +#define ICON_MD_CLOSE "\xf3\xb0\x85\x96" // U+F0156 close, aliases: clear, multiply, remove, cancel, tags: Math +#define ICON_MD_CLOSE_BOX "\xf3\xb0\x85\x97" // U+F0157 close-box, aliases: multiply-box, clear-box, cancel-box, remove-box, tags: Math +#define ICON_MD_CLOSE_BOX_MULTIPLE \ + "\xf3\xb0\xb1\x9d" // U+F0C5D close-box-multiple, aliases: close-boxes, library-remove, library-close, + // multiply-boxes, multiply-box-multiple, cancel-box-multiple, remove-box-multiple +#define ICON_MD_CLOSE_BOX_MULTIPLE_OUTLINE \ + "\xf3\xb0\xb1\x9e" // U+F0C5E close-box-multiple-outline, aliases: close-boxes-outline, library-remove-outline, + // library-close-outline, multiply-boxes-outline, multiply-box-multiple-outline, + // remove-box-multiple, cancel-box-multiple +#define ICON_MD_CLOSE_BOX_OUTLINE \ + "\xf3\xb0\x85\x98" // U+F0158 close-box-outline, aliases: multiply-box-outline, clear-box-outline, + // remove-box-outline, cancel-box-outline, tags: Math +#define ICON_MD_CLOSE_CIRCLE "\xf3\xb0\x85\x99" // U+F0159 close-circle, aliases: remove-circle, cancel-circle, multiply-circle, clear-circle +#define ICON_MD_CLOSE_CIRCLE_MULTIPLE \ + "\xf3\xb0\x98\xaa" // U+F062A close-circle-multiple, aliases: remove-circle-multiple, coins-close, coins-remove, + // clear-circle-multiple, multiply-circle-multiple +#define ICON_MD_CLOSE_CIRCLE_MULTIPLE_OUTLINE \ + "\xf3\xb0\xa2\x83" // U+F0883 close-circle-multiple-outline, aliases: remove-circle-multiple-outline, + // coins-close-outline, coins-remove-outline, cancel-circle-multiple-outline, + // multiply-circle-multiple-outline, clear-circle-multiple-outline +#define ICON_MD_CLOSE_CIRCLE_OUTLINE \ + "\xf3\xb0\x85\x9a" // U+F015A close-circle-outline, aliases: highlight-off, multiply-circle-outline, + // remove-circle-outline, clear-circle-outline, cancel-circle-outline +#define ICON_MD_CLOSE_NETWORK \ + "\xf3\xb0\x85\x9b" // U+F015B close-network, aliases: remove-network, cancel-network, multiply-network, + // clear-network +#define ICON_MD_CLOSE_NETWORK_OUTLINE \ + "\xf3\xb0\xb1\x9f" // U+F0C5F close-network-outline, aliases: remove-network-outline, cancel-network-outline, + // multiply-network-outline, clear-network-outline +#define ICON_MD_CLOSE_OCTAGON \ + "\xf3\xb0\x85\x9c" // U+F015C close-octagon, aliases: dangerous, multiply-octagon, remove-octagon, cancel-octagon, + // clear-octagon, stop-remove +#define ICON_MD_CLOSE_OCTAGON_OUTLINE \ + "\xf3\xb0\x85\x9d" // U+F015D close-octagon-outline, aliases: remove-octagon-outline, multiply-octagon-outline, + // clear-octagon-outline, cancel-octagon-outline, stop-remove-outline +#define ICON_MD_CLOSE_OUTLINE \ + "\xf3\xb0\x9b\x89" // U+F06C9 close-outline, aliases: remove-outline, cancel-outline, multiply-outline, + // clear-outline +#define ICON_MD_CLOSE_THICK \ + "\xf3\xb1\x8e\x98" // U+F1398 close-thick, aliases: close-bold, remove-thick, remove-bold, multiply-thick, + // multiply-bold, clear-thick, clear-bold, cancel-thick, cancel-bold +#define ICON_MD_CLOSED_CAPTION "\xf3\xb0\x85\x9e" // U+F015E closed-caption, aliases: cc +#define ICON_MD_CLOSED_CAPTION_OUTLINE "\xf3\xb0\xb6\xbd" // U+F0DBD closed-caption-outline, aliases: cc-outline +#define ICON_MD_CLOUD "\xf3\xb0\x85\x9f" // U+F015F cloud, aliases: wb-cloudy, tags: Cloud, Weather +#define ICON_MD_CLOUD_ALERT "\xf3\xb0\xa7\xa0" // U+F09E0 cloud-alert, aliases: cloud-warning, tags: Alert / Error, Cloud, Weather +#define ICON_MD_CLOUD_BRACES "\xf3\xb0\x9e\xb5" // U+F07B5 cloud-braces, aliases: cloud-json, tags: Cloud, Developer / Languages +#define ICON_MD_CLOUD_CHECK "\xf3\xb0\x85\xa0" // U+F0160 cloud-check, aliases: cloud-done, cloud-tick, tags: Cloud +#define ICON_MD_CLOUD_CHECK_OUTLINE "\xf3\xb1\x8b\x8c" // U+F12CC cloud-check-outline, tags: Cloud +#define ICON_MD_CLOUD_CIRCLE "\xf3\xb0\x85\xa1" // U+F0161 cloud-circle, tags: Cloud +#define ICON_MD_CLOUD_DOWNLOAD "\xf3\xb0\x85\xa2" // U+F0162 cloud-download, tags: Cloud +#define ICON_MD_CLOUD_DOWNLOAD_OUTLINE "\xf3\xb0\xad\xbd" // U+F0B7D cloud-download-outline, tags: Cloud +#define ICON_MD_CLOUD_LOCK "\xf3\xb1\x87\xb1" // U+F11F1 cloud-lock, tags: Cloud, Lock +#define ICON_MD_CLOUD_LOCK_OUTLINE "\xf3\xb1\x87\xb2" // U+F11F2 cloud-lock-outline, tags: Cloud, Lock +#define ICON_MD_CLOUD_OFF_OUTLINE "\xf3\xb0\x85\xa4" // U+F0164 cloud-off-outline, tags: Cloud +#define ICON_MD_CLOUD_OUTLINE "\xf3\xb0\x85\xa3" // U+F0163 cloud-outline, aliases: cloud-queue, tags: Cloud, Weather +#define ICON_MD_CLOUD_PERCENT \ + "\xf3\xb1\xa8\xb5" // U+F1A35 cloud-percent, aliases: humidity, rain-chance, cloud-discount, tags: Weather, Cloud, + // Nature +#define ICON_MD_CLOUD_PERCENT_OUTLINE \ + "\xf3\xb1\xa8\xb6" // U+F1A36 cloud-percent-outline, aliases: cloud-discount-outline, humidity-outline, + // rain-chance-outline, tags: Weather, Cloud, Nature +#define ICON_MD_CLOUD_PRINT "\xf3\xb0\x85\xa5" // U+F0165 cloud-print, tags: Cloud, Printer, Home Automation +#define ICON_MD_CLOUD_PRINT_OUTLINE "\xf3\xb0\x85\xa6" // U+F0166 cloud-print-outline, tags: Cloud, Printer, Home Automation +#define ICON_MD_CLOUD_QUESTION "\xf3\xb0\xa8\xb9" // U+F0A39 cloud-question, tags: Cloud +#define ICON_MD_CLOUD_REFRESH "\xf3\xb0\x94\xaa" // U+F052A cloud-refresh, tags: Cloud +#define ICON_MD_CLOUD_SEARCH "\xf3\xb0\xa5\x96" // U+F0956 cloud-search, tags: Cloud +#define ICON_MD_CLOUD_SEARCH_OUTLINE "\xf3\xb0\xa5\x97" // U+F0957 cloud-search-outline, tags: Cloud +#define ICON_MD_CLOUD_SYNC "\xf3\xb0\x98\xbf" // U+F063F cloud-sync, tags: Cloud +#define ICON_MD_CLOUD_SYNC_OUTLINE "\xf3\xb1\x8b\x96" // U+F12D6 cloud-sync-outline, tags: Cloud +#define ICON_MD_CLOUD_TAGS "\xf3\xb0\x9e\xb6" // U+F07B6 cloud-tags, aliases: cloud-xml, tags: Cloud +#define ICON_MD_CLOUD_UPLOAD "\xf3\xb0\x85\xa7" // U+F0167 cloud-upload, aliases: backup, tags: Cloud +#define ICON_MD_CLOUD_UPLOAD_OUTLINE "\xf3\xb0\xad\xbe" // U+F0B7E cloud-upload-outline, aliases: backup-outline, tags: Cloud +#define ICON_MD_CLOUDS "\xf3\xb1\xae\x95" // U+F1B95 clouds, tags: Weather +#define ICON_MD_CLOVER "\xf3\xb0\xa0\x96" // U+F0816 clover, aliases: luck, tags: Nature +#define ICON_MD_COACH_LAMP "\xf3\xb1\x80\xa0" // U+F1020 coach-lamp, aliases: coach-light, carriage-lamp, carriage-light, tags: Home Automation +#define ICON_MD_COACH_LAMP_VARIANT \ + "\xf3\xb1\xa8\xb7" // U+F1A37 coach-lamp-variant, aliases: coach-light, carriage-light, carriage-lamp, tags: Home + // Automation +#define ICON_MD_COAT_RACK "\xf3\xb1\x82\x9e" // U+F109E coat-rack, aliases: foyer, hallway, entry-room, tags: Home Automation, Clothing +#define ICON_MD_CODE_ARRAY "\xf3\xb0\x85\xa8" // U+F0168 code-array, tags: Developer / Languages +#define ICON_MD_CODE_BRACES "\xf3\xb0\x85\xa9" // U+F0169 code-braces, aliases: set, tags: Developer / Languages, Math +#define ICON_MD_CODE_BRACES_BOX "\xf3\xb1\x83\x96" // U+F10D6 code-braces-box, tags: Developer / Languages +#define ICON_MD_CODE_BRACKETS "\xf3\xb0\x85\xaa" // U+F016A code-brackets, aliases: square-brackets, tags: Developer / Languages, Math +#define ICON_MD_CODE_EQUAL "\xf3\xb0\x85\xab" // U+F016B code-equal, tags: Developer / Languages +#define ICON_MD_CODE_GREATER_THAN "\xf3\xb0\x85\xac" // U+F016C code-greater-than, tags: Developer / Languages, Math +#define ICON_MD_CODE_GREATER_THAN_OR_EQUAL "\xf3\xb0\x85\xad" // U+F016D code-greater-than-or-equal, tags: Developer / Languages, Math +#define ICON_MD_CODE_JSON "\xf3\xb0\x98\xa6" // U+F0626 code-json, tags: Developer / Languages +#define ICON_MD_CODE_LESS_THAN "\xf3\xb0\x85\xae" // U+F016E code-less-than, tags: Developer / Languages, Math +#define ICON_MD_CODE_LESS_THAN_OR_EQUAL "\xf3\xb0\x85\xaf" // U+F016F code-less-than-or-equal, tags: Developer / Languages, Math +#define ICON_MD_CODE_NOT_EQUAL "\xf3\xb0\x85\xb0" // U+F0170 code-not-equal, tags: Developer / Languages +#define ICON_MD_CODE_NOT_EQUAL_VARIANT "\xf3\xb0\x85\xb1" // U+F0171 code-not-equal-variant, tags: Developer / Languages +#define ICON_MD_CODE_PARENTHESES "\xf3\xb0\x85\xb2" // U+F0172 code-parentheses, tags: Developer / Languages +#define ICON_MD_CODE_PARENTHESES_BOX "\xf3\xb1\x83\x97" // U+F10D7 code-parentheses-box, tags: Developer / Languages +#define ICON_MD_CODE_STRING "\xf3\xb0\x85\xb3" // U+F0173 code-string, tags: Developer / Languages +#define ICON_MD_CODE_TAGS "\xf3\xb0\x85\xb4" // U+F0174 code-tags, tags: Developer / Languages +#define ICON_MD_CODE_TAGS_CHECK "\xf3\xb0\x9a\x94" // U+F0694 code-tags-check, aliases: code-tags-tick, tags: Developer / Languages +#define ICON_MD_CODEPEN "\xf3\xb0\x85\xb5" // U+F0175 codepen, tags: Brand / Logo, Developer / Languages +#define ICON_MD_COFFEE "\xf3\xb0\x85\xb6" // U+F0176 coffee, aliases: tea, cup, free-breakfast, local-cafe, drink, tags: Food / Drink +#define ICON_MD_COFFEE_MAKER \ + "\xf3\xb1\x82\x9f" // U+F109F coffee-maker, aliases: espresso-maker, coffee-machine, espresso-machine, tags: Home + // Automation, Food / Drink +#define ICON_MD_COFFEE_MAKER_CHECK \ + "\xf3\xb1\xa4\xb1" // U+F1931 coffee-maker-check, aliases: coffee-maker-done, coffee-maker-complete, tags: Home + // Automation, Food / Drink +#define ICON_MD_COFFEE_MAKER_CHECK_OUTLINE \ + "\xf3\xb1\xa4\xb2" // U+F1932 coffee-maker-check-outline, aliases: coffee-maker-complete-outline, + // coffee-maker-done-outline, tags: Home Automation, Food / Drink +#define ICON_MD_COFFEE_MAKER_OUTLINE "\xf3\xb1\xa0\x9b" // U+F181B coffee-maker-outline, tags: Home Automation +#define ICON_MD_COFFEE_OFF \ + "\xf3\xb0\xbe\xaa" // U+F0FAA coffee-off, aliases: drink-off, tea-off, cup-off, free-breakfast-off, local-cafe-off, + // tags: Food / Drink +#define ICON_MD_COFFEE_OFF_OUTLINE \ + "\xf3\xb0\xbe\xab" // U+F0FAB coffee-off-outline, aliases: drink-off-outline, cup-off-outline, tea-off-outline, + // free-breakfast-off-outline, local-cafe-off-outline, tags: Food / Drink +#define ICON_MD_COFFEE_OUTLINE \ + "\xf3\xb0\x9b\x8a" // U+F06CA coffee-outline, aliases: tea-outline, cup-outline, drink-outline, + // free-breakfast-outline, local-cafe-outline, tags: Food / Drink +#define ICON_MD_COFFEE_TO_GO \ + "\xf3\xb0\x85\xb7" // U+F0177 coffee-to-go, aliases: tea-to-go, drink-to-go, cup-to-go, free-breakfast-to-go, + // local-cafe-to-go, tags: Food / Drink +#define ICON_MD_COFFEE_TO_GO_OUTLINE \ + "\xf3\xb1\x8c\x8e" // U+F130E coffee-to-go-outline, aliases: tea-to-go-outline, cup-to-go-outline, + // drink-to-go-outline, free-breakfast-to-go-outline, local-cafe-to-go-outline, tags: Food / + // Drink +#define ICON_MD_COFFIN "\xf3\xb0\xad\xbf" // U+F0B7F coffin, aliases: death, dead, tags: Holiday +#define ICON_MD_COG "\xf3\xb0\x92\x93" // U+F0493 cog, aliases: settings, gear, tags: Settings +#define ICON_MD_COG_BOX "\xf3\xb0\x92\x94" // U+F0494 cog-box, aliases: gear-box, settings-applications, settings-box, tags: Settings +#define ICON_MD_COG_CLOCKWISE "\xf3\xb1\x87\x9d" // U+F11DD cog-clockwise, tags: Settings +#define ICON_MD_COG_COUNTERCLOCKWISE "\xf3\xb1\x87\x9e" // U+F11DE cog-counterclockwise, tags: Settings +#define ICON_MD_COG_OFF "\xf3\xb1\x8f\x8e" // U+F13CE cog-off, aliases: settings-off, tags: Settings +#define ICON_MD_COG_OFF_OUTLINE "\xf3\xb1\x8f\x8f" // U+F13CF cog-off-outline, aliases: settings-off-outline, tags: Settings +#define ICON_MD_COG_OUTLINE "\xf3\xb0\xa2\xbb" // U+F08BB cog-outline, aliases: gear-outline, settings-outline, tags: Settings +#define ICON_MD_COG_PAUSE "\xf3\xb1\xa4\xb3" // U+F1933 cog-pause, aliases: settings-pause, gear-pause, tags: Settings +#define ICON_MD_COG_PAUSE_OUTLINE "\xf3\xb1\xa4\xb4" // U+F1934 cog-pause-outline, aliases: settings-pause-outline, gear-pause-outline, tags: Settings +#define ICON_MD_COG_PLAY "\xf3\xb1\xa4\xb5" // U+F1935 cog-play, aliases: settings-play, gear-play, tags: Settings +#define ICON_MD_COG_PLAY_OUTLINE "\xf3\xb1\xa4\xb6" // U+F1936 cog-play-outline, aliases: settings-play-outline, gear-play-outline, tags: Settings +#define ICON_MD_COG_REFRESH "\xf3\xb1\x91\x9e" // U+F145E cog-refresh, aliases: settings-refresh, tags: Settings +#define ICON_MD_COG_REFRESH_OUTLINE "\xf3\xb1\x91\x9f" // U+F145F cog-refresh-outline, aliases: settings-refresh-outline, tags: Settings +#define ICON_MD_COG_STOP "\xf3\xb1\xa4\xb7" // U+F1937 cog-stop, aliases: settings-stop, gear-stop, tags: Settings +#define ICON_MD_COG_STOP_OUTLINE "\xf3\xb1\xa4\xb8" // U+F1938 cog-stop-outline, aliases: settings-stop-outline, gear-stop-outline, tags: Settings +#define ICON_MD_COG_SYNC "\xf3\xb1\x91\xa0" // U+F1460 cog-sync, aliases: settings-sync, tags: Settings +#define ICON_MD_COG_SYNC_OUTLINE "\xf3\xb1\x91\xa1" // U+F1461 cog-sync-outline, aliases: settings-sync-outline, tags: Settings +#define ICON_MD_COG_TRANSFER "\xf3\xb1\x81\x9b" // U+F105B cog-transfer, aliases: settings-transfer, tags: Settings +#define ICON_MD_COG_TRANSFER_OUTLINE "\xf3\xb1\x81\x9c" // U+F105C cog-transfer-outline, aliases: settings-transfer-outline, tags: Settings +#define ICON_MD_COGS "\xf3\xb0\xa3\x96" // U+F08D6 cogs, aliases: settings, manufacturing, tags: Settings +#define ICON_MD_COLLAGE "\xf3\xb0\x99\x80" // U+F0640 collage, aliases: auto-awesome-mosaic +#define ICON_MD_COLLAPSE_ALL "\xf3\xb0\xaa\xa6" // U+F0AA6 collapse-all, aliases: animation-minus +#define ICON_MD_COLLAPSE_ALL_OUTLINE "\xf3\xb0\xaa\xa7" // U+F0AA7 collapse-all-outline, aliases: animation-minus-outline +#define ICON_MD_COLOR_HELPER "\xf3\xb0\x85\xb9" // U+F0179 color-helper, aliases: colour-helper, tags: Text / Content / Format, Color +#define ICON_MD_COMMA "\xf3\xb0\xb8\xa3" // U+F0E23 comma +#define ICON_MD_COMMA_BOX "\xf3\xb0\xb8\xab" // U+F0E2B comma-box +#define ICON_MD_COMMA_BOX_OUTLINE "\xf3\xb0\xb8\xa4" // U+F0E24 comma-box-outline +#define ICON_MD_COMMA_CIRCLE "\xf3\xb0\xb8\xa5" // U+F0E25 comma-circle +#define ICON_MD_COMMA_CIRCLE_OUTLINE "\xf3\xb0\xb8\xa6" // U+F0E26 comma-circle-outline +#define ICON_MD_COMMENT "\xf3\xb0\x85\xba" // U+F017A comment +#define ICON_MD_COMMENT_ACCOUNT "\xf3\xb0\x85\xbb" // U+F017B comment-account, aliases: comment-user, comment-person, tags: Account / User +#define ICON_MD_COMMENT_ACCOUNT_OUTLINE \ + "\xf3\xb0\x85\xbc" // U+F017C comment-account-outline, aliases: comment-user-outline, comment-person-outline, tags: + // Account / User +#define ICON_MD_COMMENT_ALERT "\xf3\xb0\x85\xbd" // U+F017D comment-alert, aliases: comment-warning, tags: Alert / Error +#define ICON_MD_COMMENT_ALERT_OUTLINE "\xf3\xb0\x85\xbe" // U+F017E comment-alert-outline, aliases: comment-warning-outline, tags: Alert / Error +#define ICON_MD_COMMENT_ARROW_LEFT "\xf3\xb0\xa7\xa1" // U+F09E1 comment-arrow-left, aliases: comment-previous +#define ICON_MD_COMMENT_ARROW_LEFT_OUTLINE "\xf3\xb0\xa7\xa2" // U+F09E2 comment-arrow-left-outline, aliases: comment-previous-outline +#define ICON_MD_COMMENT_ARROW_RIGHT "\xf3\xb0\xa7\xa3" // U+F09E3 comment-arrow-right, aliases: comment-next +#define ICON_MD_COMMENT_ARROW_RIGHT_OUTLINE "\xf3\xb0\xa7\xa4" // U+F09E4 comment-arrow-right-outline, aliases: comment-next-outline +#define ICON_MD_COMMENT_BOOKMARK "\xf3\xb1\x96\xae" // U+F15AE comment-bookmark +#define ICON_MD_COMMENT_BOOKMARK_OUTLINE "\xf3\xb1\x96\xaf" // U+F15AF comment-bookmark-outline +#define ICON_MD_COMMENT_CHECK "\xf3\xb0\x85\xbf" // U+F017F comment-check, aliases: comment-tick +#define ICON_MD_COMMENT_CHECK_OUTLINE "\xf3\xb0\x86\x80" // U+F0180 comment-check-outline, aliases: comment-tick-outline +#define ICON_MD_COMMENT_EDIT "\xf3\xb1\x86\xbf" // U+F11BF comment-edit, tags: Edit / Modify +#define ICON_MD_COMMENT_EDIT_OUTLINE "\xf3\xb1\x8b\x84" // U+F12C4 comment-edit-outline, tags: Edit / Modify +#define ICON_MD_COMMENT_EYE "\xf3\xb0\xa8\xba" // U+F0A3A comment-eye +#define ICON_MD_COMMENT_EYE_OUTLINE "\xf3\xb0\xa8\xbb" // U+F0A3B comment-eye-outline +#define ICON_MD_COMMENT_FLASH "\xf3\xb1\x96\xb0" // U+F15B0 comment-flash, aliases: comment-quick +#define ICON_MD_COMMENT_FLASH_OUTLINE "\xf3\xb1\x96\xb1" // U+F15B1 comment-flash-outline, aliases: comment-quick-outline +#define ICON_MD_COMMENT_MINUS "\xf3\xb1\x97\x9f" // U+F15DF comment-minus +#define ICON_MD_COMMENT_MINUS_OUTLINE "\xf3\xb1\x97\xa0" // U+F15E0 comment-minus-outline +#define ICON_MD_COMMENT_MULTIPLE "\xf3\xb0\xa1\x9f" // U+F085F comment-multiple, aliases: comments +#define ICON_MD_COMMENT_MULTIPLE_OUTLINE "\xf3\xb0\x86\x81" // U+F0181 comment-multiple-outline, aliases: comments-outline +#define ICON_MD_COMMENT_OFF "\xf3\xb1\x97\xa1" // U+F15E1 comment-off +#define ICON_MD_COMMENT_OFF_OUTLINE "\xf3\xb1\x97\xa2" // U+F15E2 comment-off-outline +#define ICON_MD_COMMENT_OUTLINE "\xf3\xb0\x86\x82" // U+F0182 comment-outline +#define ICON_MD_COMMENT_PLUS "\xf3\xb0\xa7\xa5" // U+F09E5 comment-plus, aliases: comment-add +#define ICON_MD_COMMENT_PLUS_OUTLINE "\xf3\xb0\x86\x83" // U+F0183 comment-plus-outline, aliases: comment-add-outline +#define ICON_MD_COMMENT_PROCESSING "\xf3\xb0\x86\x84" // U+F0184 comment-processing +#define ICON_MD_COMMENT_PROCESSING_OUTLINE "\xf3\xb0\x86\x85" // U+F0185 comment-processing-outline +#define ICON_MD_COMMENT_QUESTION "\xf3\xb0\xa0\x97" // U+F0817 comment-question +#define ICON_MD_COMMENT_QUESTION_OUTLINE "\xf3\xb0\x86\x86" // U+F0186 comment-question-outline +#define ICON_MD_COMMENT_QUOTE "\xf3\xb1\x80\xa1" // U+F1021 comment-quote, aliases: feedback +#define ICON_MD_COMMENT_QUOTE_OUTLINE "\xf3\xb1\x80\xa2" // U+F1022 comment-quote-outline, aliases: feedback-outline +#define ICON_MD_COMMENT_REMOVE "\xf3\xb0\x97\x9e" // U+F05DE comment-remove +#define ICON_MD_COMMENT_REMOVE_OUTLINE "\xf3\xb0\x86\x87" // U+F0187 comment-remove-outline +#define ICON_MD_COMMENT_SEARCH "\xf3\xb0\xa8\xbc" // U+F0A3C comment-search +#define ICON_MD_COMMENT_SEARCH_OUTLINE "\xf3\xb0\xa8\xbd" // U+F0A3D comment-search-outline +#define ICON_MD_COMMENT_TEXT "\xf3\xb0\x86\x88" // U+F0188 comment-text +#define ICON_MD_COMMENT_TEXT_MULTIPLE "\xf3\xb0\xa1\xa0" // U+F0860 comment-text-multiple, aliases: comments-text +#define ICON_MD_COMMENT_TEXT_MULTIPLE_OUTLINE "\xf3\xb0\xa1\xa1" // U+F0861 comment-text-multiple-outline, aliases: comments-text-outline +#define ICON_MD_COMMENT_TEXT_OUTLINE "\xf3\xb0\x86\x89" // U+F0189 comment-text-outline +#define ICON_MD_COMPARE "\xf3\xb0\x86\x8a" // U+F018A compare, aliases: theme-light-dark +#define ICON_MD_COMPARE_HORIZONTAL "\xf3\xb1\x92\x92" // U+F1492 compare-horizontal, tags: Arrow +#define ICON_MD_COMPARE_REMOVE "\xf3\xb1\xa2\xb3" // U+F18B3 compare-remove +#define ICON_MD_COMPARE_VERTICAL "\xf3\xb1\x92\x93" // U+F1493 compare-vertical, tags: Arrow +#define ICON_MD_COMPASS "\xf3\xb0\x86\x8b" // U+F018B compass, aliases: explore, tags: Navigation, Geographic Information System +#define ICON_MD_COMPASS_OFF "\xf3\xb0\xae\x80" // U+F0B80 compass-off, tags: Geographic Information System, Navigation +#define ICON_MD_COMPASS_OFF_OUTLINE "\xf3\xb0\xae\x81" // U+F0B81 compass-off-outline, tags: Geographic Information System, Navigation +#define ICON_MD_COMPASS_OUTLINE "\xf3\xb0\x86\x8c" // U+F018C compass-outline, tags: Navigation, Geographic Information System +#define ICON_MD_COMPASS_ROSE "\xf3\xb1\x8e\x82" // U+F1382 compass-rose, tags: Navigation +#define ICON_MD_COMPOST "\xf3\xb1\xa8\xb8" // U+F1A38 compost, tags: Agriculture, Nature +#define ICON_MD_CONE "\xf3\xb1\xa5\x8c" // U+F194C cone, tags: Shape +#define ICON_MD_CONE_OFF "\xf3\xb1\xa5\x8d" // U+F194D cone-off, tags: Shape +#define ICON_MD_CONNECTION "\xf3\xb1\x98\x96" // U+F1616 connection, aliases: plug, tags: Home Automation +#define ICON_MD_CONSOLE "\xf3\xb0\x86\x8d" // U+F018D console, aliases: terminal +#define ICON_MD_CONSOLE_LINE "\xf3\xb0\x9e\xb7" // U+F07B7 console-line, aliases: terminal-line +#define ICON_MD_CONSOLE_NETWORK "\xf3\xb0\xa2\xa9" // U+F08A9 console-network, aliases: terminal-network +#define ICON_MD_CONSOLE_NETWORK_OUTLINE "\xf3\xb0\xb1\xa0" // U+F0C60 console-network-outline, aliases: terminal-network-outline +#define ICON_MD_CONSOLIDATE "\xf3\xb1\x83\x98" // U+F10D8 consolidate +#define ICON_MD_CONTACTLESS_PAYMENT "\xf3\xb0\xb5\xaa" // U+F0D6A contactless-payment, tags: Currency +#define ICON_MD_CONTACTLESS_PAYMENT_CIRCLE "\xf3\xb0\x8c\xa1" // U+F0321 contactless-payment-circle, tags: Currency +#define ICON_MD_CONTACTLESS_PAYMENT_CIRCLE_OUTLINE "\xf3\xb0\x90\x88" // U+F0408 contactless-payment-circle-outline, tags: Currency +#define ICON_MD_CONTACTS "\xf3\xb0\x9b\x8b" // U+F06CB contacts +#define ICON_MD_CONTACTS_OUTLINE "\xf3\xb0\x96\xb8" // U+F05B8 contacts-outline +#define ICON_MD_CONTAIN "\xf3\xb0\xa8\xbe" // U+F0A3E contain +#define ICON_MD_CONTAIN_END "\xf3\xb0\xa8\xbf" // U+F0A3F contain-end +#define ICON_MD_CONTAIN_START "\xf3\xb0\xa9\x80" // U+F0A40 contain-start +#define ICON_MD_CONTENT_COPY "\xf3\xb0\x86\x8f" // U+F018F content-copy, tags: Text / Content / Format +#define ICON_MD_CONTENT_CUT "\xf3\xb0\x86\x90" // U+F0190 content-cut, aliases: scissors, clip, tags: Health / Beauty, Text / Content / Format +#define ICON_MD_CONTENT_DUPLICATE "\xf3\xb0\x86\x91" // U+F0191 content-duplicate +#define ICON_MD_CONTENT_PASTE "\xf3\xb0\x86\x92" // U+F0192 content-paste, tags: Text / Content / Format +#define ICON_MD_CONTENT_SAVE "\xf3\xb0\x86\x93" // U+F0193 content-save, aliases: floppy-disc, floppy-disk +#define ICON_MD_CONTENT_SAVE_ALERT "\xf3\xb0\xbd\x82" // U+F0F42 content-save-alert, aliases: floppy-disc-alert, tags: Alert / Error +#define ICON_MD_CONTENT_SAVE_ALERT_OUTLINE "\xf3\xb0\xbd\x83" // U+F0F43 content-save-alert-outline, aliases: floppy-disc-alert-outline, tags: Alert / Error +#define ICON_MD_CONTENT_SAVE_ALL "\xf3\xb0\x86\x94" // U+F0194 content-save-all, aliases: floppy-disc-multiple +#define ICON_MD_CONTENT_SAVE_ALL_OUTLINE "\xf3\xb0\xbd\x84" // U+F0F44 content-save-all-outline, aliases: floppy-disc-multiple-outline +#define ICON_MD_CONTENT_SAVE_CHECK "\xf3\xb1\xa3\xaa" // U+F18EA content-save-check +#define ICON_MD_CONTENT_SAVE_CHECK_OUTLINE "\xf3\xb1\xa3\xab" // U+F18EB content-save-check-outline +#define ICON_MD_CONTENT_SAVE_COG "\xf3\xb1\x91\x9b" // U+F145B content-save-cog, aliases: floppy-disc-cog, tags: Settings +#define ICON_MD_CONTENT_SAVE_COG_OUTLINE "\xf3\xb1\x91\x9c" // U+F145C content-save-cog-outline, aliases: floppy-disc-cog-outline, tags: Settings +#define ICON_MD_CONTENT_SAVE_EDIT "\xf3\xb0\xb3\xbb" // U+F0CFB content-save-edit, aliases: floppy-disc-edit, tags: Edit / Modify +#define ICON_MD_CONTENT_SAVE_EDIT_OUTLINE "\xf3\xb0\xb3\xbc" // U+F0CFC content-save-edit-outline, aliases: floppy-disc-edit-outline, tags: Edit / Modify +#define ICON_MD_CONTENT_SAVE_MINUS "\xf3\xb1\xad\x83" // U+F1B43 content-save-minus +#define ICON_MD_CONTENT_SAVE_MINUS_OUTLINE "\xf3\xb1\xad\x84" // U+F1B44 content-save-minus-outline +#define ICON_MD_CONTENT_SAVE_MOVE "\xf3\xb0\xb8\xa7" // U+F0E27 content-save-move, aliases: floppy-disc-move +#define ICON_MD_CONTENT_SAVE_MOVE_OUTLINE "\xf3\xb0\xb8\xa8" // U+F0E28 content-save-move-outline, aliases: floppy-disc-move-outline +#define ICON_MD_CONTENT_SAVE_OFF "\xf3\xb1\x99\x83" // U+F1643 content-save-off +#define ICON_MD_CONTENT_SAVE_OFF_OUTLINE "\xf3\xb1\x99\x84" // U+F1644 content-save-off-outline +#define ICON_MD_CONTENT_SAVE_OUTLINE "\xf3\xb0\xa0\x98" // U+F0818 content-save-outline +#define ICON_MD_CONTENT_SAVE_PLUS "\xf3\xb1\xad\x81" // U+F1B41 content-save-plus, aliases: content-save-add +#define ICON_MD_CONTENT_SAVE_PLUS_OUTLINE "\xf3\xb1\xad\x82" // U+F1B42 content-save-plus-outline, aliases: content-save-add-outline +#define ICON_MD_CONTENT_SAVE_SETTINGS "\xf3\xb0\x98\x9b" // U+F061B content-save-settings, aliases: floppy-disc-settings, tags: Settings +#define ICON_MD_CONTENT_SAVE_SETTINGS_OUTLINE "\xf3\xb0\xac\xae" // U+F0B2E content-save-settings-outline, aliases: floppy-disc-settings-outline, tags: Settings +#define ICON_MD_CONTRAST "\xf3\xb0\x86\x95" // U+F0195 contrast +#define ICON_MD_CONTRAST_BOX "\xf3\xb0\x86\x96" // U+F0196 contrast-box +#define ICON_MD_CONTRAST_CIRCLE "\xf3\xb0\x86\x97" // U+F0197 contrast-circle +#define ICON_MD_CONTROLLER "\xf3\xb0\x8a\xb4" // U+F02B4 controller, aliases: gamepad, tags: Gaming / RPG +#define ICON_MD_CONTROLLER_CLASSIC "\xf3\xb0\xae\x82" // U+F0B82 controller-classic, aliases: gamepad-classic, tags: Gaming / RPG +#define ICON_MD_CONTROLLER_CLASSIC_OUTLINE "\xf3\xb0\xae\x83" // U+F0B83 controller-classic-outline, aliases: gamepad-classic-outline, tags: Gaming / RPG +#define ICON_MD_CONTROLLER_OFF "\xf3\xb0\x8a\xb5" // U+F02B5 controller-off, aliases: gamepad-off, tags: Gaming / RPG +#define ICON_MD_COOKIE "\xf3\xb0\x86\x98" // U+F0198 cookie, aliases: biscuit, tags: Food / Drink +#define ICON_MD_COOKIE_ALERT "\xf3\xb1\x9b\x90" // U+F16D0 cookie-alert, aliases: biscuit-alert, tags: Food / Drink, Alert / Error +#define ICON_MD_COOKIE_ALERT_OUTLINE \ + "\xf3\xb1\x9b\x91" // U+F16D1 cookie-alert-outline, aliases: biscuit-alert-outline, tags: Food / Drink, Alert / + // Error +#define ICON_MD_COOKIE_CHECK "\xf3\xb1\x9b\x92" // U+F16D2 cookie-check, aliases: biscuit-check, tags: Food / Drink +#define ICON_MD_COOKIE_CHECK_OUTLINE "\xf3\xb1\x9b\x93" // U+F16D3 cookie-check-outline, aliases: biscuit-check-outline, tags: Food / Drink +#define ICON_MD_COOKIE_CLOCK "\xf3\xb1\x9b\xa4" // U+F16E4 cookie-clock, aliases: biscuit-clock, tags: Food / Drink, Date / Time +#define ICON_MD_COOKIE_CLOCK_OUTLINE "\xf3\xb1\x9b\xa5" // U+F16E5 cookie-clock-outline, aliases: biscuit-clock-outline, tags: Food / Drink, Date / Time +#define ICON_MD_COOKIE_COG "\xf3\xb1\x9b\x94" // U+F16D4 cookie-cog, aliases: biscuit-cog, tags: Food / Drink +#define ICON_MD_COOKIE_COG_OUTLINE "\xf3\xb1\x9b\x95" // U+F16D5 cookie-cog-outline, aliases: biscuit-cog-outline, tags: Food / Drink +#define ICON_MD_COOKIE_EDIT "\xf3\xb1\x9b\xa6" // U+F16E6 cookie-edit, aliases: biscuit-edit, tags: Food / Drink, Edit / Modify +#define ICON_MD_COOKIE_EDIT_OUTLINE "\xf3\xb1\x9b\xa7" // U+F16E7 cookie-edit-outline, aliases: biscuit-edit-outline, tags: Food / Drink, Edit / Modify +#define ICON_MD_COOKIE_LOCK "\xf3\xb1\x9b\xa8" // U+F16E8 cookie-lock, aliases: biscuit-lock, tags: Food / Drink, Lock +#define ICON_MD_COOKIE_LOCK_OUTLINE "\xf3\xb1\x9b\xa9" // U+F16E9 cookie-lock-outline, aliases: biscuit-lock-outline, tags: Food / Drink, Lock +#define ICON_MD_COOKIE_MINUS "\xf3\xb1\x9b\x9a" // U+F16DA cookie-minus, aliases: biscuit-minus, tags: Food / Drink +#define ICON_MD_COOKIE_MINUS_OUTLINE "\xf3\xb1\x9b\x9b" // U+F16DB cookie-minus-outline, aliases: biscuit-minus-outline, tags: Food / Drink +#define ICON_MD_COOKIE_OFF "\xf3\xb1\x9b\xaa" // U+F16EA cookie-off, aliases: biscuit-off, tags: Food / Drink +#define ICON_MD_COOKIE_OFF_OUTLINE "\xf3\xb1\x9b\xab" // U+F16EB cookie-off-outline, aliases: biscuit-off-outline, tags: Food / Drink +#define ICON_MD_COOKIE_OUTLINE "\xf3\xb1\x9b\x9e" // U+F16DE cookie-outline, aliases: biscuit-outline, tags: Food / Drink +#define ICON_MD_COOKIE_PLUS "\xf3\xb1\x9b\x96" // U+F16D6 cookie-plus, aliases: biscuit-plus, tags: Food / Drink +#define ICON_MD_COOKIE_PLUS_OUTLINE "\xf3\xb1\x9b\x97" // U+F16D7 cookie-plus-outline, aliases: biscuit-plus-outline, tags: Food / Drink +#define ICON_MD_COOKIE_REFRESH "\xf3\xb1\x9b\xac" // U+F16EC cookie-refresh, aliases: biscuit-refresh, tags: Food / Drink +#define ICON_MD_COOKIE_REFRESH_OUTLINE "\xf3\xb1\x9b\xad" // U+F16ED cookie-refresh-outline, aliases: biscuit-refresh-outline, tags: Food / Drink +#define ICON_MD_COOKIE_REMOVE "\xf3\xb1\x9b\x98" // U+F16D8 cookie-remove, aliases: biscuit-remove, tags: Food / Drink +#define ICON_MD_COOKIE_REMOVE_OUTLINE "\xf3\xb1\x9b\x99" // U+F16D9 cookie-remove-outline, aliases: biscuit-remove-outline, tags: Food / Drink +#define ICON_MD_COOKIE_SETTINGS \ + "\xf3\xb1\x9b\x9c" // U+F16DC cookie-settings, aliases: biscuit-settings, cookie-crumbs, biscuit-crumbs, tags: Food + // / Drink, Settings +#define ICON_MD_COOKIE_SETTINGS_OUTLINE \ + "\xf3\xb1\x9b\x9d" // U+F16DD cookie-settings-outline, aliases: biscuit-settings-outline, cookie-crumbs-outline, + // biscuit-crumbs-outline, tags: Food / Drink, Settings +#define ICON_MD_COOLANT_TEMPERATURE "\xf3\xb0\x8f\x88" // U+F03C8 coolant-temperature, tags: Automotive +#define ICON_MD_COPYLEFT "\xf3\xb1\xa4\xb9" // U+F1939 copyleft +#define ICON_MD_COPYRIGHT "\xf3\xb0\x97\xa6" // U+F05E6 copyright +#define ICON_MD_CORDOVA "\xf3\xb0\xa5\x98" // U+F0958 cordova, tags: Brand / Logo, Developer / Languages +#define ICON_MD_CORN "\xf3\xb0\x9e\xb8" // U+F07B8 corn, tags: Agriculture, Food / Drink +#define ICON_MD_CORN_OFF "\xf3\xb1\x8f\xaf" // U+F13EF corn-off, tags: Food / Drink, Agriculture +#define ICON_MD_COSINE_WAVE "\xf3\xb1\x91\xb9" // U+F1479 cosine-wave, aliases: frequency, amplitude, tags: Audio +#define ICON_MD_COUNTER "\xf3\xb0\x86\x99" // U+F0199 counter, aliases: score, numbers, odometer, tags: Automotive +#define ICON_MD_COUNTERTOP "\xf3\xb1\xa0\x9c" // U+F181C countertop, aliases: kitchen-counter, sink, tags: Home Automation +#define ICON_MD_COUNTERTOP_OUTLINE \ + "\xf3\xb1\xa0\x9d" // U+F181D countertop-outline, aliases: kitchen-counter-outline, sink-outline, tags: Home + // Automation +#define ICON_MD_COW "\xf3\xb0\x86\x9a" // U+F019A cow, aliases: emoji-cow, emoticon-cow, tags: Animal, Agriculture +#define ICON_MD_COW_OFF "\xf3\xb1\xa3\xbc" // U+F18FC cow-off, aliases: dairy-off, dairy-free, tags: Food / Drink, Agriculture, Animal +#define ICON_MD_CPU_32_BIT "\xf3\xb0\xbb\x9f" // U+F0EDF cpu-32-bit, aliases: chip-32-bit +#define ICON_MD_CPU_64_BIT "\xf3\xb0\xbb\xa0" // U+F0EE0 cpu-64-bit, aliases: chip-64-bit +#define ICON_MD_CRADLE \ + "\xf3\xb1\xa6\x8b" // U+F198B cradle, aliases: crib, bassinet, baby, nursery, baby-room, tags: People / Family, Home + // Automation +#define ICON_MD_CRADLE_OUTLINE \ + "\xf3\xb1\xa6\x91" // U+F1991 cradle-outline, aliases: bassinet, crib, baby, nursery-outline, baby-room-outline, + // tags: People / Family, Home Automation +#define ICON_MD_CRANE "\xf3\xb0\xa1\xa2" // U+F0862 crane +#define ICON_MD_CREATION "\xf3\xb0\x99\xb4" // U+F0674 creation, aliases: auto-awesome +#define ICON_MD_CREATIVE_COMMONS "\xf3\xb0\xb5\xab" // U+F0D6B creative-commons, tags: Brand / Logo +#define ICON_MD_CREDIT_CARD "\xf3\xb0\xbf\xaf" // U+F0FEF credit-card, tags: Banking, Currency +#define ICON_MD_CREDIT_CARD_CHECK "\xf3\xb1\x8f\x90" // U+F13D0 credit-card-check, tags: Banking +#define ICON_MD_CREDIT_CARD_CHECK_OUTLINE "\xf3\xb1\x8f\x91" // U+F13D1 credit-card-check-outline, tags: Banking +#define ICON_MD_CREDIT_CARD_CHIP "\xf3\xb1\xa4\x8f" // U+F190F credit-card-chip, aliases: credit-card-icc-chip, tags: Banking +#define ICON_MD_CREDIT_CARD_CHIP_OUTLINE "\xf3\xb1\xa4\x90" // U+F1910 credit-card-chip-outline, aliases: credit-card-icc-chip-outline, tags: Banking +#define ICON_MD_CREDIT_CARD_CLOCK "\xf3\xb0\xbb\xa1" // U+F0EE1 credit-card-clock, tags: Banking, Date / Time +#define ICON_MD_CREDIT_CARD_CLOCK_OUTLINE "\xf3\xb0\xbb\xa2" // U+F0EE2 credit-card-clock-outline, tags: Banking, Date / Time +#define ICON_MD_CREDIT_CARD_EDIT "\xf3\xb1\x9f\x97" // U+F17D7 credit-card-edit, tags: Edit / Modify, Banking +#define ICON_MD_CREDIT_CARD_EDIT_OUTLINE "\xf3\xb1\x9f\x98" // U+F17D8 credit-card-edit-outline, tags: Edit / Modify, Banking +#define ICON_MD_CREDIT_CARD_FAST "\xf3\xb1\xa4\x91" // U+F1911 credit-card-fast, aliases: credit-card-swipe, tags: Banking +#define ICON_MD_CREDIT_CARD_FAST_OUTLINE "\xf3\xb1\xa4\x92" // U+F1912 credit-card-fast-outline, aliases: credit-card-swipe-outline, tags: Banking +#define ICON_MD_CREDIT_CARD_LOCK "\xf3\xb1\xa3\xa7" // U+F18E7 credit-card-lock, tags: Banking, Lock +#define ICON_MD_CREDIT_CARD_LOCK_OUTLINE "\xf3\xb1\xa3\xa8" // U+F18E8 credit-card-lock-outline, tags: Banking, Lock +#define ICON_MD_CREDIT_CARD_MARKER \ + "\xf3\xb0\x9a\xa8" // U+F06A8 credit-card-marker, aliases: credit-card-location, payment-on-delivery, tags: Banking, + // Navigation +#define ICON_MD_CREDIT_CARD_MARKER_OUTLINE \ + "\xf3\xb0\xb6\xbe" // U+F0DBE credit-card-marker-outline, aliases: cod, payment-on-delivery-outline, + // credit-card-location-outline, tags: Banking, Navigation +#define ICON_MD_CREDIT_CARD_MINUS "\xf3\xb0\xbe\xac" // U+F0FAC credit-card-minus, tags: Banking +#define ICON_MD_CREDIT_CARD_MINUS_OUTLINE "\xf3\xb0\xbe\xad" // U+F0FAD credit-card-minus-outline, tags: Banking +#define ICON_MD_CREDIT_CARD_MULTIPLE "\xf3\xb0\xbf\xb0" // U+F0FF0 credit-card-multiple, tags: Banking +#define ICON_MD_CREDIT_CARD_MULTIPLE_OUTLINE "\xf3\xb0\x86\x9c" // U+F019C credit-card-multiple-outline, aliases: credit-cards, tags: Banking +#define ICON_MD_CREDIT_CARD_OFF "\xf3\xb0\xbf\xb1" // U+F0FF1 credit-card-off, tags: Banking +#define ICON_MD_CREDIT_CARD_OFF_OUTLINE "\xf3\xb0\x97\xa4" // U+F05E4 credit-card-off-outline, tags: Banking +#define ICON_MD_CREDIT_CARD_OUTLINE "\xf3\xb0\x86\x9b" // U+F019B credit-card-outline, aliases: payment, tags: Shopping, Banking, Currency +#define ICON_MD_CREDIT_CARD_PLUS "\xf3\xb0\xbf\xb2" // U+F0FF2 credit-card-plus, tags: Banking +#define ICON_MD_CREDIT_CARD_PLUS_OUTLINE "\xf3\xb0\x99\xb6" // U+F0676 credit-card-plus-outline, aliases: credit-card-add, tags: Banking +#define ICON_MD_CREDIT_CARD_REFRESH "\xf3\xb1\x99\x85" // U+F1645 credit-card-refresh, tags: Banking +#define ICON_MD_CREDIT_CARD_REFRESH_OUTLINE "\xf3\xb1\x99\x86" // U+F1646 credit-card-refresh-outline, tags: Banking +#define ICON_MD_CREDIT_CARD_REFUND "\xf3\xb0\xbf\xb3" // U+F0FF3 credit-card-refund, tags: Banking +#define ICON_MD_CREDIT_CARD_REFUND_OUTLINE "\xf3\xb0\xaa\xa8" // U+F0AA8 credit-card-refund-outline, tags: Banking +#define ICON_MD_CREDIT_CARD_REMOVE "\xf3\xb0\xbe\xae" // U+F0FAE credit-card-remove, tags: Banking +#define ICON_MD_CREDIT_CARD_REMOVE_OUTLINE "\xf3\xb0\xbe\xaf" // U+F0FAF credit-card-remove-outline, tags: Banking +#define ICON_MD_CREDIT_CARD_SCAN "\xf3\xb0\xbf\xb4" // U+F0FF4 credit-card-scan, tags: Banking +#define ICON_MD_CREDIT_CARD_SCAN_OUTLINE "\xf3\xb0\x86\x9d" // U+F019D credit-card-scan-outline, tags: Banking +#define ICON_MD_CREDIT_CARD_SEARCH "\xf3\xb1\x99\x87" // U+F1647 credit-card-search, tags: Banking +#define ICON_MD_CREDIT_CARD_SEARCH_OUTLINE "\xf3\xb1\x99\x88" // U+F1648 credit-card-search-outline, tags: Banking +#define ICON_MD_CREDIT_CARD_SETTINGS "\xf3\xb0\xbf\xb5" // U+F0FF5 credit-card-settings, tags: Banking, Settings +#define ICON_MD_CREDIT_CARD_SETTINGS_OUTLINE "\xf3\xb0\xa3\x97" // U+F08D7 credit-card-settings-outline, aliases: payment-settings, tags: Banking, Settings +#define ICON_MD_CREDIT_CARD_SYNC "\xf3\xb1\x99\x89" // U+F1649 credit-card-sync, tags: Banking +#define ICON_MD_CREDIT_CARD_SYNC_OUTLINE "\xf3\xb1\x99\x8a" // U+F164A credit-card-sync-outline, tags: Banking +#define ICON_MD_CREDIT_CARD_WIRELESS "\xf3\xb0\xa0\x82" // U+F0802 credit-card-wireless, tags: Currency, Banking +#define ICON_MD_CREDIT_CARD_WIRELESS_OFF "\xf3\xb0\x95\xba" // U+F057A credit-card-wireless-off, tags: Banking +#define ICON_MD_CREDIT_CARD_WIRELESS_OFF_OUTLINE "\xf3\xb0\x95\xbb" // U+F057B credit-card-wireless-off-outline, tags: Banking +#define ICON_MD_CREDIT_CARD_WIRELESS_OUTLINE \ + "\xf3\xb0\xb5\xac" // U+F0D6C credit-card-wireless-outline, aliases: credit-card-contactless, tags: Currency, + // Banking +#define ICON_MD_CRICKET "\xf3\xb0\xb5\xad" // U+F0D6D cricket, aliases: cricket-bat, tags: Sport +#define ICON_MD_CROP "\xf3\xb0\x86\x9e" // U+F019E crop +#define ICON_MD_CROP_FREE "\xf3\xb0\x86\x9f" // U+F019F crop-free +#define ICON_MD_CROP_LANDSCAPE "\xf3\xb0\x86\xa0" // U+F01A0 crop-landscape, aliases: crop-5-4 +#define ICON_MD_CROP_PORTRAIT "\xf3\xb0\x86\xa1" // U+F01A1 crop-portrait +#define ICON_MD_CROP_ROTATE "\xf3\xb0\x9a\x96" // U+F0696 crop-rotate +#define ICON_MD_CROP_SQUARE "\xf3\xb0\x86\xa2" // U+F01A2 crop-square +#define ICON_MD_CROSS "\xf3\xb0\xa5\x93" // U+F0953 cross, aliases: christianity, religion-christian, tags: Religion, Holiday +#define ICON_MD_CROSS_BOLNISI "\xf3\xb0\xb3\xad" // U+F0CED cross-bolnisi, tags: Religion +#define ICON_MD_CROSS_CELTIC "\xf3\xb0\xb3\xb5" // U+F0CF5 cross-celtic, tags: Religion, Holiday +#define ICON_MD_CROSS_OUTLINE \ + "\xf3\xb0\xb3\xb6" // U+F0CF6 cross-outline, aliases: religion-christian-outline, christianity-outline, tags: + // Religion +#define ICON_MD_CROSSHAIRS \ + "\xf3\xb0\x86\xa3" // U+F01A3 crosshairs, aliases: gps-not-fixed, location-searching, tags: Geographic Information + // System +#define ICON_MD_CROSSHAIRS_GPS \ + "\xf3\xb0\x86\xa4" // U+F01A4 crosshairs-gps, aliases: gps-fixed, my-location, tags: Navigation, Geographic + // Information System +#define ICON_MD_CROSSHAIRS_OFF "\xf3\xb0\xbd\x85" // U+F0F45 crosshairs-off, tags: Geographic Information System +#define ICON_MD_CROSSHAIRS_QUESTION \ + "\xf3\xb1\x84\xb6" // U+F1136 crosshairs-question, aliases: crosshairs-unknown, gps-unknown, tags: Navigation, + // Geographic Information System +#define ICON_MD_CROWD \ + "\xf3\xb1\xa5\xb5" // U+F1975 crowd, aliases: family, crowd-source, crowdsource, tags: Account / User, People / + // Family +#define ICON_MD_CROWN "\xf3\xb0\x86\xa5" // U+F01A5 crown +#define ICON_MD_CROWN_CIRCLE "\xf3\xb1\x9f\x9c" // U+F17DC crown-circle, aliases: checkers, tags: Gaming / RPG +#define ICON_MD_CROWN_CIRCLE_OUTLINE "\xf3\xb1\x9f\x9d" // U+F17DD crown-circle-outline, aliases: checkers-outline, tags: Gaming / RPG +#define ICON_MD_CROWN_OUTLINE "\xf3\xb1\x87\x90" // U+F11D0 crown-outline +#define ICON_MD_CRYENGINE "\xf3\xb0\xa5\x99" // U+F0959 cryengine, tags: Brand / Logo +#define ICON_MD_CRYSTAL_BALL "\xf3\xb0\xac\xaf" // U+F0B2F crystal-ball, tags: Gaming / RPG +#define ICON_MD_CUBE "\xf3\xb0\x86\xa6" // U+F01A6 cube, tags: Shape +#define ICON_MD_CUBE_OFF "\xf3\xb1\x90\x9c" // U+F141C cube-off +#define ICON_MD_CUBE_OFF_OUTLINE "\xf3\xb1\x90\x9d" // U+F141D cube-off-outline, aliases: sugar-off, sugar-cube-off, sugar-free, tags: Food / Drink +#define ICON_MD_CUBE_OUTLINE "\xf3\xb0\x86\xa7" // U+F01A7 cube-outline, aliases: sugar, sugar-cube, tags: Shape, Food / Drink +#define ICON_MD_CUBE_SCAN "\xf3\xb0\xae\x84" // U+F0B84 cube-scan, aliases: view-in-ar, view-in-augmented-reality +#define ICON_MD_CUBE_SEND "\xf3\xb0\x86\xa8" // U+F01A8 cube-send +#define ICON_MD_CUBE_UNFOLDED "\xf3\xb0\x86\xa9" // U+F01A9 cube-unfolded +#define ICON_MD_CUP "\xf3\xb0\x86\xaa" // U+F01AA cup, aliases: glass, drink, tags: Food / Drink +#define ICON_MD_CUP_OFF "\xf3\xb0\x97\xa5" // U+F05E5 cup-off, aliases: glass-off, drink-off, tags: Food / Drink +#define ICON_MD_CUP_OFF_OUTLINE "\xf3\xb1\x8d\xbd" // U+F137D cup-off-outline, aliases: glass-off-outline, drink-off-outline, tags: Food / Drink +#define ICON_MD_CUP_OUTLINE "\xf3\xb1\x8c\x8f" // U+F130F cup-outline, aliases: glass-outline, drink-outline, tags: Food / Drink +#define ICON_MD_CUP_WATER \ + "\xf3\xb0\x86\xab" // U+F01AB cup-water, aliases: local-drink, glass-water, drink-water, cup-liquid, glass-liquid, + // tags: Food / Drink +#define ICON_MD_CUPBOARD "\xf3\xb0\xbd\x86" // U+F0F46 cupboard, tags: Home Automation +#define ICON_MD_CUPBOARD_OUTLINE "\xf3\xb0\xbd\x87" // U+F0F47 cupboard-outline, tags: Home Automation +#define ICON_MD_CUPCAKE "\xf3\xb0\xa5\x9a" // U+F095A cupcake, tags: Food / Drink +#define ICON_MD_CURLING "\xf3\xb0\xa1\xa3" // U+F0863 curling, tags: Sport +#define ICON_MD_CURRENCY_BDT "\xf3\xb0\xa1\xa4" // U+F0864 currency-bdt, aliases: taka, bangladeshi-taka, tags: Banking, Currency +#define ICON_MD_CURRENCY_BRL "\xf3\xb0\xae\x85" // U+F0B85 currency-brl, aliases: brazilian-real, tags: Banking, Currency +#define ICON_MD_CURRENCY_BTC "\xf3\xb0\x86\xac" // U+F01AC currency-btc, aliases: bitcoin, tags: Currency, Banking +#define ICON_MD_CURRENCY_CNY "\xf3\xb0\x9e\xba" // U+F07BA currency-cny, aliases: yuan, renminbi, tags: Currency, Banking +#define ICON_MD_CURRENCY_ETH "\xf3\xb0\x9e\xbb" // U+F07BB currency-eth, aliases: ethereum, xi, tags: Currency, Banking +#define ICON_MD_CURRENCY_EUR "\xf3\xb0\x86\xad" // U+F01AD currency-eur, aliases: euro, euro-symbol, tags: Currency, Banking +#define ICON_MD_CURRENCY_EUR_OFF "\xf3\xb1\x8c\x95" // U+F1315 currency-eur-off, tags: Currency, Banking +#define ICON_MD_CURRENCY_FRA "\xf3\xb1\xa8\xb9" // U+F1A39 currency-fra, tags: Currency, Banking +#define ICON_MD_CURRENCY_GBP "\xf3\xb0\x86\xae" // U+F01AE currency-gbp, aliases: pound, sterling, tags: Currency, Banking +#define ICON_MD_CURRENCY_ILS "\xf3\xb0\xb1\xa1" // U+F0C61 currency-ils, tags: Banking, Currency +#define ICON_MD_CURRENCY_INR "\xf3\xb0\x86\xaf" // U+F01AF currency-inr, aliases: rupee, tags: Currency, Banking +#define ICON_MD_CURRENCY_JPY "\xf3\xb0\x9e\xbc" // U+F07BC currency-jpy, aliases: yen, tags: Currency, Banking +#define ICON_MD_CURRENCY_KRW "\xf3\xb0\x9e\xbd" // U+F07BD currency-krw, aliases: won, tags: Currency, Banking +#define ICON_MD_CURRENCY_KZT "\xf3\xb0\xa1\xa5" // U+F0865 currency-kzt, aliases: kazakhstani-tenge, tags: Banking, Currency +#define ICON_MD_CURRENCY_MNT "\xf3\xb1\x94\x92" // U+F1512 currency-mnt, aliases: currency-mongolian-tugrug, tags: Currency, Banking +#define ICON_MD_CURRENCY_NGN "\xf3\xb0\x86\xb0" // U+F01B0 currency-ngn, aliases: naira, tags: Currency, Banking +#define ICON_MD_CURRENCY_PHP "\xf3\xb0\xa7\xa6" // U+F09E6 currency-php, aliases: philippine-peso, tags: Banking, Currency +#define ICON_MD_CURRENCY_RIAL \ + "\xf3\xb0\xba\x9c" // U+F0E9C currency-rial, aliases: currency-riyal, currency-irr, currency-omr, currency-yer, + // currency-sar, tags: Currency, Banking +#define ICON_MD_CURRENCY_RUB "\xf3\xb0\x86\xb1" // U+F01B1 currency-rub, aliases: ruble, tags: Currency, Banking +#define ICON_MD_CURRENCY_RUPEE \ + "\xf3\xb1\xa5\xb6" // U+F1976 currency-rupee, aliases: currency-npr, currency-pkr, currency-lkr, currency-inr, tags: + // Banking, Currency +#define ICON_MD_CURRENCY_SIGN "\xf3\xb0\x9e\xbe" // U+F07BE currency-sign, aliases: currency-scarab, tags: Currency, Banking +#define ICON_MD_CURRENCY_TRY "\xf3\xb0\x86\xb2" // U+F01B2 currency-try, aliases: lira, tags: Currency, Banking +#define ICON_MD_CURRENCY_TWD "\xf3\xb0\x9e\xbf" // U+F07BF currency-twd, aliases: new-taiwan-dollar, tags: Currency, Banking +#define ICON_MD_CURRENCY_UAH "\xf3\xb1\xae\x9b" // U+F1B9B currency-uah, aliases: currency-hryvnia, currency-ukraine, tags: Banking +#define ICON_MD_CURRENCY_USD "\xf3\xb0\x87\x81" // U+F01C1 currency-usd, aliases: attach-money, dollar, tags: Currency, Banking +#define ICON_MD_CURRENCY_USD_OFF "\xf3\xb0\x99\xba" // U+F067A currency-usd-off, aliases: money-off, dollar-off, tags: Currency, Banking +#define ICON_MD_CURRENT_AC "\xf3\xb1\x92\x80" // U+F1480 current-ac, aliases: alternating-current +#define ICON_MD_CURRENT_DC "\xf3\xb0\xa5\x9c" // U+F095C current-dc, aliases: direct-current, tags: Battery +#define ICON_MD_CURSOR_DEFAULT "\xf3\xb0\x87\x80" // U+F01C0 cursor-default +#define ICON_MD_CURSOR_DEFAULT_CLICK "\xf3\xb0\xb3\xbd" // U+F0CFD cursor-default-click +#define ICON_MD_CURSOR_DEFAULT_CLICK_OUTLINE "\xf3\xb0\xb3\xbe" // U+F0CFE cursor-default-click-outline +#define ICON_MD_CURSOR_DEFAULT_GESTURE "\xf3\xb1\x84\xa7" // U+F1127 cursor-default-gesture +#define ICON_MD_CURSOR_DEFAULT_GESTURE_OUTLINE "\xf3\xb1\x84\xa8" // U+F1128 cursor-default-gesture-outline +#define ICON_MD_CURSOR_DEFAULT_OUTLINE "\xf3\xb0\x86\xbf" // U+F01BF cursor-default-outline +#define ICON_MD_CURSOR_MOVE "\xf3\xb0\x86\xbe" // U+F01BE cursor-move +#define ICON_MD_CURSOR_POINTER "\xf3\xb0\x86\xbd" // U+F01BD cursor-pointer, aliases: cursor-hand +#define ICON_MD_CURSOR_TEXT "\xf3\xb0\x97\xa7" // U+F05E7 cursor-text +#define ICON_MD_CURTAINS "\xf3\xb1\xa1\x86" // U+F1846 curtains, aliases: drapes, window, tags: Home Automation +#define ICON_MD_CURTAINS_CLOSED "\xf3\xb1\xa1\x87" // U+F1847 curtains-closed, aliases: drapes-closed, window-closed, tags: Home Automation +#define ICON_MD_CYLINDER "\xf3\xb1\xa5\x8e" // U+F194E cylinder, tags: Shape +#define ICON_MD_CYLINDER_OFF "\xf3\xb1\xa5\x8f" // U+F194F cylinder-off, tags: Shape +#define ICON_MD_DANCE_BALLROOM "\xf3\xb1\x97\xbb" // U+F15FB dance-ballroom, aliases: human-dance-ballroom, tags: People / Family +#define ICON_MD_DANCE_POLE "\xf3\xb1\x95\xb8" // U+F1578 dance-pole, aliases: kho-kho, human-dance-pole, tags: Sport, People / Family +#define ICON_MD_DATA_MATRIX "\xf3\xb1\x94\xbc" // U+F153C data-matrix +#define ICON_MD_DATA_MATRIX_EDIT "\xf3\xb1\x94\xbd" // U+F153D data-matrix-edit, tags: Edit / Modify +#define ICON_MD_DATA_MATRIX_MINUS "\xf3\xb1\x94\xbe" // U+F153E data-matrix-minus +#define ICON_MD_DATA_MATRIX_PLUS "\xf3\xb1\x94\xbf" // U+F153F data-matrix-plus +#define ICON_MD_DATA_MATRIX_REMOVE "\xf3\xb1\x95\x80" // U+F1540 data-matrix-remove +#define ICON_MD_DATA_MATRIX_SCAN "\xf3\xb1\x95\x81" // U+F1541 data-matrix-scan +#define ICON_MD_DATABASE "\xf3\xb0\x86\xbc" // U+F01BC database, aliases: storage, tags: Geographic Information System, Database +#define ICON_MD_DATABASE_ALERT "\xf3\xb1\x98\xba" // U+F163A database-alert, tags: Database, Alert / Error +#define ICON_MD_DATABASE_ALERT_OUTLINE "\xf3\xb1\x98\xa4" // U+F1624 database-alert-outline, tags: Database, Alert / Error +#define ICON_MD_DATABASE_ARROW_DOWN "\xf3\xb1\x98\xbb" // U+F163B database-arrow-down, tags: Database +#define ICON_MD_DATABASE_ARROW_DOWN_OUTLINE "\xf3\xb1\x98\xa5" // U+F1625 database-arrow-down-outline, tags: Database +#define ICON_MD_DATABASE_ARROW_LEFT "\xf3\xb1\x98\xbc" // U+F163C database-arrow-left, tags: Database +#define ICON_MD_DATABASE_ARROW_LEFT_OUTLINE "\xf3\xb1\x98\xa6" // U+F1626 database-arrow-left-outline, tags: Database +#define ICON_MD_DATABASE_ARROW_RIGHT "\xf3\xb1\x98\xbd" // U+F163D database-arrow-right, tags: Database +#define ICON_MD_DATABASE_ARROW_RIGHT_OUTLINE "\xf3\xb1\x98\xa7" // U+F1627 database-arrow-right-outline, tags: Database +#define ICON_MD_DATABASE_ARROW_UP "\xf3\xb1\x98\xbe" // U+F163E database-arrow-up, tags: Database +#define ICON_MD_DATABASE_ARROW_UP_OUTLINE "\xf3\xb1\x98\xa8" // U+F1628 database-arrow-up-outline, tags: Database +#define ICON_MD_DATABASE_CHECK "\xf3\xb0\xaa\xa9" // U+F0AA9 database-check, aliases: database-tick, tags: Geographic Information System, Database +#define ICON_MD_DATABASE_CHECK_OUTLINE "\xf3\xb1\x98\xa9" // U+F1629 database-check-outline, tags: Database +#define ICON_MD_DATABASE_CLOCK "\xf3\xb1\x98\xbf" // U+F163F database-clock, tags: Database, Date / Time +#define ICON_MD_DATABASE_CLOCK_OUTLINE "\xf3\xb1\x98\xaa" // U+F162A database-clock-outline, tags: Database, Date / Time +#define ICON_MD_DATABASE_COG "\xf3\xb1\x99\x8b" // U+F164B database-cog, tags: Database +#define ICON_MD_DATABASE_COG_OUTLINE "\xf3\xb1\x99\x8c" // U+F164C database-cog-outline, tags: Database +#define ICON_MD_DATABASE_EDIT "\xf3\xb0\xae\x86" // U+F0B86 database-edit, tags: Edit / Modify, Geographic Information System, Database +#define ICON_MD_DATABASE_EDIT_OUTLINE "\xf3\xb1\x98\xab" // U+F162B database-edit-outline, tags: Database, Edit / Modify +#define ICON_MD_DATABASE_EXPORT "\xf3\xb0\xa5\x9e" // U+F095E database-export, tags: Geographic Information System, Database +#define ICON_MD_DATABASE_EXPORT_OUTLINE "\xf3\xb1\x98\xac" // U+F162C database-export-outline, tags: Database +#define ICON_MD_DATABASE_EYE "\xf3\xb1\xa4\x9f" // U+F191F database-eye, aliases: database-view, tags: Database +#define ICON_MD_DATABASE_EYE_OFF "\xf3\xb1\xa4\xa0" // U+F1920 database-eye-off, aliases: database-view-off, tags: Database +#define ICON_MD_DATABASE_EYE_OFF_OUTLINE "\xf3\xb1\xa4\xa1" // U+F1921 database-eye-off-outline, aliases: database-view-off-outline, tags: Database +#define ICON_MD_DATABASE_EYE_OUTLINE "\xf3\xb1\xa4\xa2" // U+F1922 database-eye-outline, aliases: database-view-outline, tags: Database +#define ICON_MD_DATABASE_IMPORT "\xf3\xb0\xa5\x9d" // U+F095D database-import, tags: Geographic Information System, Database +#define ICON_MD_DATABASE_IMPORT_OUTLINE "\xf3\xb1\x98\xad" // U+F162D database-import-outline, tags: Database +#define ICON_MD_DATABASE_LOCK "\xf3\xb0\xaa\xaa" // U+F0AAA database-lock, tags: Lock, Geographic Information System, Database +#define ICON_MD_DATABASE_LOCK_OUTLINE "\xf3\xb1\x98\xae" // U+F162E database-lock-outline, tags: Database, Lock +#define ICON_MD_DATABASE_MARKER \ + "\xf3\xb1\x8b\xb6" // U+F12F6 database-marker, aliases: database-location, tags: Geographic Information System, + // Database, Navigation +#define ICON_MD_DATABASE_MARKER_OUTLINE \ + "\xf3\xb1\x98\xaf" // U+F162F database-marker-outline, aliases: database-location-outline, tags: Database, + // Navigation +#define ICON_MD_DATABASE_MINUS "\xf3\xb0\x86\xbb" // U+F01BB database-minus, tags: Geographic Information System, Database +#define ICON_MD_DATABASE_MINUS_OUTLINE "\xf3\xb1\x98\xb0" // U+F1630 database-minus-outline, tags: Database +#define ICON_MD_DATABASE_OFF "\xf3\xb1\x99\x80" // U+F1640 database-off, tags: Database +#define ICON_MD_DATABASE_OFF_OUTLINE "\xf3\xb1\x98\xb1" // U+F1631 database-off-outline, tags: Database +#define ICON_MD_DATABASE_OUTLINE "\xf3\xb1\x98\xb2" // U+F1632 database-outline, tags: Database +#define ICON_MD_DATABASE_PLUS "\xf3\xb0\x86\xba" // U+F01BA database-plus, aliases: database-add, tags: Geographic Information System, Database +#define ICON_MD_DATABASE_PLUS_OUTLINE "\xf3\xb1\x98\xb3" // U+F1633 database-plus-outline, tags: Database +#define ICON_MD_DATABASE_REFRESH "\xf3\xb0\x97\x82" // U+F05C2 database-refresh, tags: Database +#define ICON_MD_DATABASE_REFRESH_OUTLINE "\xf3\xb1\x98\xb4" // U+F1634 database-refresh-outline, tags: Database +#define ICON_MD_DATABASE_REMOVE "\xf3\xb0\xb4\x80" // U+F0D00 database-remove, tags: Geographic Information System, Database +#define ICON_MD_DATABASE_REMOVE_OUTLINE "\xf3\xb1\x98\xb5" // U+F1635 database-remove-outline, tags: Database +#define ICON_MD_DATABASE_SEARCH "\xf3\xb0\xa1\xa6" // U+F0866 database-search, aliases: sql-query, tags: Geographic Information System, Database +#define ICON_MD_DATABASE_SEARCH_OUTLINE "\xf3\xb1\x98\xb6" // U+F1636 database-search-outline, tags: Database +#define ICON_MD_DATABASE_SETTINGS "\xf3\xb0\xb4\x81" // U+F0D01 database-settings, tags: Settings, Geographic Information System, Database +#define ICON_MD_DATABASE_SETTINGS_OUTLINE "\xf3\xb1\x98\xb7" // U+F1637 database-settings-outline, tags: Database, Settings +#define ICON_MD_DATABASE_SYNC "\xf3\xb0\xb3\xbf" // U+F0CFF database-sync, tags: Geographic Information System, Database +#define ICON_MD_DATABASE_SYNC_OUTLINE "\xf3\xb1\x98\xb8" // U+F1638 database-sync-outline, tags: Database +#define ICON_MD_DEATH_STAR "\xf3\xb0\xa3\x98" // U+F08D8 death-star +#define ICON_MD_DEATH_STAR_VARIANT "\xf3\xb0\xa3\x99" // U+F08D9 death-star-variant +#define ICON_MD_DEATHLY_HALLOWS "\xf3\xb0\xae\x87" // U+F0B87 deathly-hallows, aliases: harry-potter +#define ICON_MD_DEBIAN "\xf3\xb0\xa3\x9a" // U+F08DA debian, tags: Brand / Logo +#define ICON_MD_DEBUG_STEP_INTO "\xf3\xb0\x86\xb9" // U+F01B9 debug-step-into +#define ICON_MD_DEBUG_STEP_OUT "\xf3\xb0\x86\xb8" // U+F01B8 debug-step-out +#define ICON_MD_DEBUG_STEP_OVER "\xf3\xb0\x86\xb7" // U+F01B7 debug-step-over, aliases: skip, jump +#define ICON_MD_DECAGRAM "\xf3\xb0\x9d\xac" // U+F076C decagram, aliases: starburst, tags: Shape +#define ICON_MD_DECAGRAM_OUTLINE "\xf3\xb0\x9d\xad" // U+F076D decagram-outline, aliases: starburst-outline, tags: Shape +#define ICON_MD_DECIMAL "\xf3\xb1\x82\xa1" // U+F10A1 decimal, tags: Math +#define ICON_MD_DECIMAL_COMMA "\xf3\xb1\x82\xa2" // U+F10A2 decimal-comma, tags: Math +#define ICON_MD_DECIMAL_COMMA_DECREASE "\xf3\xb1\x82\xa3" // U+F10A3 decimal-comma-decrease, tags: Math +#define ICON_MD_DECIMAL_COMMA_INCREASE "\xf3\xb1\x82\xa4" // U+F10A4 decimal-comma-increase, tags: Math +#define ICON_MD_DECIMAL_DECREASE "\xf3\xb0\x86\xb6" // U+F01B6 decimal-decrease, tags: Math +#define ICON_MD_DECIMAL_INCREASE "\xf3\xb0\x86\xb5" // U+F01B5 decimal-increase, tags: Math +#define ICON_MD_DELETE "\xf3\xb0\x86\xb4" // U+F01B4 delete, aliases: trash, bin, rubbish, garbage, rubbish-bin, trash-can, garbage-can +#define ICON_MD_DELETE_ALERT "\xf3\xb1\x82\xa5" // U+F10A5 delete-alert, tags: Alert / Error +#define ICON_MD_DELETE_ALERT_OUTLINE "\xf3\xb1\x82\xa6" // U+F10A6 delete-alert-outline, tags: Alert / Error +#define ICON_MD_DELETE_CIRCLE \ + "\xf3\xb0\x9a\x83" // U+F0683 delete-circle, aliases: trash-circle, bin-circle, garbage-can-circle, garbage-circle, + // rubbish-bin-circle, rubbish-circle, trash-can-circle +#define ICON_MD_DELETE_CIRCLE_OUTLINE \ + "\xf3\xb0\xae\x88" // U+F0B88 delete-circle-outline, aliases: bin-circle-outline, garbage-can-circle-outline, + // garbage-circle-outline, rubbish-bin-circle-outline, rubbish-circle-outline, + // trash-can-circle-outline, trash-circle-outline +#define ICON_MD_DELETE_CLOCK "\xf3\xb1\x95\x96" // U+F1556 delete-clock, tags: Date / Time +#define ICON_MD_DELETE_CLOCK_OUTLINE "\xf3\xb1\x95\x97" // U+F1557 delete-clock-outline, tags: Date / Time +#define ICON_MD_DELETE_EMPTY \ + "\xf3\xb0\x9b\x8c" // U+F06CC delete-empty, aliases: trash-empty, bin-empty, rubbish-empty, rubbish-bin-empty, + // trash-can-empty, garbage-empty, garbage-can-empty +#define ICON_MD_DELETE_EMPTY_OUTLINE "\xf3\xb0\xba\x9d" // U+F0E9D delete-empty-outline +#define ICON_MD_DELETE_FOREVER "\xf3\xb0\x97\xa8" // U+F05E8 delete-forever +#define ICON_MD_DELETE_FOREVER_OUTLINE "\xf3\xb0\xae\x89" // U+F0B89 delete-forever-outline +#define ICON_MD_DELETE_OFF "\xf3\xb1\x82\xa7" // U+F10A7 delete-off +#define ICON_MD_DELETE_OFF_OUTLINE "\xf3\xb1\x82\xa8" // U+F10A8 delete-off-outline +#define ICON_MD_DELETE_OUTLINE \ + "\xf3\xb0\xa7\xa7" // U+F09E7 delete-outline, aliases: garbage-outline, bin-outline, rubbish-outline, + // garbage-can-outline, rubbish-bin-outline, trash-outline, trash-can-outline +#define ICON_MD_DELETE_RESTORE "\xf3\xb0\xa0\x99" // U+F0819 delete-restore, aliases: trash-restore, bin-restore, restore-from-trash +#define ICON_MD_DELETE_SWEEP "\xf3\xb0\x97\xa9" // U+F05E9 delete-sweep +#define ICON_MD_DELETE_SWEEP_OUTLINE "\xf3\xb0\xb1\xa2" // U+F0C62 delete-sweep-outline +#define ICON_MD_DELETE_VARIANT "\xf3\xb0\x86\xb3" // U+F01B3 delete-variant, aliases: trash-variant, bin-variant, cup-ice, drink-ice +#define ICON_MD_DELTA "\xf3\xb0\x87\x82" // U+F01C2 delta, aliases: change-history, tags: Math, Alpha / Numeric +#define ICON_MD_DESK "\xf3\xb1\x88\xb9" // U+F1239 desk +#define ICON_MD_DESK_LAMP "\xf3\xb0\xa5\x9f" // U+F095F desk-lamp, tags: Home Automation +#define ICON_MD_DESK_LAMP_OFF "\xf3\xb1\xac\x9f" // U+F1B1F desk-lamp-off, tags: Home Automation +#define ICON_MD_DESK_LAMP_ON "\xf3\xb1\xac\xa0" // U+F1B20 desk-lamp-on, tags: Home Automation +#define ICON_MD_DESKPHONE "\xf3\xb0\x87\x83" // U+F01C3 deskphone, tags: Cellphone / Phone, Device / Tech +#define ICON_MD_DESKTOP_CLASSIC "\xf3\xb0\x9f\x80" // U+F07C0 desktop-classic, aliases: computer-classic, tags: Device / Tech, Home Automation +#define ICON_MD_DESKTOP_TOWER "\xf3\xb0\x87\x85" // U+F01C5 desktop-tower, tags: Device / Tech, Home Automation +#define ICON_MD_DESKTOP_TOWER_MONITOR "\xf3\xb0\xaa\xab" // U+F0AAB desktop-tower-monitor, tags: Device / Tech +#define ICON_MD_DETAILS "\xf3\xb0\x87\x86" // U+F01C6 details +#define ICON_MD_DEV_TO "\xf3\xb0\xb5\xae" // U+F0D6E dev-to, tags: Brand / Logo +#define ICON_MD_DEVELOPER_BOARD "\xf3\xb0\x9a\x97" // U+F0697 developer-board +#define ICON_MD_DEVIANTART "\xf3\xb0\x87\x87" // U+F01C7 deviantart, tags: Brand / Logo +#define ICON_MD_DEVICES \ + "\xf3\xb0\xbe\xb0" // U+F0FB0 devices, aliases: monitor, watch, smartwatch, smartphone, cellphone, television, tags: + // Device / Tech, Home Automation +#define ICON_MD_DHARMACHAKRA "\xf3\xb0\xa5\x8b" // U+F094B dharmachakra, aliases: dharma-wheel, religion-buddhist, buddhism, tags: Religion +#define ICON_MD_DIABETES "\xf3\xb1\x84\xa6" // U+F1126 diabetes, aliases: hand-blood, tags: Medical / Hospital +#define ICON_MD_DIALPAD "\xf3\xb0\x98\x9c" // U+F061C dialpad, aliases: keypad +#define ICON_MD_DIAMETER "\xf3\xb0\xb1\xa3" // U+F0C63 diameter, aliases: circle-diameter, sphere-diameter, tags: Math +#define ICON_MD_DIAMETER_OUTLINE \ + "\xf3\xb0\xb1\xa4" // U+F0C64 diameter-outline, aliases: circle-diameter-outline, sphere-diameter-outline, tags: + // Math +#define ICON_MD_DIAMETER_VARIANT \ + "\xf3\xb0\xb1\xa5" // U+F0C65 diameter-variant, aliases: circle-diameter-variant, sphere-diameter-variant, tags: + // Math +#define ICON_MD_DIAMOND "\xf3\xb0\xae\x8a" // U+F0B8A diamond +#define ICON_MD_DIAMOND_OUTLINE "\xf3\xb0\xae\x8b" // U+F0B8B diamond-outline +#define ICON_MD_DIAMOND_STONE "\xf3\xb0\x87\x88" // U+F01C8 diamond-stone, aliases: jewel +#define ICON_MD_DICE_1 "\xf3\xb0\x87\x8a" // U+F01CA dice-1, aliases: die-1, dice-one, tags: Gaming / RPG +#define ICON_MD_DICE_1_OUTLINE "\xf3\xb1\x85\x8a" // U+F114A dice-1-outline, tags: Gaming / RPG +#define ICON_MD_DICE_2 "\xf3\xb0\x87\x8b" // U+F01CB dice-2, aliases: die-2, dice-two, tags: Gaming / RPG +#define ICON_MD_DICE_2_OUTLINE "\xf3\xb1\x85\x8b" // U+F114B dice-2-outline, tags: Gaming / RPG +#define ICON_MD_DICE_3 "\xf3\xb0\x87\x8c" // U+F01CC dice-3, aliases: die-3, dice-three, tags: Gaming / RPG +#define ICON_MD_DICE_3_OUTLINE "\xf3\xb1\x85\x8c" // U+F114C dice-3-outline, tags: Gaming / RPG +#define ICON_MD_DICE_4 "\xf3\xb0\x87\x8d" // U+F01CD dice-4, aliases: die-4, dice-four, tags: Gaming / RPG +#define ICON_MD_DICE_4_OUTLINE "\xf3\xb1\x85\x8d" // U+F114D dice-4-outline, tags: Gaming / RPG +#define ICON_MD_DICE_5 "\xf3\xb0\x87\x8e" // U+F01CE dice-5, aliases: die-5, dice-five, tags: Gaming / RPG +#define ICON_MD_DICE_5_OUTLINE "\xf3\xb1\x85\x8e" // U+F114E dice-5-outline, tags: Gaming / RPG +#define ICON_MD_DICE_6 "\xf3\xb0\x87\x8f" // U+F01CF dice-6, aliases: die-6, dice-six, tags: Gaming / RPG +#define ICON_MD_DICE_6_OUTLINE "\xf3\xb1\x85\x8f" // U+F114F dice-6-outline, tags: Gaming / RPG +#define ICON_MD_DICE_D10 "\xf3\xb1\x85\x93" // U+F1153 dice-d10, tags: Gaming / RPG +#define ICON_MD_DICE_D10_OUTLINE "\xf3\xb0\x9d\xaf" // U+F076F dice-d10-outline, aliases: die-d10, tags: Gaming / RPG +#define ICON_MD_DICE_D12 "\xf3\xb1\x85\x94" // U+F1154 dice-d12, tags: Gaming / RPG +#define ICON_MD_DICE_D12_OUTLINE "\xf3\xb0\xa1\xa7" // U+F0867 dice-d12-outline, tags: Gaming / RPG +#define ICON_MD_DICE_D20 "\xf3\xb1\x85\x95" // U+F1155 dice-d20, tags: Gaming / RPG +#define ICON_MD_DICE_D20_OUTLINE "\xf3\xb0\x97\xaa" // U+F05EA dice-d20-outline, aliases: die-d20, tags: Gaming / RPG +#define ICON_MD_DICE_D4 "\xf3\xb1\x85\x90" // U+F1150 dice-d4, tags: Gaming / RPG +#define ICON_MD_DICE_D4_OUTLINE "\xf3\xb0\x97\xab" // U+F05EB dice-d4-outline, aliases: die-d4, tags: Gaming / RPG +#define ICON_MD_DICE_D6 "\xf3\xb1\x85\x91" // U+F1151 dice-d6, tags: Gaming / RPG +#define ICON_MD_DICE_D6_OUTLINE "\xf3\xb0\x97\xad" // U+F05ED dice-d6-outline, aliases: die-d6, tags: Gaming / RPG +#define ICON_MD_DICE_D8 "\xf3\xb1\x85\x92" // U+F1152 dice-d8, tags: Gaming / RPG +#define ICON_MD_DICE_D8_OUTLINE "\xf3\xb0\x97\xac" // U+F05EC dice-d8-outline, aliases: die-d8, tags: Gaming / RPG +#define ICON_MD_DICE_MULTIPLE "\xf3\xb0\x9d\xae" // U+F076E dice-multiple, aliases: die-multiple, tags: Gaming / RPG +#define ICON_MD_DICE_MULTIPLE_OUTLINE "\xf3\xb1\x85\x96" // U+F1156 dice-multiple-outline, tags: Gaming / RPG +#define ICON_MD_DIGITAL_OCEAN "\xf3\xb1\x88\xb7" // U+F1237 digital-ocean, tags: Developer / Languages, Brand / Logo +#define ICON_MD_DIP_SWITCH "\xf3\xb0\x9f\x81" // U+F07C1 dip-switch +#define ICON_MD_DIRECTIONS "\xf3\xb0\x87\x90" // U+F01D0 directions +#define ICON_MD_DIRECTIONS_FORK "\xf3\xb0\x99\x81" // U+F0641 directions-fork +#define ICON_MD_DISC "\xf3\xb0\x97\xae" // U+F05EE disc, aliases: cd-rom, dvd, tags: Music +#define ICON_MD_DISC_ALERT "\xf3\xb0\x87\x91" // U+F01D1 disc-alert, aliases: disc-full, disc-warning, tags: Alert / Error +#define ICON_MD_DISC_PLAYER "\xf3\xb0\xa5\xa0" // U+F0960 disc-player, tags: Home Automation, Device / Tech +#define ICON_MD_DISHWASHER "\xf3\xb0\xaa\xac" // U+F0AAC dishwasher, tags: Home Automation +#define ICON_MD_DISHWASHER_ALERT "\xf3\xb1\x86\xb8" // U+F11B8 dishwasher-alert, tags: Home Automation, Alert / Error +#define ICON_MD_DISHWASHER_OFF "\xf3\xb1\x86\xb9" // U+F11B9 dishwasher-off, tags: Home Automation +#define ICON_MD_DISQUS "\xf3\xb0\x87\x92" // U+F01D2 disqus, tags: Brand / Logo +#define ICON_MD_DISTRIBUTE_HORIZONTAL_CENTER "\xf3\xb1\x87\x89" // U+F11C9 distribute-horizontal-center +#define ICON_MD_DISTRIBUTE_HORIZONTAL_LEFT "\xf3\xb1\x87\x88" // U+F11C8 distribute-horizontal-left +#define ICON_MD_DISTRIBUTE_HORIZONTAL_RIGHT "\xf3\xb1\x87\x8a" // U+F11CA distribute-horizontal-right +#define ICON_MD_DISTRIBUTE_VERTICAL_BOTTOM "\xf3\xb1\x87\x8b" // U+F11CB distribute-vertical-bottom +#define ICON_MD_DISTRIBUTE_VERTICAL_CENTER "\xf3\xb1\x87\x8c" // U+F11CC distribute-vertical-center +#define ICON_MD_DISTRIBUTE_VERTICAL_TOP "\xf3\xb1\x87\x8d" // U+F11CD distribute-vertical-top +#define ICON_MD_DIVERSIFY "\xf3\xb1\xa1\xb7" // U+F1877 diversify +#define ICON_MD_DIVING "\xf3\xb1\xa5\xb7" // U+F1977 diving, aliases: swim-dive, human-diving, tags: Sport, People / Family +#define ICON_MD_DIVING_FLIPPERS "\xf3\xb0\xb6\xbf" // U+F0DBF diving-flippers, tags: Sport +#define ICON_MD_DIVING_HELMET "\xf3\xb0\xb7\x80" // U+F0DC0 diving-helmet +#define ICON_MD_DIVING_SCUBA "\xf3\xb1\xad\xb7" // U+F1B77 diving-scuba, tags: Sport +#define ICON_MD_DIVING_SCUBA_FLAG "\xf3\xb0\xb7\x82" // U+F0DC2 diving-scuba-flag +#define ICON_MD_DIVING_SCUBA_MASK "\xf3\xb0\xb7\x81" // U+F0DC1 diving-scuba-mask, tags: Sport +#define ICON_MD_DIVING_SCUBA_TANK "\xf3\xb0\xb7\x83" // U+F0DC3 diving-scuba-tank +#define ICON_MD_DIVING_SCUBA_TANK_MULTIPLE "\xf3\xb0\xb7\x84" // U+F0DC4 diving-scuba-tank-multiple +#define ICON_MD_DIVING_SNORKEL "\xf3\xb0\xb7\x85" // U+F0DC5 diving-snorkel, tags: Sport +#define ICON_MD_DIVISION "\xf3\xb0\x87\x94" // U+F01D4 division, aliases: obelus, tags: Math +#define ICON_MD_DIVISION_BOX "\xf3\xb0\x87\x95" // U+F01D5 division-box, tags: Math +#define ICON_MD_DLNA "\xf3\xb0\xa9\x81" // U+F0A41 dlna, tags: Brand / Logo +#define ICON_MD_DNA "\xf3\xb0\x9a\x84" // U+F0684 dna, aliases: helix, tags: Science +#define ICON_MD_DNS "\xf3\xb0\x87\x96" // U+F01D6 dns +#define ICON_MD_DNS_OUTLINE "\xf3\xb0\xae\x8c" // U+F0B8C dns-outline +#define ICON_MD_DOCK_BOTTOM "\xf3\xb1\x82\xa9" // U+F10A9 dock-bottom +#define ICON_MD_DOCK_LEFT "\xf3\xb1\x82\xaa" // U+F10AA dock-left +#define ICON_MD_DOCK_RIGHT "\xf3\xb1\x82\xab" // U+F10AB dock-right +#define ICON_MD_DOCK_TOP "\xf3\xb1\x94\x93" // U+F1513 dock-top +#define ICON_MD_DOCK_WINDOW "\xf3\xb1\x82\xac" // U+F10AC dock-window +#define ICON_MD_DOCKER "\xf3\xb0\xa1\xa8" // U+F0868 docker, tags: Brand / Logo +#define ICON_MD_DOCTOR "\xf3\xb0\xa9\x82" // U+F0A42 doctor, tags: Medical / Hospital +#define ICON_MD_DOG "\xf3\xb0\xa9\x83" // U+F0A43 dog, aliases: emoji-dog, emoticon-dog, tags: Animal +#define ICON_MD_DOG_SERVICE "\xf3\xb0\xaa\xad" // U+F0AAD dog-service, aliases: guide-dog, k9, canine, tags: Animal +#define ICON_MD_DOG_SIDE "\xf3\xb0\xa9\x84" // U+F0A44 dog-side, aliases: k9, canine, tags: Animal +#define ICON_MD_DOG_SIDE_OFF "\xf3\xb1\x9b\xae" // U+F16EE dog-side-off, tags: Animal +#define ICON_MD_DOLBY "\xf3\xb0\x9a\xb3" // U+F06B3 dolby, tags: Audio, Brand / Logo, Home Automation +#define ICON_MD_DOLLY "\xf3\xb0\xba\x9e" // U+F0E9E dolly, aliases: hand-truck, trolley +#define ICON_MD_DOLPHIN "\xf3\xb1\xa2\xb4" // U+F18B4 dolphin, aliases: porpoise, tags: Animal +#define ICON_MD_DOMAIN "\xf3\xb0\x87\x97" // U+F01D7 domain, aliases: building, company, business, tags: Places +#define ICON_MD_DOMAIN_OFF "\xf3\xb0\xb5\xaf" // U+F0D6F domain-off +#define ICON_MD_DOMAIN_PLUS "\xf3\xb1\x82\xad" // U+F10AD domain-plus +#define ICON_MD_DOMAIN_REMOVE "\xf3\xb1\x82\xae" // U+F10AE domain-remove +#define ICON_MD_DOME_LIGHT "\xf3\xb1\x90\x9e" // U+F141E dome-light +#define ICON_MD_DOMINO_MASK "\xf3\xb1\x80\xa3" // U+F1023 domino-mask, aliases: robber-mask, zorro-mask +#define ICON_MD_DONKEY "\xf3\xb0\x9f\x82" // U+F07C2 donkey, tags: Animal +#define ICON_MD_DOOR "\xf3\xb0\xa0\x9a" // U+F081A door, tags: Home Automation +#define ICON_MD_DOOR_CLOSED "\xf3\xb0\xa0\x9b" // U+F081B door-closed, tags: Home Automation +#define ICON_MD_DOOR_CLOSED_LOCK "\xf3\xb1\x82\xaf" // U+F10AF door-closed-lock, tags: Home Automation, Lock +#define ICON_MD_DOOR_OPEN "\xf3\xb0\xa0\x9c" // U+F081C door-open, tags: Home Automation +#define ICON_MD_DOOR_SLIDING "\xf3\xb1\xa0\x9e" // U+F181E door-sliding, aliases: patio-door, french-door, tags: Home Automation +#define ICON_MD_DOOR_SLIDING_LOCK \ + "\xf3\xb1\xa0\x9f" // U+F181F door-sliding-lock, aliases: patio-door-lock, french-door-lock, tags: Home Automation, + // Lock +#define ICON_MD_DOOR_SLIDING_OPEN "\xf3\xb1\xa0\xa0" // U+F1820 door-sliding-open, aliases: patio-door-open, french-door-open, tags: Home Automation +#define ICON_MD_DOORBELL "\xf3\xb1\x8b\xa6" // U+F12E6 doorbell, tags: Home Automation +#define ICON_MD_DOORBELL_VIDEO "\xf3\xb0\xa1\xa9" // U+F0869 doorbell-video, tags: Home Automation +#define ICON_MD_DOT_NET "\xf3\xb0\xaa\xae" // U+F0AAE dot-net, aliases: microsoft-dot-net, tags: Developer / Languages, Brand / Logo +#define ICON_MD_DOTS_CIRCLE "\xf3\xb1\xa5\xb8" // U+F1978 dots-circle, aliases: perimeter +#define ICON_MD_DOTS_GRID "\xf3\xb1\x97\xbc" // U+F15FC dots-grid +#define ICON_MD_DOTS_HEXAGON "\xf3\xb1\x97\xbf" // U+F15FF dots-hexagon +#define ICON_MD_DOTS_HORIZONTAL "\xf3\xb0\x87\x98" // U+F01D8 dots-horizontal, aliases: more, ellipsis-horizontal, more-horiz, menu +#define ICON_MD_DOTS_HORIZONTAL_CIRCLE "\xf3\xb0\x9f\x83" // U+F07C3 dots-horizontal-circle, aliases: ellipsis-horizontal-circle, more-circle, menu +#define ICON_MD_DOTS_HORIZONTAL_CIRCLE_OUTLINE \ + "\xf3\xb0\xae\x8d" // U+F0B8D dots-horizontal-circle-outline, aliases: ellipsis-horizontal-circle-outline, + // more-circle-outline, menu +#define ICON_MD_DOTS_SQUARE "\xf3\xb1\x97\xbd" // U+F15FD dots-square, aliases: perimeter +#define ICON_MD_DOTS_TRIANGLE "\xf3\xb1\x97\xbe" // U+F15FE dots-triangle +#define ICON_MD_DOTS_VERTICAL "\xf3\xb0\x87\x99" // U+F01D9 dots-vertical, aliases: ellipsis-vertical, more-vert, menu +#define ICON_MD_DOTS_VERTICAL_CIRCLE "\xf3\xb0\x9f\x84" // U+F07C4 dots-vertical-circle, aliases: ellipsis-vertical-circle, menu +#define ICON_MD_DOTS_VERTICAL_CIRCLE_OUTLINE "\xf3\xb0\xae\x8e" // U+F0B8E dots-vertical-circle-outline, aliases: ellipsis-vertical-circle-outline, menu +#define ICON_MD_DOWNLOAD "\xf3\xb0\x87\x9a" // U+F01DA download, aliases: file-download, get-app +#define ICON_MD_DOWNLOAD_BOX "\xf3\xb1\x91\xa2" // U+F1462 download-box +#define ICON_MD_DOWNLOAD_BOX_OUTLINE "\xf3\xb1\x91\xa3" // U+F1463 download-box-outline +#define ICON_MD_DOWNLOAD_CIRCLE "\xf3\xb1\x91\xa4" // U+F1464 download-circle +#define ICON_MD_DOWNLOAD_CIRCLE_OUTLINE "\xf3\xb1\x91\xa5" // U+F1465 download-circle-outline +#define ICON_MD_DOWNLOAD_LOCK "\xf3\xb1\x8c\xa0" // U+F1320 download-lock, tags: Lock +#define ICON_MD_DOWNLOAD_LOCK_OUTLINE "\xf3\xb1\x8c\xa1" // U+F1321 download-lock-outline, tags: Lock +#define ICON_MD_DOWNLOAD_MULTIPLE "\xf3\xb0\xa7\xa9" // U+F09E9 download-multiple, aliases: downloads +#define ICON_MD_DOWNLOAD_NETWORK "\xf3\xb0\x9b\xb4" // U+F06F4 download-network +#define ICON_MD_DOWNLOAD_NETWORK_OUTLINE "\xf3\xb0\xb1\xa6" // U+F0C66 download-network-outline +#define ICON_MD_DOWNLOAD_OFF "\xf3\xb1\x82\xb0" // U+F10B0 download-off +#define ICON_MD_DOWNLOAD_OFF_OUTLINE "\xf3\xb1\x82\xb1" // U+F10B1 download-off-outline +#define ICON_MD_DOWNLOAD_OUTLINE "\xf3\xb0\xae\x8f" // U+F0B8F download-outline +#define ICON_MD_DRAG "\xf3\xb0\x87\x9b" // U+F01DB drag +#define ICON_MD_DRAG_HORIZONTAL "\xf3\xb0\x87\x9c" // U+F01DC drag-horizontal +#define ICON_MD_DRAG_HORIZONTAL_VARIANT "\xf3\xb1\x8b\xb0" // U+F12F0 drag-horizontal-variant +#define ICON_MD_DRAG_VARIANT "\xf3\xb0\xae\x90" // U+F0B90 drag-variant +#define ICON_MD_DRAG_VERTICAL "\xf3\xb0\x87\x9d" // U+F01DD drag-vertical +#define ICON_MD_DRAG_VERTICAL_VARIANT "\xf3\xb1\x8b\xb1" // U+F12F1 drag-vertical-variant +#define ICON_MD_DRAMA_MASKS "\xf3\xb0\xb4\x82" // U+F0D02 drama-masks, aliases: comedy, tragedy, theatre +#define ICON_MD_DRAW "\xf3\xb0\xbd\x89" // U+F0F49 draw, aliases: sign, signature, tags: Drawing / Art, Form +#define ICON_MD_DRAW_PEN "\xf3\xb1\xa6\xb9" // U+F19B9 draw-pen, aliases: sign, signature, tags: Form, Drawing / Art +#define ICON_MD_DRAWING "\xf3\xb0\x87\x9e" // U+F01DE drawing, tags: Drawing / Art, Shape +#define ICON_MD_DRAWING_BOX "\xf3\xb0\x87\x9f" // U+F01DF drawing-box, tags: Drawing / Art, Shape +#define ICON_MD_DRESSER "\xf3\xb0\xbd\x8a" // U+F0F4A dresser, tags: Home Automation +#define ICON_MD_DRESSER_OUTLINE "\xf3\xb0\xbd\x8b" // U+F0F4B dresser-outline, tags: Home Automation +#define ICON_MD_DRONE "\xf3\xb0\x87\xa2" // U+F01E2 drone, tags: Transportation + Flying +#define ICON_MD_DROPBOX "\xf3\xb0\x87\xa3" // U+F01E3 dropbox, tags: Brand / Logo +#define ICON_MD_DRUPAL "\xf3\xb0\x87\xa4" // U+F01E4 drupal, tags: Brand / Logo +#define ICON_MD_DUCK "\xf3\xb0\x87\xa5" // U+F01E5 duck, tags: Animal +#define ICON_MD_DUMBBELL "\xf3\xb0\x87\xa6" // U+F01E6 dumbbell, aliases: weights, fitness-center, gym, barbell, tags: Sport +#define ICON_MD_DUMP_TRUCK "\xf3\xb0\xb1\xa7" // U+F0C67 dump-truck, aliases: tipper-lorry, tags: Transportation + Road, Hardware / Tools +#define ICON_MD_EAR_HEARING "\xf3\xb0\x9f\x85" // U+F07C5 ear-hearing, tags: Medical / Hospital +#define ICON_MD_EAR_HEARING_LOOP "\xf3\xb1\xab\xae" // U+F1AEE ear-hearing-loop, aliases: audio-induction-loop, telecoil, tags: Medical / Hospital +#define ICON_MD_EAR_HEARING_OFF "\xf3\xb0\xa9\x85" // U+F0A45 ear-hearing-off, aliases: hearing-impaired, tags: Medical / Hospital +#define ICON_MD_EARBUDS "\xf3\xb1\xa1\x8f" // U+F184F earbuds, aliases: headphones, tags: Audio, Music +#define ICON_MD_EARBUDS_OFF "\xf3\xb1\xa1\x90" // U+F1850 earbuds-off, aliases: headphones-off, tags: Audio, Music +#define ICON_MD_EARBUDS_OFF_OUTLINE "\xf3\xb1\xa1\x91" // U+F1851 earbuds-off-outline, aliases: headphones-off-outline, tags: Audio, Music +#define ICON_MD_EARBUDS_OUTLINE "\xf3\xb1\xa1\x92" // U+F1852 earbuds-outline, aliases: headphones-outline, tags: Audio, Music +#define ICON_MD_EARTH \ + "\xf3\xb0\x87\xa7" // U+F01E7 earth, aliases: globe, public, planet, world, tags: Geographic Information System, + // Navigation +#define ICON_MD_EARTH_ARROW_RIGHT \ + "\xf3\xb1\x8c\x91" // U+F1311 earth-arrow-right, aliases: globe-arrow-right, world-arrow-right, planet-arrow-right, + // tags: Navigation +#define ICON_MD_EARTH_BOX "\xf3\xb0\x9b\x8d" // U+F06CD earth-box, aliases: globe-box, world-box, planet-box, tags: Navigation +#define ICON_MD_EARTH_BOX_MINUS \ + "\xf3\xb1\x90\x87" // U+F1407 earth-box-minus, aliases: globe-box-minus, world-box-minus, planet-box-minus, tags: + // Navigation +#define ICON_MD_EARTH_BOX_OFF "\xf3\xb0\x9b\x8e" // U+F06CE earth-box-off, aliases: globe-box-off, world-box-off, planet-box-off, tags: Navigation +#define ICON_MD_EARTH_BOX_PLUS \ + "\xf3\xb1\x90\x86" // U+F1406 earth-box-plus, aliases: globe-box-plus, world-box-plus, planet-box-plus, tags: + // Navigation +#define ICON_MD_EARTH_BOX_REMOVE \ + "\xf3\xb1\x90\x88" // U+F1408 earth-box-remove, aliases: globe-box-remove, world-box-remove, planet-box-remove, + // tags: Navigation +#define ICON_MD_EARTH_MINUS "\xf3\xb1\x90\x84" // U+F1404 earth-minus, aliases: globe-minus, world-minus, planet-minus, tags: Navigation +#define ICON_MD_EARTH_OFF \ + "\xf3\xb0\x87\xa8" // U+F01E8 earth-off, aliases: globe-off, world-off, planet-off, tags: Geographic Information + // System, Navigation +#define ICON_MD_EARTH_PLUS "\xf3\xb1\x90\x83" // U+F1403 earth-plus, aliases: globe-plus, world-plus, planet-plus, tags: Navigation +#define ICON_MD_EARTH_REMOVE "\xf3\xb1\x90\x85" // U+F1405 earth-remove, aliases: globe-remove, world-remove, planet-remove, tags: Navigation +#define ICON_MD_EGG "\xf3\xb0\xaa\xaf" // U+F0AAF egg, tags: Food / Drink, Agriculture +#define ICON_MD_EGG_EASTER "\xf3\xb0\xaa\xb0" // U+F0AB0 egg-easter, tags: Holiday +#define ICON_MD_EGG_FRIED "\xf3\xb1\xa1\x8a" // U+F184A egg-fried, tags: Food / Drink +#define ICON_MD_EGG_OFF "\xf3\xb1\x8f\xb0" // U+F13F0 egg-off, tags: Food / Drink, Agriculture +#define ICON_MD_EGG_OFF_OUTLINE "\xf3\xb1\x8f\xb1" // U+F13F1 egg-off-outline, tags: Food / Drink, Agriculture +#define ICON_MD_EGG_OUTLINE "\xf3\xb1\x8f\xb2" // U+F13F2 egg-outline, tags: Food / Drink, Agriculture +#define ICON_MD_EIFFEL_TOWER "\xf3\xb1\x95\xab" // U+F156B eiffel-tower, aliases: paris, france, tags: Places +#define ICON_MD_EIGHT_TRACK "\xf3\xb0\xa7\xaa" // U+F09EA eight-track, aliases: 8-track, tags: Music +#define ICON_MD_EJECT "\xf3\xb0\x87\xaa" // U+F01EA eject +#define ICON_MD_EJECT_CIRCLE "\xf3\xb1\xac\xa3" // U+F1B23 eject-circle +#define ICON_MD_EJECT_CIRCLE_OUTLINE "\xf3\xb1\xac\xa4" // U+F1B24 eject-circle-outline +#define ICON_MD_EJECT_OUTLINE "\xf3\xb0\xae\x91" // U+F0B91 eject-outline +#define ICON_MD_ELECTRIC_SWITCH "\xf3\xb0\xba\x9f" // U+F0E9F electric-switch +#define ICON_MD_ELECTRIC_SWITCH_CLOSED "\xf3\xb1\x83\x99" // U+F10D9 electric-switch-closed +#define ICON_MD_ELECTRON_FRAMEWORK "\xf3\xb1\x80\xa4" // U+F1024 electron-framework, tags: Brand / Logo, Developer / Languages +#define ICON_MD_ELEPHANT "\xf3\xb0\x9f\x86" // U+F07C6 elephant, tags: Animal +#define ICON_MD_ELEVATION_DECLINE "\xf3\xb0\x87\xab" // U+F01EB elevation-decline +#define ICON_MD_ELEVATION_RISE "\xf3\xb0\x87\xac" // U+F01EC elevation-rise +#define ICON_MD_ELEVATOR "\xf3\xb0\x87\xad" // U+F01ED elevator, tags: Transportation + Other +#define ICON_MD_ELEVATOR_DOWN "\xf3\xb1\x8b\x82" // U+F12C2 elevator-down, tags: Transportation + Other +#define ICON_MD_ELEVATOR_PASSENGER "\xf3\xb1\x8e\x81" // U+F1381 elevator-passenger, tags: Transportation + Other +#define ICON_MD_ELEVATOR_PASSENGER_OFF "\xf3\xb1\xa5\xb9" // U+F1979 elevator-passenger-off, tags: Transportation + Other +#define ICON_MD_ELEVATOR_PASSENGER_OFF_OUTLINE "\xf3\xb1\xa5\xba" // U+F197A elevator-passenger-off-outline, tags: Transportation + Other +#define ICON_MD_ELEVATOR_PASSENGER_OUTLINE "\xf3\xb1\xa5\xbb" // U+F197B elevator-passenger-outline, tags: Transportation + Other +#define ICON_MD_ELEVATOR_UP "\xf3\xb1\x8b\x81" // U+F12C1 elevator-up, tags: Transportation + Other +#define ICON_MD_ELLIPSE "\xf3\xb0\xba\xa0" // U+F0EA0 ellipse, tags: Shape +#define ICON_MD_ELLIPSE_OUTLINE "\xf3\xb0\xba\xa1" // U+F0EA1 ellipse-outline, tags: Shape +#define ICON_MD_EMAIL "\xf3\xb0\x87\xae" // U+F01EE email, aliases: local-post-office, mail, markunread, envelope +#define ICON_MD_EMAIL_ALERT \ + "\xf3\xb0\x9b\x8f" // U+F06CF email-alert, aliases: email-warning, envelope-alert, envelope-warning, tags: Alert / + // Error +#define ICON_MD_EMAIL_ALERT_OUTLINE "\xf3\xb0\xb5\x82" // U+F0D42 email-alert-outline, tags: Alert / Error +#define ICON_MD_EMAIL_ARROW_LEFT "\xf3\xb1\x83\x9a" // U+F10DA email-arrow-left, aliases: email-receive +#define ICON_MD_EMAIL_ARROW_LEFT_OUTLINE "\xf3\xb1\x83\x9b" // U+F10DB email-arrow-left-outline, aliases: email-receive-outline +#define ICON_MD_EMAIL_ARROW_RIGHT "\xf3\xb1\x83\x9c" // U+F10DC email-arrow-right, aliases: email-send +#define ICON_MD_EMAIL_ARROW_RIGHT_OUTLINE "\xf3\xb1\x83\x9d" // U+F10DD email-arrow-right-outline, aliases: email-arrow-right-outline +#define ICON_MD_EMAIL_BOX "\xf3\xb0\xb4\x83" // U+F0D03 email-box, aliases: envelope-box +#define ICON_MD_EMAIL_CHECK "\xf3\xb0\xaa\xb1" // U+F0AB1 email-check, aliases: email-tick +#define ICON_MD_EMAIL_CHECK_OUTLINE "\xf3\xb0\xaa\xb2" // U+F0AB2 email-check-outline, aliases: email-tick-outline +#define ICON_MD_EMAIL_EDIT "\xf3\xb0\xbb\xa3" // U+F0EE3 email-edit, tags: Edit / Modify +#define ICON_MD_EMAIL_EDIT_OUTLINE "\xf3\xb0\xbb\xa4" // U+F0EE4 email-edit-outline, tags: Edit / Modify +#define ICON_MD_EMAIL_FAST "\xf3\xb1\xa1\xaf" // U+F186F email-fast, aliases: envelope-fast, email-quick, email-sent, email-send +#define ICON_MD_EMAIL_FAST_OUTLINE \ + "\xf3\xb1\xa1\xb0" // U+F1870 email-fast-outline, aliases: email-send-outline, email-sent-outline, + // envelope-fast-outline, email-quick-outline +#define ICON_MD_EMAIL_LOCK "\xf3\xb0\x87\xb1" // U+F01F1 email-lock, aliases: envelope-secure, email-secure, envelope-lock, tags: Lock +#define ICON_MD_EMAIL_LOCK_OUTLINE "\xf3\xb1\xad\xa1" // U+F1B61 email-lock-outline, aliases: email-secure-outline, tags: Lock +#define ICON_MD_EMAIL_MARK_AS_UNREAD "\xf3\xb0\xae\x92" // U+F0B92 email-mark-as-unread +#define ICON_MD_EMAIL_MINUS "\xf3\xb0\xbb\xa5" // U+F0EE5 email-minus +#define ICON_MD_EMAIL_MINUS_OUTLINE "\xf3\xb0\xbb\xa6" // U+F0EE6 email-minus-outline +#define ICON_MD_EMAIL_MULTIPLE "\xf3\xb0\xbb\xa7" // U+F0EE7 email-multiple +#define ICON_MD_EMAIL_MULTIPLE_OUTLINE "\xf3\xb0\xbb\xa8" // U+F0EE8 email-multiple-outline +#define ICON_MD_EMAIL_NEWSLETTER "\xf3\xb0\xbe\xb1" // U+F0FB1 email-newsletter +#define ICON_MD_EMAIL_OFF "\xf3\xb1\x8f\xa3" // U+F13E3 email-off +#define ICON_MD_EMAIL_OFF_OUTLINE "\xf3\xb1\x8f\xa4" // U+F13E4 email-off-outline +#define ICON_MD_EMAIL_OPEN "\xf3\xb0\x87\xaf" // U+F01EF email-open, aliases: drafts, envelope-open +#define ICON_MD_EMAIL_OPEN_MULTIPLE "\xf3\xb0\xbb\xa9" // U+F0EE9 email-open-multiple +#define ICON_MD_EMAIL_OPEN_MULTIPLE_OUTLINE "\xf3\xb0\xbb\xaa" // U+F0EEA email-open-multiple-outline +#define ICON_MD_EMAIL_OPEN_OUTLINE "\xf3\xb0\x97\xaf" // U+F05EF email-open-outline, aliases: envelope-open-outline +#define ICON_MD_EMAIL_OUTLINE "\xf3\xb0\x87\xb0" // U+F01F0 email-outline, aliases: mail-outline, envelope-outline +#define ICON_MD_EMAIL_PLUS "\xf3\xb0\xa7\xab" // U+F09EB email-plus, aliases: email-add, envelope-add, envelope-plus +#define ICON_MD_EMAIL_PLUS_OUTLINE \ + "\xf3\xb0\xa7\xac" // U+F09EC email-plus-outline, aliases: email-add-outline, envelope-add-outline, + // envelope-plus-outline +#define ICON_MD_EMAIL_REMOVE "\xf3\xb1\x99\xa1" // U+F1661 email-remove +#define ICON_MD_EMAIL_REMOVE_OUTLINE "\xf3\xb1\x99\xa2" // U+F1662 email-remove-outline +#define ICON_MD_EMAIL_SEAL \ + "\xf3\xb1\xa5\x9b" // U+F195B email-seal, aliases: email-certified, mail-certified, mail-seal, email-verified, + // mail-verified +#define ICON_MD_EMAIL_SEAL_OUTLINE \ + "\xf3\xb1\xa5\x9c" // U+F195C email-seal-outline, aliases: email-verified-outline, email-certified-outline, + // mail-verified-outline, mail-certified-outline, mail-seal-outline +#define ICON_MD_EMAIL_SEARCH "\xf3\xb0\xa5\xa1" // U+F0961 email-search +#define ICON_MD_EMAIL_SEARCH_OUTLINE "\xf3\xb0\xa5\xa2" // U+F0962 email-search-outline +#define ICON_MD_EMAIL_SYNC "\xf3\xb1\x8b\x87" // U+F12C7 email-sync, aliases: email-refresh, email-resend +#define ICON_MD_EMAIL_SYNC_OUTLINE "\xf3\xb1\x8b\x88" // U+F12C8 email-sync-outline, aliases: email-refresh-outline, email-resend-outline +#define ICON_MD_EMAIL_VARIANT "\xf3\xb0\x97\xb0" // U+F05F0 email-variant, aliases: envelope-variant +#define ICON_MD_EMBER "\xf3\xb0\xac\xb0" // U+F0B30 ember, tags: Brand / Logo +#define ICON_MD_EMBY "\xf3\xb0\x9a\xb4" // U+F06B4 emby, tags: Brand / Logo +#define ICON_MD_EMOTICON "\xf3\xb0\xb1\xa8" // U+F0C68 emoticon, aliases: smiley, face, emoji, tags: Emoji +#define ICON_MD_EMOTICON_ANGRY "\xf3\xb0\xb1\xa9" // U+F0C69 emoticon-angry, aliases: smiley-angry, face-angry, emoji-angry, tags: Emoji +#define ICON_MD_EMOTICON_ANGRY_OUTLINE \ + "\xf3\xb0\xb1\xaa" // U+F0C6A emoticon-angry-outline, aliases: smiley-angry-outline, face-angry-outline, + // emoji-angry-outline, tags: Emoji +#define ICON_MD_EMOTICON_CONFUSED "\xf3\xb1\x83\x9e" // U+F10DE emoticon-confused, aliases: face-confused, emoji-confused, tags: Emoji +#define ICON_MD_EMOTICON_CONFUSED_OUTLINE \ + "\xf3\xb1\x83\x9f" // U+F10DF emoticon-confused-outline, aliases: face-confused-outline, emoji-confused-outline, + // tags: Emoji +#define ICON_MD_EMOTICON_COOL \ + "\xf3\xb0\xb1\xab" // U+F0C6B emoticon-cool, aliases: smiley-cool, face-cool, face-sunglasses, emoji-cool, tags: + // Emoji +#define ICON_MD_EMOTICON_COOL_OUTLINE \ + "\xf3\xb0\x87\xb3" // U+F01F3 emoticon-cool-outline, aliases: smiley-cool-outline, face-cool-outline, + // face-sunglasses-outline, emoji-cool-outline, tags: Emoji +#define ICON_MD_EMOTICON_CRY "\xf3\xb0\xb1\xac" // U+F0C6C emoticon-cry, aliases: smiley-cry, face-cry, emoji-cry, tags: Emoji +#define ICON_MD_EMOTICON_CRY_OUTLINE \ + "\xf3\xb0\xb1\xad" // U+F0C6D emoticon-cry-outline, aliases: smiley-cry-outline, face-cry-outline, + // emoji-cry-outline, tags: Emoji +#define ICON_MD_EMOTICON_DEAD "\xf3\xb0\xb1\xae" // U+F0C6E emoticon-dead, aliases: smiley-dead, face-dead, emoji-dead, tags: Emoji +#define ICON_MD_EMOTICON_DEAD_OUTLINE \ + "\xf3\xb0\x9a\x9b" // U+F069B emoticon-dead-outline, aliases: smiley-dead-outline, face-dead-outline, + // emoji-dead-outline, tags: Emoji +#define ICON_MD_EMOTICON_DEVIL "\xf3\xb0\xb1\xaf" // U+F0C6F emoticon-devil, aliases: smiley-devil, face-devil, emoji-devil, tags: Emoji +#define ICON_MD_EMOTICON_DEVIL_OUTLINE \ + "\xf3\xb0\x87\xb4" // U+F01F4 emoticon-devil-outline, aliases: smiley-devil-outline, face-devil-outline, + // emoji-devil-outline, tags: Emoji +#define ICON_MD_EMOTICON_EXCITED "\xf3\xb0\xb1\xb0" // U+F0C70 emoticon-excited, aliases: smiley-excited, face-excited, emoji-excited, tags: Emoji +#define ICON_MD_EMOTICON_EXCITED_OUTLINE \ + "\xf3\xb0\x9a\x9c" // U+F069C emoticon-excited-outline, aliases: smiley-excited-outline, face-excited-outline, + // emoji-excited-outline, tags: Emoji +#define ICON_MD_EMOTICON_FROWN "\xf3\xb0\xbd\x8c" // U+F0F4C emoticon-frown, aliases: face-frown, emoji-frown, tags: Emoji +#define ICON_MD_EMOTICON_FROWN_OUTLINE "\xf3\xb0\xbd\x8d" // U+F0F4D emoticon-frown-outline, aliases: face-frown-outline, emoji-frown-outline, tags: Emoji +#define ICON_MD_EMOTICON_HAPPY "\xf3\xb0\xb1\xb1" // U+F0C71 emoticon-happy, aliases: smiley-happy, face-happy, emoji-happy, tags: Emoji +#define ICON_MD_EMOTICON_HAPPY_OUTLINE \ + "\xf3\xb0\x87\xb5" // U+F01F5 emoticon-happy-outline, aliases: smiley-happy-outline, face-happy-outline, + // emoji-happy-outline, tags: Emoji +#define ICON_MD_EMOTICON_KISS "\xf3\xb0\xb1\xb2" // U+F0C72 emoticon-kiss, aliases: smiley-kiss, face-kiss, emoji-kiss, tags: Emoji +#define ICON_MD_EMOTICON_KISS_OUTLINE \ + "\xf3\xb0\xb1\xb3" // U+F0C73 emoticon-kiss-outline, aliases: smiley-kiss-outline, face-kiss-outline, + // emoji-kiss-outline, tags: Emoji +#define ICON_MD_EMOTICON_LOL "\xf3\xb1\x88\x94" // U+F1214 emoticon-lol, aliases: face-lol, emoji-lol, tags: Emoji +#define ICON_MD_EMOTICON_LOL_OUTLINE "\xf3\xb1\x88\x95" // U+F1215 emoticon-lol-outline, aliases: face-lol-outline, emoji-lol-outline, tags: Emoji +#define ICON_MD_EMOTICON_NEUTRAL "\xf3\xb0\xb1\xb4" // U+F0C74 emoticon-neutral, aliases: smiley-neutral, face-neutral, emoji-neutral, tags: Emoji +#define ICON_MD_EMOTICON_NEUTRAL_OUTLINE \ + "\xf3\xb0\x87\xb6" // U+F01F6 emoticon-neutral-outline, aliases: smiley-neutral-outline, face-neutral-outline, + // emoji-neutral-outline, tags: Emoji +#define ICON_MD_EMOTICON_OUTLINE \ + "\xf3\xb0\x87\xb2" // U+F01F2 emoticon-outline, aliases: insert-emoticon, mood, sentiment-very-satisfied, tag-faces, + // smiley-outline, face-outline, emoji-outline, tags: Emoji +#define ICON_MD_EMOTICON_POOP "\xf3\xb0\x87\xb7" // U+F01F7 emoticon-poop, aliases: smiley-poop, face-poop, emoji-poop, tags: Emoji +#define ICON_MD_EMOTICON_POOP_OUTLINE "\xf3\xb0\xb1\xb5" // U+F0C75 emoticon-poop-outline, aliases: face-poop-outline, emoji-poop-outline, tags: Emoji +#define ICON_MD_EMOTICON_SAD "\xf3\xb0\xb1\xb6" // U+F0C76 emoticon-sad, aliases: smiley-sad, face-sad, emoji-sad, tags: Emoji +#define ICON_MD_EMOTICON_SAD_OUTLINE \ + "\xf3\xb0\x87\xb8" // U+F01F8 emoticon-sad-outline, aliases: smiley-sad-outline, face-sad-outline, + // emoji-sad-outline, tags: Emoji +#define ICON_MD_EMOTICON_SICK "\xf3\xb1\x95\xbc" // U+F157C emoticon-sick, aliases: face-sick, fever, emoji-sick, tags: Emoji, Medical / Hospital +#define ICON_MD_EMOTICON_SICK_OUTLINE \ + "\xf3\xb1\x95\xbd" // U+F157D emoticon-sick-outline, aliases: face-sick-outline, fever-outline, emoji-sick-outline, + // tags: Emoji, Medical / Hospital +#define ICON_MD_EMOTICON_TONGUE "\xf3\xb0\x87\xb9" // U+F01F9 emoticon-tongue, aliases: smiley-tongue, face-tongue, emoji-tongue, tags: Emoji +#define ICON_MD_EMOTICON_TONGUE_OUTLINE \ + "\xf3\xb0\xb1\xb7" // U+F0C77 emoticon-tongue-outline, aliases: smiley-tongue-outline, face-tongue-outline, + // emoji-tongue-outline, tags: Emoji +#define ICON_MD_EMOTICON_WINK "\xf3\xb0\xb1\xb8" // U+F0C78 emoticon-wink, aliases: smiley-wink, face-wink, emoji-wink, tags: Emoji +#define ICON_MD_EMOTICON_WINK_OUTLINE \ + "\xf3\xb0\xb1\xb9" // U+F0C79 emoticon-wink-outline, aliases: smiley-wink-outline, face-wink-outline, + // emoji-wink-outline, tags: Emoji +#define ICON_MD_ENGINE "\xf3\xb0\x87\xba" // U+F01FA engine, aliases: motor, tags: Automotive +#define ICON_MD_ENGINE_OFF "\xf3\xb0\xa9\x86" // U+F0A46 engine-off, aliases: motor-off, tags: Automotive +#define ICON_MD_ENGINE_OFF_OUTLINE "\xf3\xb0\xa9\x87" // U+F0A47 engine-off-outline, aliases: motor-off-outline, tags: Automotive +#define ICON_MD_ENGINE_OUTLINE "\xf3\xb0\x87\xbb" // U+F01FB engine-outline, aliases: motor-outline, tags: Automotive +#define ICON_MD_EPSILON "\xf3\xb1\x83\xa0" // U+F10E0 epsilon, tags: Alpha / Numeric +#define ICON_MD_EQUAL "\xf3\xb0\x87\xbc" // U+F01FC equal, tags: Math +#define ICON_MD_EQUAL_BOX "\xf3\xb0\x87\xbd" // U+F01FD equal-box, tags: Math +#define ICON_MD_EQUALIZER "\xf3\xb0\xba\xa2" // U+F0EA2 equalizer, tags: Audio +#define ICON_MD_EQUALIZER_OUTLINE "\xf3\xb0\xba\xa3" // U+F0EA3 equalizer-outline, tags: Audio +#define ICON_MD_ERASER "\xf3\xb0\x87\xbe" // U+F01FE eraser +#define ICON_MD_ERASER_VARIANT "\xf3\xb0\x99\x82" // U+F0642 eraser-variant +#define ICON_MD_ESCALATOR "\xf3\xb0\x87\xbf" // U+F01FF escalator, tags: Transportation + Other +#define ICON_MD_ESCALATOR_BOX "\xf3\xb1\x8e\x99" // U+F1399 escalator-box +#define ICON_MD_ESCALATOR_DOWN "\xf3\xb1\x8b\x80" // U+F12C0 escalator-down, tags: Transportation + Other +#define ICON_MD_ESCALATOR_UP "\xf3\xb1\x8a\xbf" // U+F12BF escalator-up, tags: Transportation + Other +#define ICON_MD_ESLINT "\xf3\xb0\xb1\xba" // U+F0C7A eslint, tags: Developer / Languages, Brand / Logo +#define ICON_MD_ET "\xf3\xb0\xaa\xb3" // U+F0AB3 et +#define ICON_MD_ETHEREUM "\xf3\xb0\xa1\xaa" // U+F086A ethereum, tags: Brand / Logo +#define ICON_MD_ETHERNET "\xf3\xb0\x88\x80" // U+F0200 ethernet +#define ICON_MD_ETHERNET_CABLE "\xf3\xb0\x88\x81" // U+F0201 ethernet-cable +#define ICON_MD_ETHERNET_CABLE_OFF "\xf3\xb0\x88\x82" // U+F0202 ethernet-cable-off +#define ICON_MD_EV_PLUG_CCS1 "\xf3\xb1\x94\x99" // U+F1519 ev-plug-ccs1, aliases: ev-plug-ccs-combo-1, ev-charger-ccs1, tags: Automotive +#define ICON_MD_EV_PLUG_CCS2 "\xf3\xb1\x94\x9a" // U+F151A ev-plug-ccs2, aliases: ev-plug-ccs-combo-2, ev-charger-ccs2, tags: Automotive +#define ICON_MD_EV_PLUG_CHADEMO "\xf3\xb1\x94\x9b" // U+F151B ev-plug-chademo, aliases: ev-charger-chademo, tags: Automotive +#define ICON_MD_EV_PLUG_TESLA "\xf3\xb1\x94\x9c" // U+F151C ev-plug-tesla, aliases: ev-charger-tesla, tags: Automotive +#define ICON_MD_EV_PLUG_TYPE1 "\xf3\xb1\x94\x9d" // U+F151D ev-plug-type1, aliases: ev-plug-j1772, ev-charger-type1, tags: Automotive +#define ICON_MD_EV_PLUG_TYPE2 "\xf3\xb1\x94\x9e" // U+F151E ev-plug-type2, aliases: ev-plug-mennekes, ev-charger-type2, tags: Automotive +#define ICON_MD_EV_STATION \ + "\xf3\xb0\x97\xb1" // U+F05F1 ev-station, aliases: charging-station, ev-charger, wall-charger, wallbox, + // electric-vehicle-charger, evse, electric-charger, tags: Places, Automotive +#define ICON_MD_EVERNOTE "\xf3\xb0\x88\x84" // U+F0204 evernote, tags: Brand / Logo +#define ICON_MD_EXCAVATOR "\xf3\xb1\x80\xa5" // U+F1025 excavator, tags: Hardware / Tools +#define ICON_MD_EXCLAMATION "\xf3\xb0\x88\x85" // U+F0205 exclamation, aliases: factorial, tags: Math +#define ICON_MD_EXCLAMATION_THICK "\xf3\xb1\x88\xb8" // U+F1238 exclamation-thick, aliases: exclamation-bold +#define ICON_MD_EXIT_RUN "\xf3\xb0\xa9\x88" // U+F0A48 exit-run, aliases: emergency-exit, tags: Home Automation +#define ICON_MD_EXIT_TO_APP "\xf3\xb0\x88\x86" // U+F0206 exit-to-app +#define ICON_MD_EXPAND_ALL "\xf3\xb0\xaa\xb4" // U+F0AB4 expand-all, aliases: animation-plus +#define ICON_MD_EXPAND_ALL_OUTLINE "\xf3\xb0\xaa\xb5" // U+F0AB5 expand-all-outline, aliases: animation-plus-outline +#define ICON_MD_EXPANSION_CARD \ + "\xf3\xb0\xa2\xae" // U+F08AE expansion-card, aliases: gpu, graphics-processing-unit, nic, network-interface-card, + // tags: Gaming / RPG +#define ICON_MD_EXPANSION_CARD_VARIANT \ + "\xf3\xb0\xbe\xb2" // U+F0FB2 expansion-card-variant, aliases: graphics-processing-unit, gpu, + // network-interface-card, nice +#define ICON_MD_EXPONENT "\xf3\xb0\xa5\xa3" // U+F0963 exponent, aliases: power, tags: Math +#define ICON_MD_EXPONENT_BOX "\xf3\xb0\xa5\xa4" // U+F0964 exponent-box, aliases: power-box, tags: Math +#define ICON_MD_EXPORT "\xf3\xb0\x88\x87" // U+F0207 export, aliases: output +#define ICON_MD_EXPORT_VARIANT "\xf3\xb0\xae\x93" // U+F0B93 export-variant, aliases: ios-share +#define ICON_MD_EYE "\xf3\xb0\x88\x88" // U+F0208 eye, aliases: show, visibility, remove-red-eye +#define ICON_MD_EYE_ARROW_LEFT "\xf3\xb1\xa3\xbd" // U+F18FD eye-arrow-left, aliases: view-arrow-left +#define ICON_MD_EYE_ARROW_LEFT_OUTLINE "\xf3\xb1\xa3\xbe" // U+F18FE eye-arrow-left-outline, aliases: view-arrow-left-outline +#define ICON_MD_EYE_ARROW_RIGHT "\xf3\xb1\xa3\xbf" // U+F18FF eye-arrow-right, aliases: view-arrow-right +#define ICON_MD_EYE_ARROW_RIGHT_OUTLINE "\xf3\xb1\xa4\x80" // U+F1900 eye-arrow-right-outline, aliases: view-arrow-right-outline +#define ICON_MD_EYE_CHECK "\xf3\xb0\xb4\x84" // U+F0D04 eye-check, aliases: eye-tick +#define ICON_MD_EYE_CHECK_OUTLINE "\xf3\xb0\xb4\x85" // U+F0D05 eye-check-outline, aliases: eye-tick-outline +#define ICON_MD_EYE_CIRCLE "\xf3\xb0\xae\x94" // U+F0B94 eye-circle +#define ICON_MD_EYE_CIRCLE_OUTLINE "\xf3\xb0\xae\x95" // U+F0B95 eye-circle-outline +#define ICON_MD_EYE_MINUS "\xf3\xb1\x80\xa6" // U+F1026 eye-minus +#define ICON_MD_EYE_MINUS_OUTLINE "\xf3\xb1\x80\xa7" // U+F1027 eye-minus-outline +#define ICON_MD_EYE_OFF "\xf3\xb0\x88\x89" // U+F0209 eye-off, aliases: hide, visibility-off +#define ICON_MD_EYE_OFF_OUTLINE "\xf3\xb0\x9b\x91" // U+F06D1 eye-off-outline, aliases: hide-outline, visibility-off-outline +#define ICON_MD_EYE_OUTLINE "\xf3\xb0\x9b\x90" // U+F06D0 eye-outline, aliases: show-outline, visibility-outline +#define ICON_MD_EYE_PLUS "\xf3\xb0\xa1\xab" // U+F086B eye-plus, aliases: eye-add +#define ICON_MD_EYE_PLUS_OUTLINE "\xf3\xb0\xa1\xac" // U+F086C eye-plus-outline, aliases: eye-add-outline +#define ICON_MD_EYE_REFRESH "\xf3\xb1\xa5\xbc" // U+F197C eye-refresh, aliases: view-refresh +#define ICON_MD_EYE_REFRESH_OUTLINE "\xf3\xb1\xa5\xbd" // U+F197D eye-refresh-outline, aliases: view-refresh-outline +#define ICON_MD_EYE_REMOVE "\xf3\xb1\x97\xa3" // U+F15E3 eye-remove +#define ICON_MD_EYE_REMOVE_OUTLINE "\xf3\xb1\x97\xa4" // U+F15E4 eye-remove-outline +#define ICON_MD_EYE_SETTINGS "\xf3\xb0\xa1\xad" // U+F086D eye-settings, tags: Settings +#define ICON_MD_EYE_SETTINGS_OUTLINE "\xf3\xb0\xa1\xae" // U+F086E eye-settings-outline, tags: Settings +#define ICON_MD_EYEDROPPER "\xf3\xb0\x88\x8a" // U+F020A eyedropper, aliases: pipette, tags: Color, Drawing / Art, Science +#define ICON_MD_EYEDROPPER_MINUS "\xf3\xb1\x8f\x9d" // U+F13DD eyedropper-minus, tags: Science +#define ICON_MD_EYEDROPPER_OFF "\xf3\xb1\x8f\x9f" // U+F13DF eyedropper-off, tags: Science +#define ICON_MD_EYEDROPPER_PLUS "\xf3\xb1\x8f\x9c" // U+F13DC eyedropper-plus, tags: Science +#define ICON_MD_EYEDROPPER_REMOVE "\xf3\xb1\x8f\x9e" // U+F13DE eyedropper-remove, tags: Science +#define ICON_MD_EYEDROPPER_VARIANT \ + "\xf3\xb0\x88\x8b" // U+F020B eyedropper-variant, aliases: colorize, colourise, pipette-variant, tags: Color, + // Science +#define ICON_MD_FACE_AGENT "\xf3\xb0\xb5\xb0" // U+F0D70 face-agent, aliases: customer-service, support, emoji-agent, emoticon-agent +#define ICON_MD_FACE_MAN "\xf3\xb0\x99\x83" // U+F0643 face-man, aliases: face-male, emoji-man, emoticon-man, tags: People / Family +#define ICON_MD_FACE_MAN_OUTLINE \ + "\xf3\xb0\xae\x96" // U+F0B96 face-man-outline, aliases: face-male-outline, emoji-man-outline, emoticon-man-outline, + // tags: People / Family +#define ICON_MD_FACE_MAN_PROFILE \ + "\xf3\xb0\x99\x84" // U+F0644 face-man-profile, aliases: face-male-profile, emoji-man-profile, emoticon-man-profile, + // tags: People / Family +#define ICON_MD_FACE_MAN_SHIMMER \ + "\xf3\xb1\x97\x8c" // U+F15CC face-man-shimmer, aliases: face-retouching-natural, face-male-shimmer, + // emoji-man-shimmer, emoticon-man-shimmer, tags: Photography, Account / User, Health / Beauty, + // People / Family +#define ICON_MD_FACE_MAN_SHIMMER_OUTLINE \ + "\xf3\xb1\x97\x8d" // U+F15CD face-man-shimmer-outline, aliases: face-retouching-natural-outline, + // face-male-shimmer-outline, emoji-man-shimmer-outline, emoticon-man-shimmer-outline, tags: + // People / Family, Photography, Health / Beauty, Account / User +#define ICON_MD_FACE_MASK "\xf3\xb1\x96\x86" // U+F1586 face-mask, tags: Medical / Hospital, Clothing +#define ICON_MD_FACE_MASK_OUTLINE "\xf3\xb1\x96\x87" // U+F1587 face-mask-outline, tags: Medical / Hospital, Clothing +#define ICON_MD_FACE_RECOGNITION "\xf3\xb0\xb1\xbb" // U+F0C7B face-recognition, aliases: facial-recognition, scan, tags: Photography +#define ICON_MD_FACE_WOMAN "\xf3\xb1\x81\xb7" // U+F1077 face-woman, aliases: face-female, emoji-woman, emoticon-woman, tags: People / Family +#define ICON_MD_FACE_WOMAN_OUTLINE \ + "\xf3\xb1\x81\xb8" // U+F1078 face-woman-outline, aliases: face-female-outline, emoji-woman-outline, + // emoticon-woman-outline, tags: People / Family +#define ICON_MD_FACE_WOMAN_PROFILE \ + "\xf3\xb1\x81\xb6" // U+F1076 face-woman-profile, aliases: face-female-profile, emoji-woman-profile, + // emoticon-woman-profile, tags: People / Family +#define ICON_MD_FACE_WOMAN_SHIMMER \ + "\xf3\xb1\x97\x8e" // U+F15CE face-woman-shimmer, aliases: face-retouching-natural-woman, face-female-shimmer, + // emoji-woman-shimmer, emoticon-woman-shimmer, tags: People / Family, Photography, Health / + // Beauty, Account / User +#define ICON_MD_FACE_WOMAN_SHIMMER_OUTLINE \ + "\xf3\xb1\x97\x8f" // U+F15CF face-woman-shimmer-outline, aliases: face-retouching-natural-woman-outline, + // face-female-shimmer-outline, emoji-woman-shimmer-outline, emoticon-woman-shimmer-outline, + // tags: People / Family, Photography, Health / Beauty, Account / User +#define ICON_MD_FACEBOOK "\xf3\xb0\x88\x8c" // U+F020C facebook, tags: Brand / Logo, Social Media +#define ICON_MD_FACEBOOK_GAMING "\xf3\xb0\x9f\x9d" // U+F07DD facebook-gaming, tags: Brand / Logo +#define ICON_MD_FACEBOOK_MESSENGER "\xf3\xb0\x88\x8e" // U+F020E facebook-messenger, tags: Brand / Logo, Social Media +#define ICON_MD_FACEBOOK_WORKPLACE "\xf3\xb0\xac\xb1" // U+F0B31 facebook-workplace, tags: Brand / Logo, Social Media +#define ICON_MD_FACTORY "\xf3\xb0\x88\x8f" // U+F020F factory, aliases: industrial, tags: Places +#define ICON_MD_FAMILY_TREE "\xf3\xb1\x98\x8e" // U+F160E family-tree, tags: People / Family +#define ICON_MD_FAN "\xf3\xb0\x88\x90" // U+F0210 fan, tags: Home Automation, Automotive +#define ICON_MD_FAN_ALERT "\xf3\xb1\x91\xac" // U+F146C fan-alert, tags: Home Automation, Alert / Error +#define ICON_MD_FAN_AUTO "\xf3\xb1\x9c\x9d" // U+F171D fan-auto +#define ICON_MD_FAN_CHEVRON_DOWN "\xf3\xb1\x91\xad" // U+F146D fan-chevron-down, aliases: fan-speed-down, tags: Home Automation +#define ICON_MD_FAN_CHEVRON_UP "\xf3\xb1\x91\xae" // U+F146E fan-chevron-up, aliases: fan-speed-up, tags: Home Automation +#define ICON_MD_FAN_CLOCK \ + "\xf3\xb1\xa8\xba" // U+F1A3A fan-clock, aliases: fan-clock, fan-schedule, fan-timer, tags: Home Automation, Date / + // Time +#define ICON_MD_FAN_MINUS "\xf3\xb1\x91\xb0" // U+F1470 fan-minus, tags: Home Automation +#define ICON_MD_FAN_OFF "\xf3\xb0\xa0\x9d" // U+F081D fan-off, tags: Home Automation, Automotive +#define ICON_MD_FAN_PLUS "\xf3\xb1\x91\xaf" // U+F146F fan-plus, tags: Home Automation +#define ICON_MD_FAN_REMOVE "\xf3\xb1\x91\xb1" // U+F1471 fan-remove, tags: Home Automation +#define ICON_MD_FAN_SPEED_1 "\xf3\xb1\x91\xb2" // U+F1472 fan-speed-1, aliases: fan-speed-low, tags: Home Automation +#define ICON_MD_FAN_SPEED_2 "\xf3\xb1\x91\xb3" // U+F1473 fan-speed-2, aliases: fan-speed-medium, tags: Home Automation +#define ICON_MD_FAN_SPEED_3 "\xf3\xb1\x91\xb4" // U+F1474 fan-speed-3, aliases: fan-speed-high, tags: Home Automation +#define ICON_MD_FAST_FORWARD "\xf3\xb0\x88\x91" // U+F0211 fast-forward +#define ICON_MD_FAST_FORWARD_10 "\xf3\xb0\xb5\xb1" // U+F0D71 fast-forward-10 +#define ICON_MD_FAST_FORWARD_15 "\xf3\xb1\xa4\xba" // U+F193A fast-forward-15 +#define ICON_MD_FAST_FORWARD_30 "\xf3\xb0\xb4\x86" // U+F0D06 fast-forward-30 +#define ICON_MD_FAST_FORWARD_45 "\xf3\xb1\xac\x92" // U+F1B12 fast-forward-45 +#define ICON_MD_FAST_FORWARD_5 "\xf3\xb1\x87\xb8" // U+F11F8 fast-forward-5 +#define ICON_MD_FAST_FORWARD_60 "\xf3\xb1\x98\x8b" // U+F160B fast-forward-60 +#define ICON_MD_FAST_FORWARD_OUTLINE "\xf3\xb0\x9b\x92" // U+F06D2 fast-forward-outline +#define ICON_MD_FAUCET "\xf3\xb1\xac\xa9" // U+F1B29 faucet, aliases: kitchen-tap, bathroom-tap, sink, tags: Home Automation +#define ICON_MD_FAUCET_VARIANT "\xf3\xb1\xac\xaa" // U+F1B2A faucet-variant, aliases: bathroom-tap, kitchen-tap, sink, tags: Home Automation +#define ICON_MD_FAX "\xf3\xb0\x88\x92" // U+F0212 fax, tags: Printer, Cellphone / Phone +#define ICON_MD_FEATHER "\xf3\xb0\x9b\x93" // U+F06D3 feather, aliases: quill, tags: Nature +#define ICON_MD_FEATURE_SEARCH "\xf3\xb0\xa9\x89" // U+F0A49 feature-search, aliases: box, box-search +#define ICON_MD_FEATURE_SEARCH_OUTLINE "\xf3\xb0\xa9\x8a" // U+F0A4A feature-search-outline, aliases: box, box-outline, box-search-outline +#define ICON_MD_FEDORA "\xf3\xb0\xa3\x9b" // U+F08DB fedora, tags: Brand / Logo +#define ICON_MD_FENCE "\xf3\xb1\x9e\x9a" // U+F179A fence, aliases: railway, train-track, tags: Home Automation +#define ICON_MD_FENCE_ELECTRIC "\xf3\xb1\x9f\xb6" // U+F17F6 fence-electric, aliases: railway-electric, train-track-electric, tags: Home Automation +#define ICON_MD_FENCING "\xf3\xb1\x93\x81" // U+F14C1 fencing, aliases: sword-fight, tags: Sport +#define ICON_MD_FERRIS_WHEEL "\xf3\xb0\xba\xa4" // U+F0EA4 ferris-wheel +#define ICON_MD_FERRY \ + "\xf3\xb0\x88\x93" // U+F0213 ferry, aliases: cargo-ship, boat, ship, directions-boat, directions-ferry, tags: + // Transportation + Water, Navigation +#define ICON_MD_FILE "\xf3\xb0\x88\x94" // U+F0214 file, aliases: insert-drive-file, draft, paper, tags: Files / Folders +#define ICON_MD_FILE_ACCOUNT "\xf3\xb0\x9c\xbb" // U+F073B file-account, aliases: file-user, resume, tags: Account / User, Files / Folders +#define ICON_MD_FILE_ACCOUNT_OUTLINE "\xf3\xb1\x80\xa8" // U+F1028 file-account-outline, tags: Files / Folders, Account / User +#define ICON_MD_FILE_ALERT "\xf3\xb0\xa9\x8b" // U+F0A4B file-alert, aliases: file-warning, tags: Files / Folders, Alert / Error +#define ICON_MD_FILE_ALERT_OUTLINE \ + "\xf3\xb0\xa9\x8c" // U+F0A4C file-alert-outline, aliases: file-warning-outline, tags: Files / Folders, Alert / + // Error +#define ICON_MD_FILE_ARROW_LEFT_RIGHT \ + "\xf3\xb1\xaa\x93" // U+F1A93 file-arrow-left-right, aliases: file-exchange, file-transfer, file-swap, tags: Files / + // Folders +#define ICON_MD_FILE_ARROW_LEFT_RIGHT_OUTLINE \ + "\xf3\xb1\xaa\x94" // U+F1A94 file-arrow-left-right-outline, aliases: file-exchange-outline, file-swap-outline, + // file-transfer-outline, tags: Files / Folders +#define ICON_MD_FILE_ARROW_UP_DOWN \ + "\xf3\xb1\xaa\x95" // U+F1A95 file-arrow-up-down, aliases: file-exchange, file-swap, file-transfer, + // file-upload-download, tags: Files / Folders +#define ICON_MD_FILE_ARROW_UP_DOWN_OUTLINE \ + "\xf3\xb1\xaa\x96" // U+F1A96 file-arrow-up-down-outline, aliases: file-exchange-outline, file-swap-outline, + // file-transfer-outline, file-upload-download-outline, tags: Files / Folders +#define ICON_MD_FILE_CABINET "\xf3\xb0\xaa\xb6" // U+F0AB6 file-cabinet, aliases: filing-cabinet, tags: Files / Folders +#define ICON_MD_FILE_CAD "\xf3\xb0\xbb\xab" // U+F0EEB file-cad, tags: Files / Folders +#define ICON_MD_FILE_CAD_BOX "\xf3\xb0\xbb\xac" // U+F0EEC file-cad-box, tags: Files / Folders +#define ICON_MD_FILE_CANCEL "\xf3\xb0\xb7\x86" // U+F0DC6 file-cancel, aliases: ban, forbid, tags: Files / Folders +#define ICON_MD_FILE_CANCEL_OUTLINE "\xf3\xb0\xb7\x87" // U+F0DC7 file-cancel-outline, aliases: ban, forbid, tags: Files / Folders +#define ICON_MD_FILE_CERTIFICATE "\xf3\xb1\x86\x86" // U+F1186 file-certificate, tags: Files / Folders +#define ICON_MD_FILE_CERTIFICATE_OUTLINE "\xf3\xb1\x86\x87" // U+F1187 file-certificate-outline, tags: Files / Folders +#define ICON_MD_FILE_CHART "\xf3\xb0\x88\x95" // U+F0215 file-chart, aliases: file-report, file-graph, tags: Files / Folders +#define ICON_MD_FILE_CHART_CHECK "\xf3\xb1\xa7\x86" // U+F19C6 file-chart-check, tags: Files / Folders +#define ICON_MD_FILE_CHART_CHECK_OUTLINE "\xf3\xb1\xa7\x87" // U+F19C7 file-chart-check-outline, tags: Files / Folders +#define ICON_MD_FILE_CHART_OUTLINE \ + "\xf3\xb1\x80\xa9" // U+F1029 file-chart-outline, aliases: file-graph-outline, file-report-outline, tags: Files / + // Folders +#define ICON_MD_FILE_CHECK "\xf3\xb0\x88\x96" // U+F0216 file-check, aliases: file-tick, tags: Files / Folders +#define ICON_MD_FILE_CHECK_OUTLINE "\xf3\xb0\xb8\xa9" // U+F0E29 file-check-outline, tags: Files / Folders +#define ICON_MD_FILE_CLOCK "\xf3\xb1\x8b\xa1" // U+F12E1 file-clock, tags: Files / Folders, Date / Time +#define ICON_MD_FILE_CLOCK_OUTLINE "\xf3\xb1\x8b\xa2" // U+F12E2 file-clock-outline, tags: Files / Folders, Date / Time +#define ICON_MD_FILE_CLOUD "\xf3\xb0\x88\x97" // U+F0217 file-cloud, tags: Cloud, Files / Folders +#define ICON_MD_FILE_CLOUD_OUTLINE "\xf3\xb1\x80\xaa" // U+F102A file-cloud-outline, tags: Files / Folders, Cloud +#define ICON_MD_FILE_CODE "\xf3\xb0\x88\xae" // U+F022E file-code, tags: Files / Folders, Developer / Languages +#define ICON_MD_FILE_CODE_OUTLINE "\xf3\xb1\x80\xab" // U+F102B file-code-outline, tags: Files / Folders, Developer / Languages +#define ICON_MD_FILE_COG "\xf3\xb1\x81\xbb" // U+F107B file-cog, aliases: file-settings-cog, tags: Settings, Files / Folders +#define ICON_MD_FILE_COG_OUTLINE "\xf3\xb1\x81\xbc" // U+F107C file-cog-outline, aliases: file-settings-cog-outline, tags: Settings, Files / Folders +#define ICON_MD_FILE_COMPARE "\xf3\xb0\xa2\xaa" // U+F08AA file-compare, tags: Files / Folders +#define ICON_MD_FILE_DELIMITED "\xf3\xb0\x88\x98" // U+F0218 file-delimited, aliases: file-csv, tags: Files / Folders +#define ICON_MD_FILE_DELIMITED_OUTLINE "\xf3\xb0\xba\xa5" // U+F0EA5 file-delimited-outline, aliases: file-csv-outline, tags: Files / Folders +#define ICON_MD_FILE_DOCUMENT "\xf3\xb0\x88\x99" // U+F0219 file-document, tags: Files / Folders +#define ICON_MD_FILE_DOCUMENT_ALERT \ + "\xf3\xb1\xaa\x97" // U+F1A97 file-document-alert, aliases: file-document-error, tags: Files / Folders, Alert / + // Error +#define ICON_MD_FILE_DOCUMENT_ALERT_OUTLINE \ + "\xf3\xb1\xaa\x98" // U+F1A98 file-document-alert-outline, aliases: file-document-error-outline, tags: Files / + // Folders, Alert / Error +#define ICON_MD_FILE_DOCUMENT_CHECK "\xf3\xb1\xaa\x99" // U+F1A99 file-document-check, aliases: file-document-tick, tags: Files / Folders +#define ICON_MD_FILE_DOCUMENT_CHECK_OUTLINE \ + "\xf3\xb1\xaa\x9a" // U+F1A9A file-document-check-outline, aliases: file-document-tick-outline, tags: Files / + // Folders +#define ICON_MD_FILE_DOCUMENT_EDIT "\xf3\xb0\xb7\x88" // U+F0DC8 file-document-edit, aliases: contract, tags: Edit / Modify, Files / Folders +#define ICON_MD_FILE_DOCUMENT_EDIT_OUTLINE \ + "\xf3\xb0\xb7\x89" // U+F0DC9 file-document-edit-outline, aliases: contract-outline, tags: Edit / Modify, Files / + // Folders +#define ICON_MD_FILE_DOCUMENT_MINUS "\xf3\xb1\xaa\x9b" // U+F1A9B file-document-minus, tags: Files / Folders +#define ICON_MD_FILE_DOCUMENT_MINUS_OUTLINE "\xf3\xb1\xaa\x9c" // U+F1A9C file-document-minus-outline, tags: Files / Folders +#define ICON_MD_FILE_DOCUMENT_MULTIPLE "\xf3\xb1\x94\x97" // U+F1517 file-document-multiple, tags: Files / Folders +#define ICON_MD_FILE_DOCUMENT_MULTIPLE_OUTLINE "\xf3\xb1\x94\x98" // U+F1518 file-document-multiple-outline, tags: Files / Folders +#define ICON_MD_FILE_DOCUMENT_OUTLINE "\xf3\xb0\xa7\xae" // U+F09EE file-document-outline, tags: Files / Folders +#define ICON_MD_FILE_DOCUMENT_PLUS "\xf3\xb1\xaa\x9d" // U+F1A9D file-document-plus, aliases: file-document-add, tags: Files / Folders +#define ICON_MD_FILE_DOCUMENT_PLUS_OUTLINE "\xf3\xb1\xaa\x9e" // U+F1A9E file-document-plus-outline, aliases: file-document-add-outline, tags: Files / Folders +#define ICON_MD_FILE_DOCUMENT_REMOVE "\xf3\xb1\xaa\x9f" // U+F1A9F file-document-remove, aliases: file-document-delete, tags: Files / Folders +#define ICON_MD_FILE_DOCUMENT_REMOVE_OUTLINE \ + "\xf3\xb1\xaa\xa0" // U+F1AA0 file-document-remove-outline, aliases: file-document-delete-outline, tags: Files / + // Folders +#define ICON_MD_FILE_DOWNLOAD "\xf3\xb0\xa5\xa5" // U+F0965 file-download, tags: Files / Folders +#define ICON_MD_FILE_DOWNLOAD_OUTLINE "\xf3\xb0\xa5\xa6" // U+F0966 file-download-outline, tags: Files / Folders +#define ICON_MD_FILE_EDIT "\xf3\xb1\x87\xa7" // U+F11E7 file-edit, tags: Edit / Modify, Files / Folders +#define ICON_MD_FILE_EDIT_OUTLINE "\xf3\xb1\x87\xa8" // U+F11E8 file-edit-outline, tags: Edit / Modify, Files / Folders +#define ICON_MD_FILE_EXCEL "\xf3\xb0\x88\x9b" // U+F021B file-excel, tags: Files / Folders +#define ICON_MD_FILE_EXCEL_BOX "\xf3\xb0\x88\x9c" // U+F021C file-excel-box, tags: Files / Folders +#define ICON_MD_FILE_EXCEL_BOX_OUTLINE "\xf3\xb1\x80\xac" // U+F102C file-excel-box-outline, tags: Files / Folders +#define ICON_MD_FILE_EXCEL_OUTLINE "\xf3\xb1\x80\xad" // U+F102D file-excel-outline, tags: Files / Folders +#define ICON_MD_FILE_EXPORT "\xf3\xb0\x88\x9d" // U+F021D file-export, tags: Files / Folders +#define ICON_MD_FILE_EXPORT_OUTLINE "\xf3\xb1\x80\xae" // U+F102E file-export-outline, tags: Files / Folders +#define ICON_MD_FILE_EYE "\xf3\xb0\xb7\x8a" // U+F0DCA file-eye, tags: Files / Folders +#define ICON_MD_FILE_EYE_OUTLINE "\xf3\xb0\xb7\x8b" // U+F0DCB file-eye-outline, tags: Files / Folders +#define ICON_MD_FILE_FIND "\xf3\xb0\x88\x9e" // U+F021E file-find, aliases: print-preview, find-in-page, tags: Files / Folders +#define ICON_MD_FILE_FIND_OUTLINE "\xf3\xb0\xae\x97" // U+F0B97 file-find-outline, tags: Files / Folders +#define ICON_MD_FILE_GIF_BOX "\xf3\xb0\xb5\xb8" // U+F0D78 file-gif-box, tags: Files / Folders +#define ICON_MD_FILE_HIDDEN "\xf3\xb0\x98\x93" // U+F0613 file-hidden, tags: Files / Folders +#define ICON_MD_FILE_IMAGE "\xf3\xb0\x88\x9f" // U+F021F file-image, tags: Files / Folders +#define ICON_MD_FILE_IMAGE_MARKER "\xf3\xb1\x9d\xb2" // U+F1772 file-image-marker, aliases: file-image-location, tags: Files / Folders, Navigation +#define ICON_MD_FILE_IMAGE_MARKER_OUTLINE \ + "\xf3\xb1\x9d\xb3" // U+F1773 file-image-marker-outline, aliases: file-image-location-outline, tags: Files / + // Folders, Navigation +#define ICON_MD_FILE_IMAGE_MINUS "\xf3\xb1\xa4\xbb" // U+F193B file-image-minus, tags: Files / Folders +#define ICON_MD_FILE_IMAGE_MINUS_OUTLINE "\xf3\xb1\xa4\xbc" // U+F193C file-image-minus-outline, tags: Files / Folders +#define ICON_MD_FILE_IMAGE_OUTLINE "\xf3\xb0\xba\xb0" // U+F0EB0 file-image-outline, tags: Files / Folders +#define ICON_MD_FILE_IMAGE_PLUS "\xf3\xb1\xa4\xbd" // U+F193D file-image-plus, aliases: file-image-add, tags: Files / Folders +#define ICON_MD_FILE_IMAGE_PLUS_OUTLINE "\xf3\xb1\xa4\xbe" // U+F193E file-image-plus-outline, aliases: file-image-add-outline, tags: Files / Folders +#define ICON_MD_FILE_IMAGE_REMOVE "\xf3\xb1\xa4\xbf" // U+F193F file-image-remove, tags: Files / Folders +#define ICON_MD_FILE_IMAGE_REMOVE_OUTLINE "\xf3\xb1\xa5\x80" // U+F1940 file-image-remove-outline, tags: Files / Folders +#define ICON_MD_FILE_IMPORT "\xf3\xb0\x88\xa0" // U+F0220 file-import, tags: Files / Folders +#define ICON_MD_FILE_IMPORT_OUTLINE "\xf3\xb1\x80\xaf" // U+F102F file-import-outline, tags: Files / Folders +#define ICON_MD_FILE_JPG_BOX \ + "\xf3\xb0\x88\xa5" // U+F0225 file-jpg-box, aliases: file-jpeg-box, image-jpg-box, image-jpeg-box, tags: Files / + // Folders +#define ICON_MD_FILE_KEY "\xf3\xb1\x86\x84" // U+F1184 file-key, tags: Files / Folders +#define ICON_MD_FILE_KEY_OUTLINE "\xf3\xb1\x86\x85" // U+F1185 file-key-outline, tags: Files / Folders +#define ICON_MD_FILE_LINK "\xf3\xb1\x85\xb7" // U+F1177 file-link, tags: Files / Folders +#define ICON_MD_FILE_LINK_OUTLINE "\xf3\xb1\x85\xb8" // U+F1178 file-link-outline, tags: Files / Folders +#define ICON_MD_FILE_LOCK "\xf3\xb0\x88\xa1" // U+F0221 file-lock, tags: Lock, Files / Folders +#define ICON_MD_FILE_LOCK_OPEN "\xf3\xb1\xa7\x88" // U+F19C8 file-lock-open, tags: Lock, Files / Folders +#define ICON_MD_FILE_LOCK_OPEN_OUTLINE "\xf3\xb1\xa7\x89" // U+F19C9 file-lock-open-outline, tags: Lock, Files / Folders +#define ICON_MD_FILE_LOCK_OUTLINE "\xf3\xb1\x80\xb0" // U+F1030 file-lock-outline, tags: Files / Folders, Lock +#define ICON_MD_FILE_MARKER "\xf3\xb1\x9d\xb4" // U+F1774 file-marker, aliases: file-location, tags: Files / Folders, Navigation +#define ICON_MD_FILE_MARKER_OUTLINE "\xf3\xb1\x9d\xb5" // U+F1775 file-marker-outline, aliases: file-location-outline, tags: Files / Folders, Navigation +#define ICON_MD_FILE_MINUS "\xf3\xb1\xaa\xa1" // U+F1AA1 file-minus, tags: Files / Folders +#define ICON_MD_FILE_MINUS_OUTLINE "\xf3\xb1\xaa\xa2" // U+F1AA2 file-minus-outline, tags: Files / Folders +#define ICON_MD_FILE_MOVE "\xf3\xb0\xaa\xb9" // U+F0AB9 file-move, tags: Files / Folders +#define ICON_MD_FILE_MOVE_OUTLINE "\xf3\xb1\x80\xb1" // U+F1031 file-move-outline, tags: Files / Folders +#define ICON_MD_FILE_MULTIPLE "\xf3\xb0\x88\xa2" // U+F0222 file-multiple, aliases: files, tags: Files / Folders +#define ICON_MD_FILE_MULTIPLE_OUTLINE "\xf3\xb1\x80\xb2" // U+F1032 file-multiple-outline, tags: Files / Folders +#define ICON_MD_FILE_MUSIC "\xf3\xb0\x88\xa3" // U+F0223 file-music, tags: Files / Folders, Music +#define ICON_MD_FILE_MUSIC_OUTLINE "\xf3\xb0\xb8\xaa" // U+F0E2A file-music-outline, tags: Files / Folders, Music +#define ICON_MD_FILE_OUTLINE "\xf3\xb0\x88\xa4" // U+F0224 file-outline, aliases: paper-outline, tags: Files / Folders +#define ICON_MD_FILE_PDF_BOX "\xf3\xb0\x88\xa6" // U+F0226 file-pdf-box, aliases: file-acrobat-box, adobe-acrobat, tags: Files / Folders +#define ICON_MD_FILE_PERCENT "\xf3\xb0\xa0\x9e" // U+F081E file-percent, tags: Files / Folders +#define ICON_MD_FILE_PERCENT_OUTLINE "\xf3\xb1\x80\xb3" // U+F1033 file-percent-outline, tags: Files / Folders +#define ICON_MD_FILE_PHONE "\xf3\xb1\x85\xb9" // U+F1179 file-phone, tags: Files / Folders +#define ICON_MD_FILE_PHONE_OUTLINE "\xf3\xb1\x85\xba" // U+F117A file-phone-outline, tags: Files / Folders +#define ICON_MD_FILE_PLUS "\xf3\xb0\x9d\x92" // U+F0752 file-plus, aliases: note-add, tags: Files / Folders +#define ICON_MD_FILE_PLUS_OUTLINE "\xf3\xb0\xbb\xad" // U+F0EED file-plus-outline, tags: Files / Folders +#define ICON_MD_FILE_PNG_BOX "\xf3\xb0\xb8\xad" // U+F0E2D file-png-box, tags: Files / Folders +#define ICON_MD_FILE_POWERPOINT "\xf3\xb0\x88\xa7" // U+F0227 file-powerpoint, tags: Files / Folders +#define ICON_MD_FILE_POWERPOINT_BOX "\xf3\xb0\x88\xa8" // U+F0228 file-powerpoint-box, tags: Files / Folders +#define ICON_MD_FILE_POWERPOINT_BOX_OUTLINE "\xf3\xb1\x80\xb4" // U+F1034 file-powerpoint-box-outline, tags: Files / Folders +#define ICON_MD_FILE_POWERPOINT_OUTLINE "\xf3\xb1\x80\xb5" // U+F1035 file-powerpoint-outline, tags: Files / Folders +#define ICON_MD_FILE_PRESENTATION_BOX "\xf3\xb0\x88\xa9" // U+F0229 file-presentation-box, tags: Files / Folders +#define ICON_MD_FILE_QUESTION "\xf3\xb0\xa1\xaf" // U+F086F file-question, tags: Files / Folders +#define ICON_MD_FILE_QUESTION_OUTLINE "\xf3\xb1\x80\xb6" // U+F1036 file-question-outline, tags: Files / Folders +#define ICON_MD_FILE_REFRESH "\xf3\xb0\xa4\x98" // U+F0918 file-refresh, tags: Files / Folders +#define ICON_MD_FILE_REFRESH_OUTLINE "\xf3\xb0\x95\x81" // U+F0541 file-refresh-outline, tags: Files / Folders +#define ICON_MD_FILE_REMOVE "\xf3\xb0\xae\x98" // U+F0B98 file-remove, tags: Files / Folders +#define ICON_MD_FILE_REMOVE_OUTLINE "\xf3\xb1\x80\xb7" // U+F1037 file-remove-outline, tags: Files / Folders +#define ICON_MD_FILE_REPLACE "\xf3\xb0\xac\xb2" // U+F0B32 file-replace, tags: Files / Folders +#define ICON_MD_FILE_REPLACE_OUTLINE "\xf3\xb0\xac\xb3" // U+F0B33 file-replace-outline, tags: Files / Folders +#define ICON_MD_FILE_RESTORE "\xf3\xb0\x99\xb0" // U+F0670 file-restore, aliases: restore-page, tags: Files / Folders +#define ICON_MD_FILE_RESTORE_OUTLINE "\xf3\xb1\x80\xb8" // U+F1038 file-restore-outline, tags: Files / Folders +#define ICON_MD_FILE_ROTATE_LEFT \ + "\xf3\xb1\xa8\xbb" // U+F1A3B file-rotate-left, aliases: file-rotate-counter-clockwise, file-rotate-ccw, tags: Files + // / Folders +#define ICON_MD_FILE_ROTATE_LEFT_OUTLINE \ + "\xf3\xb1\xa8\xbc" // U+F1A3C file-rotate-left-outline, aliases: file-rotate-counter-clockwise-outline, + // file-rotate-ccw-outline, tags: Files / Folders +#define ICON_MD_FILE_ROTATE_RIGHT "\xf3\xb1\xa8\xbd" // U+F1A3D file-rotate-right, aliases: file-rotate-clockwise, tags: Files / Folders +#define ICON_MD_FILE_ROTATE_RIGHT_OUTLINE "\xf3\xb1\xa8\xbe" // U+F1A3E file-rotate-right-outline, aliases: file-rotate-clockwise, tags: Files / Folders +#define ICON_MD_FILE_SEARCH "\xf3\xb0\xb1\xbc" // U+F0C7C file-search, tags: Files / Folders +#define ICON_MD_FILE_SEARCH_OUTLINE "\xf3\xb0\xb1\xbd" // U+F0C7D file-search-outline, tags: Files / Folders +#define ICON_MD_FILE_SEND "\xf3\xb0\x88\xaa" // U+F022A file-send, aliases: file-move, tags: Files / Folders +#define ICON_MD_FILE_SEND_OUTLINE "\xf3\xb1\x80\xb9" // U+F1039 file-send-outline, tags: Files / Folders +#define ICON_MD_FILE_SETTINGS "\xf3\xb1\x81\xb9" // U+F1079 file-settings, tags: Settings, Files / Folders +#define ICON_MD_FILE_SETTINGS_OUTLINE "\xf3\xb1\x81\xba" // U+F107A file-settings-outline, tags: Settings, Files / Folders +#define ICON_MD_FILE_SIGN "\xf3\xb1\xa7\x83" // U+F19C3 file-sign, aliases: contract-sign, document-sign, tags: Banking, Files / Folders +#define ICON_MD_FILE_STAR "\xf3\xb1\x80\xba" // U+F103A file-star, aliases: file-favorite, tags: Files / Folders +#define ICON_MD_FILE_STAR_OUTLINE "\xf3\xb1\x80\xbb" // U+F103B file-star-outline, aliases: file-favorite-outline, tags: Files / Folders +#define ICON_MD_FILE_SWAP "\xf3\xb0\xbe\xb4" // U+F0FB4 file-swap, aliases: file-transfer, tags: Files / Folders +#define ICON_MD_FILE_SWAP_OUTLINE "\xf3\xb0\xbe\xb5" // U+F0FB5 file-swap-outline, aliases: file-transfer-outline, tags: Files / Folders +#define ICON_MD_FILE_SYNC "\xf3\xb1\x88\x96" // U+F1216 file-sync, tags: Files / Folders +#define ICON_MD_FILE_SYNC_OUTLINE "\xf3\xb1\x88\x97" // U+F1217 file-sync-outline, tags: Files / Folders +#define ICON_MD_FILE_TABLE "\xf3\xb0\xb1\xbe" // U+F0C7E file-table, tags: Files / Folders +#define ICON_MD_FILE_TABLE_BOX "\xf3\xb1\x83\xa1" // U+F10E1 file-table-box, tags: Files / Folders +#define ICON_MD_FILE_TABLE_BOX_MULTIPLE "\xf3\xb1\x83\xa2" // U+F10E2 file-table-box-multiple, tags: Files / Folders +#define ICON_MD_FILE_TABLE_BOX_MULTIPLE_OUTLINE "\xf3\xb1\x83\xa3" // U+F10E3 file-table-box-multiple-outline, tags: Files / Folders +#define ICON_MD_FILE_TABLE_BOX_OUTLINE "\xf3\xb1\x83\xa4" // U+F10E4 file-table-box-outline, tags: Files / Folders +#define ICON_MD_FILE_TABLE_OUTLINE "\xf3\xb0\xb1\xbf" // U+F0C7F file-table-outline, tags: Files / Folders +#define ICON_MD_FILE_TREE "\xf3\xb0\x99\x85" // U+F0645 file-tree, aliases: subtasks, tags: Files / Folders +#define ICON_MD_FILE_TREE_OUTLINE "\xf3\xb1\x8f\x92" // U+F13D2 file-tree-outline, tags: Files / Folders +#define ICON_MD_FILE_UNDO "\xf3\xb0\xa3\x9c" // U+F08DC file-undo, aliases: file-revert, file-discard, tags: Files / Folders +#define ICON_MD_FILE_UNDO_OUTLINE "\xf3\xb1\x80\xbc" // U+F103C file-undo-outline, tags: Files / Folders +#define ICON_MD_FILE_UPLOAD "\xf3\xb0\xa9\x8d" // U+F0A4D file-upload, tags: Files / Folders +#define ICON_MD_FILE_UPLOAD_OUTLINE "\xf3\xb0\xa9\x8e" // U+F0A4E file-upload-outline, tags: Files / Folders +#define ICON_MD_FILE_VIDEO "\xf3\xb0\x88\xab" // U+F022B file-video, tags: Video / Movie, Files / Folders +#define ICON_MD_FILE_VIDEO_OUTLINE "\xf3\xb0\xb8\xac" // U+F0E2C file-video-outline, tags: Files / Folders +#define ICON_MD_FILE_WORD "\xf3\xb0\x88\xac" // U+F022C file-word, tags: Files / Folders +#define ICON_MD_FILE_WORD_BOX "\xf3\xb0\x88\xad" // U+F022D file-word-box, tags: Files / Folders +#define ICON_MD_FILE_WORD_BOX_OUTLINE "\xf3\xb1\x80\xbd" // U+F103D file-word-box-outline, tags: Files / Folders +#define ICON_MD_FILE_WORD_OUTLINE "\xf3\xb1\x80\xbe" // U+F103E file-word-outline, tags: Files / Folders +#define ICON_MD_FILE_XML_BOX "\xf3\xb1\xad\x8b" // U+F1B4B file-xml-box, tags: Files / Folders +#define ICON_MD_FILM "\xf3\xb0\x88\xaf" // U+F022F film, aliases: camera-roll, tags: Photography, Video / Movie +#define ICON_MD_FILMSTRIP "\xf3\xb0\x88\xb0" // U+F0230 filmstrip, aliases: local-movies, theaters, tags: Video / Movie +#define ICON_MD_FILMSTRIP_BOX "\xf3\xb0\x8c\xb2" // U+F0332 filmstrip-box +#define ICON_MD_FILMSTRIP_BOX_MULTIPLE "\xf3\xb0\xb4\x98" // U+F0D18 filmstrip-box-multiple, aliases: library-movie, tags: Video / Movie +#define ICON_MD_FILMSTRIP_OFF "\xf3\xb0\x88\xb1" // U+F0231 filmstrip-off, tags: Video / Movie +#define ICON_MD_FILTER "\xf3\xb0\x88\xb2" // U+F0232 filter, aliases: funnel +#define ICON_MD_FILTER_CHECK "\xf3\xb1\xa3\xac" // U+F18EC filter-check, aliases: funnel-check +#define ICON_MD_FILTER_CHECK_OUTLINE "\xf3\xb1\xa3\xad" // U+F18ED filter-check-outline, aliases: funnel-check-outline +#define ICON_MD_FILTER_COG \ + "\xf3\xb1\xaa\xa3" // U+F1AA3 filter-cog, aliases: funnel-settings, filter-settings, funnel-cog, filter-gear, + // funnel-gear, tags: Settings +#define ICON_MD_FILTER_COG_OUTLINE \ + "\xf3\xb1\xaa\xa4" // U+F1AA4 filter-cog-outline, aliases: filter-settings-outline, filter-gear-outline, + // funnel-cog-outline, funnel-settings-outline, funnel-gear-outline, tags: Settings +#define ICON_MD_FILTER_MENU "\xf3\xb1\x83\xa5" // U+F10E5 filter-menu +#define ICON_MD_FILTER_MENU_OUTLINE "\xf3\xb1\x83\xa6" // U+F10E6 filter-menu-outline +#define ICON_MD_FILTER_MINUS "\xf3\xb0\xbb\xae" // U+F0EEE filter-minus, aliases: funnel-minus +#define ICON_MD_FILTER_MINUS_OUTLINE "\xf3\xb0\xbb\xaf" // U+F0EEF filter-minus-outline, aliases: funnel-minus-outline +#define ICON_MD_FILTER_MULTIPLE "\xf3\xb1\xa8\xbf" // U+F1A3F filter-multiple, aliases: funnel-multiple +#define ICON_MD_FILTER_MULTIPLE_OUTLINE "\xf3\xb1\xa9\x80" // U+F1A40 filter-multiple-outline, aliases: funnel-multiple-outline +#define ICON_MD_FILTER_OFF "\xf3\xb1\x93\xaf" // U+F14EF filter-off +#define ICON_MD_FILTER_OFF_OUTLINE "\xf3\xb1\x93\xb0" // U+F14F0 filter-off-outline +#define ICON_MD_FILTER_OUTLINE "\xf3\xb0\x88\xb3" // U+F0233 filter-outline, aliases: funnel-outline +#define ICON_MD_FILTER_PLUS "\xf3\xb0\xbb\xb0" // U+F0EF0 filter-plus, aliases: funnel-plus +#define ICON_MD_FILTER_PLUS_OUTLINE "\xf3\xb0\xbb\xb1" // U+F0EF1 filter-plus-outline, aliases: funnel-plus-outline +#define ICON_MD_FILTER_REMOVE "\xf3\xb0\x88\xb4" // U+F0234 filter-remove, aliases: funnel-remove +#define ICON_MD_FILTER_REMOVE_OUTLINE "\xf3\xb0\x88\xb5" // U+F0235 filter-remove-outline, aliases: funnel-remove-outline +#define ICON_MD_FILTER_SETTINGS "\xf3\xb1\xaa\xa5" // U+F1AA5 filter-settings, aliases: funnel-settings, tags: Settings +#define ICON_MD_FILTER_SETTINGS_OUTLINE "\xf3\xb1\xaa\xa6" // U+F1AA6 filter-settings-outline, aliases: funnel-settings-outline, tags: Settings +#define ICON_MD_FILTER_VARIANT "\xf3\xb0\x88\xb6" // U+F0236 filter-variant, aliases: filter-list +#define ICON_MD_FILTER_VARIANT_MINUS "\xf3\xb1\x84\x92" // U+F1112 filter-variant-minus +#define ICON_MD_FILTER_VARIANT_PLUS "\xf3\xb1\x84\x93" // U+F1113 filter-variant-plus +#define ICON_MD_FILTER_VARIANT_REMOVE "\xf3\xb1\x80\xbf" // U+F103F filter-variant-remove +#define ICON_MD_FINANCE "\xf3\xb0\xa0\x9f" // U+F081F finance, aliases: chart-finance, report-finance, graph-bar, tags: Banking, Math +#define ICON_MD_FIND_REPLACE "\xf3\xb0\x9b\x94" // U+F06D4 find-replace +#define ICON_MD_FINGERPRINT "\xf3\xb0\x88\xb7" // U+F0237 fingerprint +#define ICON_MD_FINGERPRINT_OFF "\xf3\xb0\xba\xb1" // U+F0EB1 fingerprint-off +#define ICON_MD_FIRE "\xf3\xb0\x88\xb8" // U+F0238 fire, aliases: whatshot, flame, gas, natural-gas, hot, tags: Home Automation +#define ICON_MD_FIRE_ALERT "\xf3\xb1\x97\x97" // U+F15D7 fire-alert, aliases: flame-alert, tags: Alert / Error, Home Automation +#define ICON_MD_FIRE_CIRCLE \ + "\xf3\xb1\xa0\x87" // U+F1807 fire-circle, aliases: flame-circle, hot-circle, gas-circle, natural-gas-circle, tags: + // Home Automation +#define ICON_MD_FIRE_EXTINGUISHER "\xf3\xb0\xbb\xb2" // U+F0EF2 fire-extinguisher, tags: Hardware / Tools, Home Automation +#define ICON_MD_FIRE_HYDRANT "\xf3\xb1\x84\xb7" // U+F1137 fire-hydrant +#define ICON_MD_FIRE_HYDRANT_ALERT "\xf3\xb1\x84\xb8" // U+F1138 fire-hydrant-alert, tags: Alert / Error +#define ICON_MD_FIRE_HYDRANT_OFF "\xf3\xb1\x84\xb9" // U+F1139 fire-hydrant-off +#define ICON_MD_FIRE_OFF "\xf3\xb1\x9c\xa2" // U+F1722 fire-off, aliases: flame-off, tags: Home Automation +#define ICON_MD_FIRE_TRUCK "\xf3\xb0\xa2\xab" // U+F08AB fire-truck, aliases: fire-engine, tags: Transportation + Road +#define ICON_MD_FIREBASE "\xf3\xb0\xa5\xa7" // U+F0967 firebase, tags: Brand / Logo +#define ICON_MD_FIREFOX "\xf3\xb0\x88\xb9" // U+F0239 firefox, aliases: mozilla-firefox, tags: Brand / Logo +#define ICON_MD_FIREPLACE "\xf3\xb0\xb8\xae" // U+F0E2E fireplace, tags: Home Automation +#define ICON_MD_FIREPLACE_OFF "\xf3\xb0\xb8\xaf" // U+F0E2F fireplace-off, tags: Home Automation +#define ICON_MD_FIREWIRE "\xf3\xb0\x96\xbe" // U+F05BE firewire +#define ICON_MD_FIREWORK "\xf3\xb0\xb8\xb0" // U+F0E30 firework, aliases: bottle-rocket, tags: Holiday +#define ICON_MD_FIREWORK_OFF "\xf3\xb1\x9c\xa3" // U+F1723 firework-off +#define ICON_MD_FISH "\xf3\xb0\x88\xba" // U+F023A fish, tags: Animal, Food / Drink +#define ICON_MD_FISH_OFF "\xf3\xb1\x8f\xb3" // U+F13F3 fish-off, tags: Food / Drink +#define ICON_MD_FISHBOWL "\xf3\xb0\xbb\xb3" // U+F0EF3 fishbowl, aliases: aquarium, tags: Animal +#define ICON_MD_FISHBOWL_OUTLINE "\xf3\xb0\xbb\xb4" // U+F0EF4 fishbowl-outline, aliases: aquarium-outline, tags: Animal +#define ICON_MD_FIT_TO_PAGE "\xf3\xb0\xbb\xb5" // U+F0EF5 fit-to-page, tags: Text / Content / Format, Arrow +#define ICON_MD_FIT_TO_PAGE_OUTLINE "\xf3\xb0\xbb\xb6" // U+F0EF6 fit-to-page-outline, tags: Text / Content / Format, Arrow +#define ICON_MD_FIT_TO_SCREEN "\xf3\xb1\xa3\xb4" // U+F18F4 fit-to-screen +#define ICON_MD_FIT_TO_SCREEN_OUTLINE "\xf3\xb1\xa3\xb5" // U+F18F5 fit-to-screen-outline +#define ICON_MD_FLAG "\xf3\xb0\x88\xbb" // U+F023B flag, aliases: assistant-photo +#define ICON_MD_FLAG_CHECKERED "\xf3\xb0\x88\xbc" // U+F023C flag-checkered, aliases: goal, tags: Sport +#define ICON_MD_FLAG_MINUS "\xf3\xb0\xae\x99" // U+F0B99 flag-minus +#define ICON_MD_FLAG_MINUS_OUTLINE "\xf3\xb1\x82\xb2" // U+F10B2 flag-minus-outline +#define ICON_MD_FLAG_OFF "\xf3\xb1\xa3\xae" // U+F18EE flag-off +#define ICON_MD_FLAG_OFF_OUTLINE "\xf3\xb1\xa3\xaf" // U+F18EF flag-off-outline +#define ICON_MD_FLAG_OUTLINE "\xf3\xb0\x88\xbd" // U+F023D flag-outline +#define ICON_MD_FLAG_PLUS "\xf3\xb0\xae\x9a" // U+F0B9A flag-plus, aliases: flag-add +#define ICON_MD_FLAG_PLUS_OUTLINE "\xf3\xb1\x82\xb3" // U+F10B3 flag-plus-outline +#define ICON_MD_FLAG_REMOVE "\xf3\xb0\xae\x9b" // U+F0B9B flag-remove +#define ICON_MD_FLAG_REMOVE_OUTLINE "\xf3\xb1\x82\xb4" // U+F10B4 flag-remove-outline +#define ICON_MD_FLAG_TRIANGLE "\xf3\xb0\x88\xbf" // U+F023F flag-triangle, aliases: milestone +#define ICON_MD_FLAG_VARIANT "\xf3\xb0\x89\x80" // U+F0240 flag-variant +#define ICON_MD_FLAG_VARIANT_MINUS "\xf3\xb1\xae\xb4" // U+F1BB4 flag-variant-minus +#define ICON_MD_FLAG_VARIANT_MINUS_OUTLINE "\xf3\xb1\xae\xb5" // U+F1BB5 flag-variant-minus-outline +#define ICON_MD_FLAG_VARIANT_OFF "\xf3\xb1\xae\xb0" // U+F1BB0 flag-variant-off +#define ICON_MD_FLAG_VARIANT_OFF_OUTLINE "\xf3\xb1\xae\xb1" // U+F1BB1 flag-variant-off-outline +#define ICON_MD_FLAG_VARIANT_OUTLINE "\xf3\xb0\x88\xbe" // U+F023E flag-variant-outline +#define ICON_MD_FLAG_VARIANT_PLUS "\xf3\xb1\xae\xb2" // U+F1BB2 flag-variant-plus +#define ICON_MD_FLAG_VARIANT_PLUS_OUTLINE "\xf3\xb1\xae\xb3" // U+F1BB3 flag-variant-plus-outline +#define ICON_MD_FLAG_VARIANT_REMOVE "\xf3\xb1\xae\xb6" // U+F1BB6 flag-variant-remove +#define ICON_MD_FLAG_VARIANT_REMOVE_OUTLINE "\xf3\xb1\xae\xb7" // U+F1BB7 flag-variant-remove-outline +#define ICON_MD_FLARE "\xf3\xb0\xb5\xb2" // U+F0D72 flare, aliases: star +#define ICON_MD_FLASH "\xf3\xb0\x89\x81" // U+F0241 flash, aliases: lightning-bolt, flash-on, electricity, tags: Weather +#define ICON_MD_FLASH_ALERT "\xf3\xb0\xbb\xb7" // U+F0EF7 flash-alert, aliases: lightning-alert, storm-advisory, tags: Weather, Alert / Error +#define ICON_MD_FLASH_ALERT_OUTLINE \ + "\xf3\xb0\xbb\xb8" // U+F0EF8 flash-alert-outline, aliases: lightning-alert-outline, storm-advisory-outline, tags: + // Weather, Alert / Error +#define ICON_MD_FLASH_AUTO "\xf3\xb0\x89\x82" // U+F0242 flash-auto +#define ICON_MD_FLASH_OFF "\xf3\xb0\x89\x83" // U+F0243 flash-off +#define ICON_MD_FLASH_OFF_OUTLINE "\xf3\xb1\xad\x85" // U+F1B45 flash-off-outline +#define ICON_MD_FLASH_OUTLINE "\xf3\xb0\x9b\x95" // U+F06D5 flash-outline, aliases: lightning-bolt-outline, tags: Weather +#define ICON_MD_FLASH_RED_EYE "\xf3\xb0\x99\xbb" // U+F067B flash-red-eye +#define ICON_MD_FLASH_TRIANGLE "\xf3\xb1\xac\x9d" // U+F1B1D flash-triangle, aliases: high-voltage, tags: Home Automation +#define ICON_MD_FLASH_TRIANGLE_OUTLINE "\xf3\xb1\xac\x9e" // U+F1B1E flash-triangle-outline, aliases: high-voltage-outline, tags: Home Automation +#define ICON_MD_FLASHLIGHT "\xf3\xb0\x89\x84" // U+F0244 flashlight, aliases: torch +#define ICON_MD_FLASHLIGHT_OFF "\xf3\xb0\x89\x85" // U+F0245 flashlight-off, aliases: torch-off +#define ICON_MD_FLASK "\xf3\xb0\x82\x93" // U+F0093 flask, tags: Science, Gaming / RPG +#define ICON_MD_FLASK_EMPTY "\xf3\xb0\x82\x94" // U+F0094 flask-empty, tags: Science, Gaming / RPG +#define ICON_MD_FLASK_EMPTY_MINUS "\xf3\xb1\x88\xba" // U+F123A flask-empty-minus, tags: Science +#define ICON_MD_FLASK_EMPTY_MINUS_OUTLINE "\xf3\xb1\x88\xbb" // U+F123B flask-empty-minus-outline, tags: Science +#define ICON_MD_FLASK_EMPTY_OFF "\xf3\xb1\x8f\xb4" // U+F13F4 flask-empty-off +#define ICON_MD_FLASK_EMPTY_OFF_OUTLINE "\xf3\xb1\x8f\xb5" // U+F13F5 flask-empty-off-outline +#define ICON_MD_FLASK_EMPTY_OUTLINE "\xf3\xb0\x82\x95" // U+F0095 flask-empty-outline, tags: Science, Gaming / RPG +#define ICON_MD_FLASK_EMPTY_PLUS "\xf3\xb1\x88\xbc" // U+F123C flask-empty-plus, tags: Science +#define ICON_MD_FLASK_EMPTY_PLUS_OUTLINE "\xf3\xb1\x88\xbd" // U+F123D flask-empty-plus-outline, tags: Science +#define ICON_MD_FLASK_EMPTY_REMOVE "\xf3\xb1\x88\xbe" // U+F123E flask-empty-remove, tags: Science +#define ICON_MD_FLASK_EMPTY_REMOVE_OUTLINE "\xf3\xb1\x88\xbf" // U+F123F flask-empty-remove-outline, tags: Science +#define ICON_MD_FLASK_MINUS "\xf3\xb1\x89\x80" // U+F1240 flask-minus, tags: Science +#define ICON_MD_FLASK_MINUS_OUTLINE "\xf3\xb1\x89\x81" // U+F1241 flask-minus-outline, tags: Science +#define ICON_MD_FLASK_OFF "\xf3\xb1\x8f\xb6" // U+F13F6 flask-off +#define ICON_MD_FLASK_OFF_OUTLINE "\xf3\xb1\x8f\xb7" // U+F13F7 flask-off-outline +#define ICON_MD_FLASK_OUTLINE "\xf3\xb0\x82\x96" // U+F0096 flask-outline, tags: Science, Gaming / RPG +#define ICON_MD_FLASK_PLUS "\xf3\xb1\x89\x82" // U+F1242 flask-plus, tags: Science +#define ICON_MD_FLASK_PLUS_OUTLINE "\xf3\xb1\x89\x83" // U+F1243 flask-plus-outline, tags: Science +#define ICON_MD_FLASK_REMOVE "\xf3\xb1\x89\x84" // U+F1244 flask-remove, tags: Science +#define ICON_MD_FLASK_REMOVE_OUTLINE "\xf3\xb1\x89\x85" // U+F1245 flask-remove-outline, tags: Science +#define ICON_MD_FLASK_ROUND_BOTTOM "\xf3\xb1\x89\x8b" // U+F124B flask-round-bottom, tags: Science +#define ICON_MD_FLASK_ROUND_BOTTOM_EMPTY "\xf3\xb1\x89\x8c" // U+F124C flask-round-bottom-empty, tags: Science +#define ICON_MD_FLASK_ROUND_BOTTOM_EMPTY_OUTLINE "\xf3\xb1\x89\x8d" // U+F124D flask-round-bottom-empty-outline, tags: Science +#define ICON_MD_FLASK_ROUND_BOTTOM_OUTLINE "\xf3\xb1\x89\x8e" // U+F124E flask-round-bottom-outline, tags: Science +#define ICON_MD_FLEUR_DE_LIS "\xf3\xb1\x8c\x83" // U+F1303 fleur-de-lis +#define ICON_MD_FLIP_HORIZONTAL "\xf3\xb1\x83\xa7" // U+F10E7 flip-horizontal, tags: Arrange +#define ICON_MD_FLIP_TO_BACK "\xf3\xb0\x89\x87" // U+F0247 flip-to-back, tags: Arrange +#define ICON_MD_FLIP_TO_FRONT "\xf3\xb0\x89\x88" // U+F0248 flip-to-front, tags: Arrange +#define ICON_MD_FLIP_VERTICAL "\xf3\xb1\x83\xa8" // U+F10E8 flip-vertical, tags: Arrange +#define ICON_MD_FLOOR_LAMP "\xf3\xb0\xa3\x9d" // U+F08DD floor-lamp, aliases: floor-light, tags: Home Automation +#define ICON_MD_FLOOR_LAMP_DUAL "\xf3\xb1\x81\x80" // U+F1040 floor-lamp-dual, aliases: floor-light-dual, tags: Home Automation +#define ICON_MD_FLOOR_LAMP_DUAL_OUTLINE "\xf3\xb1\x9f\x8e" // U+F17CE floor-lamp-dual-outline, aliases: floor-light-dual-outline, tags: Home Automation +#define ICON_MD_FLOOR_LAMP_OUTLINE "\xf3\xb1\x9f\x88" // U+F17C8 floor-lamp-outline, aliases: floor-light-outline, tags: Home Automation +#define ICON_MD_FLOOR_LAMP_TORCHIERE "\xf3\xb1\x9d\x87" // U+F1747 floor-lamp-torchiere, aliases: floor-light-torchiere, tags: Home Automation +#define ICON_MD_FLOOR_LAMP_TORCHIERE_OUTLINE "\xf3\xb1\x9f\x96" // U+F17D6 floor-lamp-torchiere-outline, tags: Home Automation +#define ICON_MD_FLOOR_LAMP_TORCHIERE_VARIANT \ + "\xf3\xb1\x81\x81" // U+F1041 floor-lamp-torchiere-variant, aliases: floor-light-torchiere-variant, tags: Home + // Automation +#define ICON_MD_FLOOR_LAMP_TORCHIERE_VARIANT_OUTLINE \ + "\xf3\xb1\x9f\x8f" // U+F17CF floor-lamp-torchiere-variant-outline, aliases: floor-light-torchiere-variant-outline, + // tags: Home Automation +#define ICON_MD_FLOOR_PLAN "\xf3\xb0\xa0\xa1" // U+F0821 floor-plan, tags: Home Automation +#define ICON_MD_FLOPPY "\xf3\xb0\x89\x89" // U+F0249 floppy +#define ICON_MD_FLOPPY_VARIANT "\xf3\xb0\xa7\xaf" // U+F09EF floppy-variant +#define ICON_MD_FLOWER "\xf3\xb0\x89\x8a" // U+F024A flower, aliases: local-florist, plant, tags: Nature +#define ICON_MD_FLOWER_OUTLINE "\xf3\xb0\xa7\xb0" // U+F09F0 flower-outline, aliases: local-florist-outline, plant, tags: Nature +#define ICON_MD_FLOWER_POLLEN "\xf3\xb1\xa2\x85" // U+F1885 flower-pollen, aliases: allergy, tags: Nature +#define ICON_MD_FLOWER_POLLEN_OUTLINE "\xf3\xb1\xa2\x86" // U+F1886 flower-pollen-outline, aliases: allergy-outline, tags: Nature +#define ICON_MD_FLOWER_POPPY "\xf3\xb0\xb4\x88" // U+F0D08 flower-poppy, aliases: plant, tags: Nature +#define ICON_MD_FLOWER_TULIP "\xf3\xb0\xa7\xb1" // U+F09F1 flower-tulip, aliases: plant, tags: Nature +#define ICON_MD_FLOWER_TULIP_OUTLINE "\xf3\xb0\xa7\xb2" // U+F09F2 flower-tulip-outline, aliases: plant, tags: Nature +#define ICON_MD_FOCUS_AUTO "\xf3\xb0\xbd\x8e" // U+F0F4E focus-auto, tags: Photography +#define ICON_MD_FOCUS_FIELD "\xf3\xb0\xbd\x8f" // U+F0F4F focus-field, tags: Photography +#define ICON_MD_FOCUS_FIELD_HORIZONTAL "\xf3\xb0\xbd\x90" // U+F0F50 focus-field-horizontal, tags: Photography +#define ICON_MD_FOCUS_FIELD_VERTICAL "\xf3\xb0\xbd\x91" // U+F0F51 focus-field-vertical, tags: Photography +#define ICON_MD_FOLDER "\xf3\xb0\x89\x8b" // U+F024B folder, tags: Files / Folders +#define ICON_MD_FOLDER_ACCOUNT \ + "\xf3\xb0\x89\x8c" // U+F024C folder-account, aliases: folder-user, folder-shared, tags: Account / User, Files / + // Folders +#define ICON_MD_FOLDER_ACCOUNT_OUTLINE \ + "\xf3\xb0\xae\x9c" // U+F0B9C folder-account-outline, aliases: folder-user-outline, folder-shared-outline, tags: + // Files / Folders, Account / User +#define ICON_MD_FOLDER_ALERT "\xf3\xb0\xb7\x8c" // U+F0DCC folder-alert, aliases: folder-warning, tags: Files / Folders, Alert / Error +#define ICON_MD_FOLDER_ALERT_OUTLINE \ + "\xf3\xb0\xb7\x8d" // U+F0DCD folder-alert-outline, aliases: folder-warning-outline, tags: Files / Folders, Alert / + // Error +#define ICON_MD_FOLDER_ARROW_DOWN "\xf3\xb1\xa7\xa8" // U+F19E8 folder-arrow-down, aliases: folder-download, tags: Files / Folders +#define ICON_MD_FOLDER_ARROW_DOWN_OUTLINE "\xf3\xb1\xa7\xa9" // U+F19E9 folder-arrow-down-outline, aliases: folder-download-outline, tags: Files / Folders +#define ICON_MD_FOLDER_ARROW_LEFT "\xf3\xb1\xa7\xaa" // U+F19EA folder-arrow-left, tags: Files / Folders +#define ICON_MD_FOLDER_ARROW_LEFT_OUTLINE "\xf3\xb1\xa7\xab" // U+F19EB folder-arrow-left-outline, tags: Files / Folders +#define ICON_MD_FOLDER_ARROW_LEFT_RIGHT "\xf3\xb1\xa7\xac" // U+F19EC folder-arrow-left-right, tags: Files / Folders +#define ICON_MD_FOLDER_ARROW_LEFT_RIGHT_OUTLINE "\xf3\xb1\xa7\xad" // U+F19ED folder-arrow-left-right-outline, tags: Files / Folders +#define ICON_MD_FOLDER_ARROW_RIGHT "\xf3\xb1\xa7\xae" // U+F19EE folder-arrow-right, tags: Files / Folders +#define ICON_MD_FOLDER_ARROW_RIGHT_OUTLINE "\xf3\xb1\xa7\xaf" // U+F19EF folder-arrow-right-outline, tags: Files / Folders +#define ICON_MD_FOLDER_ARROW_UP "\xf3\xb1\xa7\xb0" // U+F19F0 folder-arrow-up, aliases: folder-upload, tags: Files / Folders +#define ICON_MD_FOLDER_ARROW_UP_DOWN "\xf3\xb1\xa7\xb1" // U+F19F1 folder-arrow-up-down, aliases: folder-transfer, tags: Files / Folders +#define ICON_MD_FOLDER_ARROW_UP_DOWN_OUTLINE "\xf3\xb1\xa7\xb2" // U+F19F2 folder-arrow-up-down-outline, aliases: folder-transfer-outline, tags: Files / Folders +#define ICON_MD_FOLDER_ARROW_UP_OUTLINE "\xf3\xb1\xa7\xb3" // U+F19F3 folder-arrow-up-outline, aliases: folder-upload-outline, tags: Files / Folders +#define ICON_MD_FOLDER_CANCEL "\xf3\xb1\xa7\xb4" // U+F19F4 folder-cancel, tags: Files / Folders +#define ICON_MD_FOLDER_CANCEL_OUTLINE "\xf3\xb1\xa7\xb5" // U+F19F5 folder-cancel-outline, tags: Files / Folders +#define ICON_MD_FOLDER_CHECK "\xf3\xb1\xa5\xbe" // U+F197E folder-check, tags: Files / Folders +#define ICON_MD_FOLDER_CHECK_OUTLINE "\xf3\xb1\xa5\xbf" // U+F197F folder-check-outline, tags: Files / Folders +#define ICON_MD_FOLDER_CLOCK "\xf3\xb0\xaa\xba" // U+F0ABA folder-clock, tags: Files / Folders, Date / Time +#define ICON_MD_FOLDER_CLOCK_OUTLINE "\xf3\xb0\xaa\xbb" // U+F0ABB folder-clock-outline, tags: Files / Folders, Date / Time +#define ICON_MD_FOLDER_COG "\xf3\xb1\x81\xbf" // U+F107F folder-cog, aliases: folder-cog, tags: Settings, Files / Folders +#define ICON_MD_FOLDER_COG_OUTLINE "\xf3\xb1\x82\x80" // U+F1080 folder-cog-outline, aliases: folder-cog-outline, tags: Settings, Files / Folders +#define ICON_MD_FOLDER_DOWNLOAD "\xf3\xb0\x89\x8d" // U+F024D folder-download, tags: Files / Folders +#define ICON_MD_FOLDER_DOWNLOAD_OUTLINE "\xf3\xb1\x83\xa9" // U+F10E9 folder-download-outline, tags: Files / Folders +#define ICON_MD_FOLDER_EDIT "\xf3\xb0\xa3\x9e" // U+F08DE folder-edit, tags: Files / Folders, Edit / Modify +#define ICON_MD_FOLDER_EDIT_OUTLINE "\xf3\xb0\xb7\x8e" // U+F0DCE folder-edit-outline, tags: Edit / Modify, Files / Folders +#define ICON_MD_FOLDER_EYE "\xf3\xb1\x9e\x8a" // U+F178A folder-eye, tags: Files / Folders +#define ICON_MD_FOLDER_EYE_OUTLINE "\xf3\xb1\x9e\x8b" // U+F178B folder-eye-outline, tags: Files / Folders +#define ICON_MD_FOLDER_FILE "\xf3\xb1\xa7\xb6" // U+F19F6 folder-file, tags: Files / Folders +#define ICON_MD_FOLDER_FILE_OUTLINE "\xf3\xb1\xa7\xb7" // U+F19F7 folder-file-outline, tags: Files / Folders +#define ICON_MD_FOLDER_GOOGLE_DRIVE "\xf3\xb0\x89\x8e" // U+F024E folder-google-drive, aliases: folder-mydrive, tags: Files / Folders, Brand / Logo +#define ICON_MD_FOLDER_HEART "\xf3\xb1\x83\xaa" // U+F10EA folder-heart, tags: Files / Folders +#define ICON_MD_FOLDER_HEART_OUTLINE "\xf3\xb1\x83\xab" // U+F10EB folder-heart-outline, tags: Files / Folders +#define ICON_MD_FOLDER_HIDDEN "\xf3\xb1\x9e\x9e" // U+F179E folder-hidden, tags: Files / Folders +#define ICON_MD_FOLDER_HOME "\xf3\xb1\x82\xb5" // U+F10B5 folder-home, aliases: folder-house, tags: Files / Folders, Home Automation +#define ICON_MD_FOLDER_HOME_OUTLINE \ + "\xf3\xb1\x82\xb6" // U+F10B6 folder-home-outline, aliases: folder-house-outline, tags: Files / Folders, Home + // Automation +#define ICON_MD_FOLDER_IMAGE "\xf3\xb0\x89\x8f" // U+F024F folder-image, tags: Files / Folders +#define ICON_MD_FOLDER_INFORMATION "\xf3\xb1\x82\xb7" // U+F10B7 folder-information, tags: Files / Folders +#define ICON_MD_FOLDER_INFORMATION_OUTLINE "\xf3\xb1\x82\xb8" // U+F10B8 folder-information-outline, tags: Files / Folders +#define ICON_MD_FOLDER_KEY "\xf3\xb0\xa2\xac" // U+F08AC folder-key, tags: Files / Folders +#define ICON_MD_FOLDER_KEY_NETWORK "\xf3\xb0\xa2\xad" // U+F08AD folder-key-network, tags: Files / Folders +#define ICON_MD_FOLDER_KEY_NETWORK_OUTLINE "\xf3\xb0\xb2\x80" // U+F0C80 folder-key-network-outline, tags: Files / Folders +#define ICON_MD_FOLDER_KEY_OUTLINE "\xf3\xb1\x83\xac" // U+F10EC folder-key-outline, tags: Files / Folders +#define ICON_MD_FOLDER_LOCK "\xf3\xb0\x89\x90" // U+F0250 folder-lock, tags: Lock, Files / Folders +#define ICON_MD_FOLDER_LOCK_OPEN "\xf3\xb0\x89\x91" // U+F0251 folder-lock-open, tags: Lock, Files / Folders +#define ICON_MD_FOLDER_LOCK_OPEN_OUTLINE "\xf3\xb1\xaa\xa7" // U+F1AA7 folder-lock-open-outline, tags: Files / Folders, Lock +#define ICON_MD_FOLDER_LOCK_OUTLINE "\xf3\xb1\xaa\xa8" // U+F1AA8 folder-lock-outline, tags: Files / Folders, Lock +#define ICON_MD_FOLDER_MARKER \ + "\xf3\xb1\x89\xad" // U+F126D folder-marker, aliases: folder-location, tags: Geographic Information System, Files / + // Folders, Navigation +#define ICON_MD_FOLDER_MARKER_OUTLINE \ + "\xf3\xb1\x89\xae" // U+F126E folder-marker-outline, aliases: folder-location-outline, tags: Geographic Information + // System, Files / Folders, Navigation +#define ICON_MD_FOLDER_MINUS "\xf3\xb1\xad\x89" // U+F1B49 folder-minus, tags: Files / Folders +#define ICON_MD_FOLDER_MINUS_OUTLINE "\xf3\xb1\xad\x8a" // U+F1B4A folder-minus-outline, tags: Files / Folders +#define ICON_MD_FOLDER_MOVE "\xf3\xb0\x89\x92" // U+F0252 folder-move, tags: Files / Folders +#define ICON_MD_FOLDER_MOVE_OUTLINE "\xf3\xb1\x89\x86" // U+F1246 folder-move-outline, tags: Files / Folders +#define ICON_MD_FOLDER_MULTIPLE "\xf3\xb0\x89\x93" // U+F0253 folder-multiple, aliases: folders, tags: Files / Folders +#define ICON_MD_FOLDER_MULTIPLE_IMAGE "\xf3\xb0\x89\x94" // U+F0254 folder-multiple-image, aliases: perm-media, folders-image, tags: Files / Folders +#define ICON_MD_FOLDER_MULTIPLE_OUTLINE "\xf3\xb0\x89\x95" // U+F0255 folder-multiple-outline, aliases: folders-outline, tags: Files / Folders +#define ICON_MD_FOLDER_MULTIPLE_PLUS "\xf3\xb1\x91\xbe" // U+F147E folder-multiple-plus, tags: Files / Folders +#define ICON_MD_FOLDER_MULTIPLE_PLUS_OUTLINE "\xf3\xb1\x91\xbf" // U+F147F folder-multiple-plus-outline, tags: Files / Folders +#define ICON_MD_FOLDER_MUSIC "\xf3\xb1\x8d\x99" // U+F1359 folder-music, tags: Files / Folders, Music +#define ICON_MD_FOLDER_MUSIC_OUTLINE "\xf3\xb1\x8d\x9a" // U+F135A folder-music-outline, tags: Files / Folders, Music +#define ICON_MD_FOLDER_NETWORK "\xf3\xb0\xa1\xb0" // U+F0870 folder-network, tags: Files / Folders +#define ICON_MD_FOLDER_NETWORK_OUTLINE "\xf3\xb0\xb2\x81" // U+F0C81 folder-network-outline, tags: Files / Folders +#define ICON_MD_FOLDER_OFF "\xf3\xb1\xa7\xb8" // U+F19F8 folder-off, tags: Files / Folders +#define ICON_MD_FOLDER_OFF_OUTLINE "\xf3\xb1\xa7\xb9" // U+F19F9 folder-off-outline, tags: Files / Folders +#define ICON_MD_FOLDER_OPEN "\xf3\xb0\x9d\xb0" // U+F0770 folder-open, tags: Files / Folders +#define ICON_MD_FOLDER_OPEN_OUTLINE "\xf3\xb0\xb7\x8f" // U+F0DCF folder-open-outline, tags: Files / Folders +#define ICON_MD_FOLDER_OUTLINE "\xf3\xb0\x89\x96" // U+F0256 folder-outline, aliases: folder-open, tags: Files / Folders +#define ICON_MD_FOLDER_PLAY "\xf3\xb1\xa7\xba" // U+F19FA folder-play, aliases: folder-media, folder-music, folder-video, tags: Files / Folders +#define ICON_MD_FOLDER_PLAY_OUTLINE \ + "\xf3\xb1\xa7\xbb" // U+F19FB folder-play-outline, aliases: folder-media-outline, folder-music-outline, + // folder-video-outline, tags: Files / Folders +#define ICON_MD_FOLDER_PLUS "\xf3\xb0\x89\x97" // U+F0257 folder-plus, aliases: create-new-folder, folder-add, tags: Files / Folders +#define ICON_MD_FOLDER_PLUS_OUTLINE \ + "\xf3\xb0\xae\x9d" // U+F0B9D folder-plus-outline, aliases: create-new-folder-outline, folder-add-outline, tags: + // Files / Folders +#define ICON_MD_FOLDER_POUND "\xf3\xb0\xb4\x89" // U+F0D09 folder-pound, aliases: folder-hash, tags: Files / Folders, Developer / Languages +#define ICON_MD_FOLDER_POUND_OUTLINE \ + "\xf3\xb0\xb4\x8a" // U+F0D0A folder-pound-outline, aliases: folder-hash-outline, tags: Files / Folders, Developer / + // Languages +#define ICON_MD_FOLDER_QUESTION "\xf3\xb1\xa7\x8a" // U+F19CA folder-question, aliases: folder-help, tags: Files / Folders +#define ICON_MD_FOLDER_QUESTION_OUTLINE "\xf3\xb1\xa7\x8b" // U+F19CB folder-question-outline, aliases: folder-help-outline, tags: Files / Folders +#define ICON_MD_FOLDER_REFRESH "\xf3\xb0\x9d\x89" // U+F0749 folder-refresh, tags: Files / Folders +#define ICON_MD_FOLDER_REFRESH_OUTLINE "\xf3\xb0\x95\x82" // U+F0542 folder-refresh-outline, tags: Files / Folders +#define ICON_MD_FOLDER_REMOVE "\xf3\xb0\x89\x98" // U+F0258 folder-remove, tags: Files / Folders +#define ICON_MD_FOLDER_REMOVE_OUTLINE "\xf3\xb0\xae\x9e" // U+F0B9E folder-remove-outline, tags: Files / Folders +#define ICON_MD_FOLDER_SEARCH "\xf3\xb0\xa5\xa8" // U+F0968 folder-search, tags: Files / Folders +#define ICON_MD_FOLDER_SEARCH_OUTLINE "\xf3\xb0\xa5\xa9" // U+F0969 folder-search-outline, tags: Files / Folders +#define ICON_MD_FOLDER_SETTINGS "\xf3\xb1\x81\xbd" // U+F107D folder-settings, tags: Settings, Files / Folders +#define ICON_MD_FOLDER_SETTINGS_OUTLINE "\xf3\xb1\x81\xbe" // U+F107E folder-settings-outline, tags: Settings, Files / Folders +#define ICON_MD_FOLDER_STAR "\xf3\xb0\x9a\x9d" // U+F069D folder-star, aliases: folder-special, folder-favorite, tags: Files / Folders +#define ICON_MD_FOLDER_STAR_MULTIPLE "\xf3\xb1\x8f\x93" // U+F13D3 folder-star-multiple, aliases: folder-favorite-multiple, tags: Files / Folders +#define ICON_MD_FOLDER_STAR_MULTIPLE_OUTLINE \ + "\xf3\xb1\x8f\x94" // U+F13D4 folder-star-multiple-outline, aliases: folder-favorite-multiple-outline, tags: Files / + // Folders +#define ICON_MD_FOLDER_STAR_OUTLINE \ + "\xf3\xb0\xae\x9f" // U+F0B9F folder-star-outline, aliases: folder-special-outline, folder-favorite-outline, tags: + // Files / Folders +#define ICON_MD_FOLDER_SWAP "\xf3\xb0\xbe\xb6" // U+F0FB6 folder-swap, aliases: folder-transfer, tags: Files / Folders +#define ICON_MD_FOLDER_SWAP_OUTLINE "\xf3\xb0\xbe\xb7" // U+F0FB7 folder-swap-outline, aliases: folder-transfer-outline, tags: Files / Folders +#define ICON_MD_FOLDER_SYNC "\xf3\xb0\xb4\x8b" // U+F0D0B folder-sync, tags: Files / Folders +#define ICON_MD_FOLDER_SYNC_OUTLINE "\xf3\xb0\xb4\x8c" // U+F0D0C folder-sync-outline, tags: Files / Folders +#define ICON_MD_FOLDER_TABLE "\xf3\xb1\x8b\xa3" // U+F12E3 folder-table, tags: Files / Folders +#define ICON_MD_FOLDER_TABLE_OUTLINE "\xf3\xb1\x8b\xa4" // U+F12E4 folder-table-outline, tags: Files / Folders +#define ICON_MD_FOLDER_TEXT "\xf3\xb0\xb2\x82" // U+F0C82 folder-text, tags: Files / Folders +#define ICON_MD_FOLDER_TEXT_OUTLINE "\xf3\xb0\xb2\x83" // U+F0C83 folder-text-outline, tags: Files / Folders +#define ICON_MD_FOLDER_UPLOAD "\xf3\xb0\x89\x99" // U+F0259 folder-upload, tags: Files / Folders +#define ICON_MD_FOLDER_UPLOAD_OUTLINE "\xf3\xb1\x83\xad" // U+F10ED folder-upload-outline, tags: Files / Folders +#define ICON_MD_FOLDER_WRENCH "\xf3\xb1\xa7\xbc" // U+F19FC folder-wrench, aliases: folder-settings, tags: Files / Folders +#define ICON_MD_FOLDER_WRENCH_OUTLINE "\xf3\xb1\xa7\xbd" // U+F19FD folder-wrench-outline, aliases: folder-settings-outline, tags: Files / Folders +#define ICON_MD_FOLDER_ZIP "\xf3\xb0\x9b\xab" // U+F06EB folder-zip, aliases: compressed-folder, tags: Files / Folders +#define ICON_MD_FOLDER_ZIP_OUTLINE "\xf3\xb0\x9e\xb9" // U+F07B9 folder-zip-outline, aliases: compressed-folder-outline, tags: Files / Folders +#define ICON_MD_FONT_AWESOME "\xf3\xb0\x80\xba" // U+F003A font-awesome, tags: Brand / Logo +#define ICON_MD_FOOD "\xf3\xb0\x89\x9a" // U+F025A food, aliases: fast-food, burger, cup, drink, hamburger, tags: Food / Drink +#define ICON_MD_FOOD_APPLE "\xf3\xb0\x89\x9b" // U+F025B food-apple, tags: Food / Drink, Agriculture +#define ICON_MD_FOOD_APPLE_OUTLINE "\xf3\xb0\xb2\x84" // U+F0C84 food-apple-outline, tags: Food / Drink, Agriculture +#define ICON_MD_FOOD_CROISSANT "\xf3\xb0\x9f\x88" // U+F07C8 food-croissant, tags: Food / Drink +#define ICON_MD_FOOD_DRUMSTICK "\xf3\xb1\x90\x9f" // U+F141F food-drumstick, aliases: chicken-leg, turkey-leg, meat, tags: Food / Drink +#define ICON_MD_FOOD_DRUMSTICK_OFF \ + "\xf3\xb1\x91\xa8" // U+F1468 food-drumstick-off, aliases: chicken-leg-off, turkey-leg-off, meat-off, tags: Food / + // Drink +#define ICON_MD_FOOD_DRUMSTICK_OFF_OUTLINE \ + "\xf3\xb1\x91\xa9" // U+F1469 food-drumstick-off-outline, aliases: chicken-leg-off-outline, turkey-leg-off-outline, + // meat-off-outline, tags: Food / Drink +#define ICON_MD_FOOD_DRUMSTICK_OUTLINE \ + "\xf3\xb1\x90\xa0" // U+F1420 food-drumstick-outline, aliases: chicken-leg-outline, turkey-leg-outline, + // meat-outline, tags: Food / Drink +#define ICON_MD_FOOD_FORK_DRINK "\xf3\xb0\x97\xb2" // U+F05F2 food-fork-drink, aliases: food-fork-cup, tags: Food / Drink +#define ICON_MD_FOOD_HALAL "\xf3\xb1\x95\xb2" // U+F1572 food-halal, aliases: food-muslim, dietary-restriction, tags: Food / Drink +#define ICON_MD_FOOD_HOT_DOG "\xf3\xb1\xa1\x8b" // U+F184B food-hot-dog, aliases: food-weiner, food-frankfurter, tags: Food / Drink +#define ICON_MD_FOOD_KOSHER "\xf3\xb1\x95\xb3" // U+F1573 food-kosher, aliases: food-jewish, dietary-restriction, tags: Food / Drink +#define ICON_MD_FOOD_OFF \ + "\xf3\xb0\x97\xb3" // U+F05F3 food-off, aliases: fast-food-off, burger-off, cup-off, drink-off, hamburger-off, tags: + // Food / Drink +#define ICON_MD_FOOD_OFF_OUTLINE "\xf3\xb1\xa4\x95" // U+F1915 food-off-outline, tags: Food / Drink +#define ICON_MD_FOOD_OUTLINE "\xf3\xb1\xa4\x96" // U+F1916 food-outline, tags: Food / Drink +#define ICON_MD_FOOD_STEAK "\xf3\xb1\x91\xaa" // U+F146A food-steak, aliases: meat, beef, tags: Food / Drink +#define ICON_MD_FOOD_STEAK_OFF "\xf3\xb1\x91\xab" // U+F146B food-steak-off, aliases: meat-off, beef-off, tags: Food / Drink +#define ICON_MD_FOOD_TAKEOUT_BOX "\xf3\xb1\xa0\xb6" // U+F1836 food-takeout-box, tags: Food / Drink +#define ICON_MD_FOOD_TAKEOUT_BOX_OUTLINE "\xf3\xb1\xa0\xb7" // U+F1837 food-takeout-box-outline, tags: Food / Drink +#define ICON_MD_FOOD_TURKEY "\xf3\xb1\x9c\x9c" // U+F171C food-turkey, aliases: dinner, thanksgiving, tags: Food / Drink, Holiday +#define ICON_MD_FOOD_VARIANT "\xf3\xb0\x89\x9c" // U+F025C food-variant, tags: Food / Drink +#define ICON_MD_FOOD_VARIANT_OFF "\xf3\xb1\x8f\xa5" // U+F13E5 food-variant-off, tags: Food / Drink +#define ICON_MD_FOOT_PRINT "\xf3\xb0\xbd\x92" // U+F0F52 foot-print +#define ICON_MD_FOOTBALL "\xf3\xb0\x89\x9d" // U+F025D football, aliases: football-american, tags: Sport +#define ICON_MD_FOOTBALL_AUSTRALIAN "\xf3\xb0\x89\x9e" // U+F025E football-australian, tags: Sport +#define ICON_MD_FOOTBALL_HELMET "\xf3\xb0\x89\x9f" // U+F025F football-helmet, tags: Sport +#define ICON_MD_FOREST "\xf3\xb1\xa2\x97" // U+F1897 forest, aliases: pine-tree, tags: Nature +#define ICON_MD_FORKLIFT "\xf3\xb0\x9f\x89" // U+F07C9 forklift, tags: Transportation + Road +#define ICON_MD_FORM_DROPDOWN "\xf3\xb1\x90\x80" // U+F1400 form-dropdown, tags: Form +#define ICON_MD_FORM_SELECT "\xf3\xb1\x90\x81" // U+F1401 form-select, tags: Form +#define ICON_MD_FORM_TEXTAREA "\xf3\xb1\x82\x95" // U+F1095 form-textarea, tags: Form +#define ICON_MD_FORM_TEXTBOX "\xf3\xb0\x98\x8e" // U+F060E form-textbox, aliases: rename, tags: Form +#define ICON_MD_FORM_TEXTBOX_LOCK "\xf3\xb1\x8d\x9d" // U+F135D form-textbox-lock, tags: Form, Lock +#define ICON_MD_FORM_TEXTBOX_PASSWORD "\xf3\xb0\x9f\xb5" // U+F07F5 form-textbox-password, tags: Form +#define ICON_MD_FORMAT_ALIGN_BOTTOM "\xf3\xb0\x9d\x93" // U+F0753 format-align-bottom, tags: Text / Content / Format +#define ICON_MD_FORMAT_ALIGN_CENTER "\xf3\xb0\x89\xa0" // U+F0260 format-align-center, aliases: format-align-centre, tags: Text / Content / Format +#define ICON_MD_FORMAT_ALIGN_JUSTIFY "\xf3\xb0\x89\xa1" // U+F0261 format-align-justify, tags: Text / Content / Format +#define ICON_MD_FORMAT_ALIGN_LEFT "\xf3\xb0\x89\xa2" // U+F0262 format-align-left, tags: Text / Content / Format +#define ICON_MD_FORMAT_ALIGN_MIDDLE "\xf3\xb0\x9d\x94" // U+F0754 format-align-middle, tags: Text / Content / Format +#define ICON_MD_FORMAT_ALIGN_RIGHT "\xf3\xb0\x89\xa3" // U+F0263 format-align-right, tags: Text / Content / Format +#define ICON_MD_FORMAT_ALIGN_TOP "\xf3\xb0\x9d\x95" // U+F0755 format-align-top, tags: Text / Content / Format +#define ICON_MD_FORMAT_ANNOTATION_MINUS "\xf3\xb0\xaa\xbc" // U+F0ABC format-annotation-minus, tags: Text / Content / Format +#define ICON_MD_FORMAT_ANNOTATION_PLUS "\xf3\xb0\x99\x86" // U+F0646 format-annotation-plus, aliases: format-annotation-add, tags: Text / Content / Format +#define ICON_MD_FORMAT_BOLD "\xf3\xb0\x89\xa4" // U+F0264 format-bold, tags: Text / Content / Format +#define ICON_MD_FORMAT_CLEAR "\xf3\xb0\x89\xa5" // U+F0265 format-clear, tags: Text / Content / Format +#define ICON_MD_FORMAT_COLOR_FILL \ + "\xf3\xb0\x89\xa6" // U+F0266 format-color-fill, aliases: format-colour-fill, paint, paint-bucket, ink-color, + // ink-colour, tags: Text / Content / Format, Color +#define ICON_MD_FORMAT_COLOR_HIGHLIGHT \ + "\xf3\xb0\xb8\xb1" // U+F0E31 format-color-highlight, aliases: format-colour-highlight, tags: Color, Text / Content + // / Format +#define ICON_MD_FORMAT_COLOR_MARKER_CANCEL \ + "\xf3\xb1\x8c\x93" // U+F1313 format-color-marker-cancel, aliases: format-color-redact, tags: Text / Content / + // Format +#define ICON_MD_FORMAT_COLOR_TEXT "\xf3\xb0\x9a\x9e" // U+F069E format-color-text, aliases: format-colour-text, tags: Text / Content / Format, Color +#define ICON_MD_FORMAT_COLUMNS "\xf3\xb0\xa3\x9f" // U+F08DF format-columns, tags: Text / Content / Format +#define ICON_MD_FORMAT_FLOAT_CENTER "\xf3\xb0\x89\xa7" // U+F0267 format-float-center, aliases: format-float-centre, tags: Text / Content / Format +#define ICON_MD_FORMAT_FLOAT_LEFT "\xf3\xb0\x89\xa8" // U+F0268 format-float-left, tags: Text / Content / Format +#define ICON_MD_FORMAT_FLOAT_NONE "\xf3\xb0\x89\xa9" // U+F0269 format-float-none, tags: Text / Content / Format +#define ICON_MD_FORMAT_FLOAT_RIGHT "\xf3\xb0\x89\xaa" // U+F026A format-float-right, tags: Text / Content / Format +#define ICON_MD_FORMAT_FONT "\xf3\xb0\x9b\x96" // U+F06D6 format-font, tags: Text / Content / Format +#define ICON_MD_FORMAT_FONT_SIZE_DECREASE "\xf3\xb0\xa7\xb3" // U+F09F3 format-font-size-decrease, tags: Text / Content / Format +#define ICON_MD_FORMAT_FONT_SIZE_INCREASE "\xf3\xb0\xa7\xb4" // U+F09F4 format-font-size-increase, tags: Text / Content / Format +#define ICON_MD_FORMAT_HEADER_1 "\xf3\xb0\x89\xab" // U+F026B format-header-1, aliases: format-heading-1, tags: Text / Content / Format +#define ICON_MD_FORMAT_HEADER_2 "\xf3\xb0\x89\xac" // U+F026C format-header-2, aliases: format-heading-2, tags: Text / Content / Format +#define ICON_MD_FORMAT_HEADER_3 "\xf3\xb0\x89\xad" // U+F026D format-header-3, aliases: format-heading-3, tags: Text / Content / Format +#define ICON_MD_FORMAT_HEADER_4 "\xf3\xb0\x89\xae" // U+F026E format-header-4, aliases: format-heading-4, tags: Text / Content / Format +#define ICON_MD_FORMAT_HEADER_5 "\xf3\xb0\x89\xaf" // U+F026F format-header-5, aliases: format-heading-5, tags: Text / Content / Format +#define ICON_MD_FORMAT_HEADER_6 "\xf3\xb0\x89\xb0" // U+F0270 format-header-6, aliases: format-heading-6, tags: Text / Content / Format +#define ICON_MD_FORMAT_HEADER_DECREASE "\xf3\xb0\x89\xb1" // U+F0271 format-header-decrease, aliases: format-heading-decease, tags: Text / Content / Format +#define ICON_MD_FORMAT_HEADER_EQUAL "\xf3\xb0\x89\xb2" // U+F0272 format-header-equal, aliases: format-heading-equal, tags: Text / Content / Format +#define ICON_MD_FORMAT_HEADER_INCREASE \ + "\xf3\xb0\x89\xb3" // U+F0273 format-header-increase, aliases: format-heading-increase, tags: Text / Content / + // Format +#define ICON_MD_FORMAT_HEADER_POUND \ + "\xf3\xb0\x89\xb4" // U+F0274 format-header-pound, aliases: format-header-hash, format-heading-pound, + // format-heading-hash, format-heading-markdown, tags: Text / Content / Format +#define ICON_MD_FORMAT_HORIZONTAL_ALIGN_CENTER \ + "\xf3\xb0\x98\x9e" // U+F061E format-horizontal-align-center, aliases: format-horizontal-align-centre, + // arrow-horizontal-collapse, tags: Text / Content / Format +#define ICON_MD_FORMAT_HORIZONTAL_ALIGN_LEFT "\xf3\xb0\x98\x9f" // U+F061F format-horizontal-align-left, tags: Text / Content / Format +#define ICON_MD_FORMAT_HORIZONTAL_ALIGN_RIGHT "\xf3\xb0\x98\xa0" // U+F0620 format-horizontal-align-right, tags: Text / Content / Format +#define ICON_MD_FORMAT_INDENT_DECREASE "\xf3\xb0\x89\xb5" // U+F0275 format-indent-decrease, tags: Text / Content / Format +#define ICON_MD_FORMAT_INDENT_INCREASE "\xf3\xb0\x89\xb6" // U+F0276 format-indent-increase, tags: Text / Content / Format +#define ICON_MD_FORMAT_ITALIC "\xf3\xb0\x89\xb7" // U+F0277 format-italic, tags: Text / Content / Format +#define ICON_MD_FORMAT_LETTER_CASE "\xf3\xb0\xac\xb4" // U+F0B34 format-letter-case, tags: Text / Content / Format +#define ICON_MD_FORMAT_LETTER_CASE_LOWER "\xf3\xb0\xac\xb5" // U+F0B35 format-letter-case-lower, aliases: format-lowercase, tags: Text / Content / Format +#define ICON_MD_FORMAT_LETTER_CASE_UPPER "\xf3\xb0\xac\xb6" // U+F0B36 format-letter-case-upper, aliases: format-uppercase, tags: Text / Content / Format +#define ICON_MD_FORMAT_LETTER_ENDS_WITH "\xf3\xb0\xbe\xb8" // U+F0FB8 format-letter-ends-with, tags: Text / Content / Format +#define ICON_MD_FORMAT_LETTER_MATCHES "\xf3\xb0\xbe\xb9" // U+F0FB9 format-letter-matches, tags: Text / Content / Format +#define ICON_MD_FORMAT_LETTER_SPACING "\xf3\xb1\xa5\x96" // U+F1956 format-letter-spacing, aliases: format-kerning, tags: Text / Content / Format +#define ICON_MD_FORMAT_LETTER_SPACING_VARIANT "\xf3\xb1\xab\xbb" // U+F1AFB format-letter-spacing-variant, tags: Text / Content / Format +#define ICON_MD_FORMAT_LETTER_STARTS_WITH "\xf3\xb0\xbe\xba" // U+F0FBA format-letter-starts-with, tags: Text / Content / Format +#define ICON_MD_FORMAT_LINE_HEIGHT "\xf3\xb1\xab\xbc" // U+F1AFC format-line-height, tags: Text / Content / Format +#define ICON_MD_FORMAT_LINE_SPACING "\xf3\xb0\x89\xb8" // U+F0278 format-line-spacing, tags: Text / Content / Format +#define ICON_MD_FORMAT_LINE_STYLE "\xf3\xb0\x97\x88" // U+F05C8 format-line-style, tags: Text / Content / Format, Drawing / Art +#define ICON_MD_FORMAT_LINE_WEIGHT "\xf3\xb0\x97\x89" // U+F05C9 format-line-weight, tags: Text / Content / Format, Drawing / Art +#define ICON_MD_FORMAT_LIST_BULLETED "\xf3\xb0\x89\xb9" // U+F0279 format-list-bulleted, tags: Text / Content / Format +#define ICON_MD_FORMAT_LIST_BULLETED_SQUARE "\xf3\xb0\xb7\x90" // U+F0DD0 format-list-bulleted-square, tags: Text / Content / Format +#define ICON_MD_FORMAT_LIST_BULLETED_TRIANGLE "\xf3\xb0\xba\xb2" // U+F0EB2 format-list-bulleted-triangle, tags: Text / Content / Format +#define ICON_MD_FORMAT_LIST_BULLETED_TYPE "\xf3\xb0\x89\xba" // U+F027A format-list-bulleted-type, tags: Text / Content / Format +#define ICON_MD_FORMAT_LIST_CHECKBOX "\xf3\xb0\xa5\xaa" // U+F096A format-list-checkbox, tags: Text / Content / Format +#define ICON_MD_FORMAT_LIST_CHECKS "\xf3\xb0\x9d\x96" // U+F0756 format-list-checks, aliases: to-do, tags: Text / Content / Format +#define ICON_MD_FORMAT_LIST_GROUP "\xf3\xb1\xa1\xa0" // U+F1860 format-list-group, tags: Text / Content / Format +#define ICON_MD_FORMAT_LIST_GROUP_PLUS "\xf3\xb1\xad\x96" // U+F1B56 format-list-group-plus, aliases: format-list-group-add, tags: Text / Content / Format +#define ICON_MD_FORMAT_LIST_NUMBERED "\xf3\xb0\x89\xbb" // U+F027B format-list-numbered, aliases: format-list-numbers, tags: Text / Content / Format +#define ICON_MD_FORMAT_LIST_NUMBERED_RTL \ + "\xf3\xb0\xb4\x8d" // U+F0D0D format-list-numbered-rtl, aliases: format-list-numbered-right-to-left, tags: Text / + // Content / Format +#define ICON_MD_FORMAT_LIST_TEXT "\xf3\xb1\x89\xaf" // U+F126F format-list-text, tags: Text / Content / Format +#define ICON_MD_FORMAT_OVERLINE "\xf3\xb0\xba\xb3" // U+F0EB3 format-overline, tags: Text / Content / Format +#define ICON_MD_FORMAT_PAGE_BREAK "\xf3\xb0\x9b\x97" // U+F06D7 format-page-break, tags: Text / Content / Format +#define ICON_MD_FORMAT_PAGE_SPLIT "\xf3\xb1\xa4\x97" // U+F1917 format-page-split, tags: Text / Content / Format +#define ICON_MD_FORMAT_PAINT "\xf3\xb0\x89\xbc" // U+F027C format-paint, tags: Text / Content / Format, Color, Drawing / Art +#define ICON_MD_FORMAT_PARAGRAPH "\xf3\xb0\x89\xbd" // U+F027D format-paragraph, tags: Text / Content / Format +#define ICON_MD_FORMAT_PARAGRAPH_SPACING "\xf3\xb1\xab\xbd" // U+F1AFD format-paragraph-spacing, tags: Text / Content / Format +#define ICON_MD_FORMAT_PILCROW "\xf3\xb0\x9b\x98" // U+F06D8 format-pilcrow, tags: Text / Content / Format +#define ICON_MD_FORMAT_PILCROW_ARROW_LEFT \ + "\xf3\xb0\x8a\x86" // U+F0286 format-pilcrow-arrow-left, aliases: format-textdirection-r-to-l, tags: Text / Content + // / Format +#define ICON_MD_FORMAT_PILCROW_ARROW_RIGHT \ + "\xf3\xb0\x8a\x85" // U+F0285 format-pilcrow-arrow-right, aliases: format-textdirection-l-to-r, tags: Text / Content + // / Format +#define ICON_MD_FORMAT_QUOTE_CLOSE "\xf3\xb0\x89\xbe" // U+F027E format-quote-close, tags: Text / Content / Format +#define ICON_MD_FORMAT_QUOTE_CLOSE_OUTLINE "\xf3\xb1\x86\xa8" // U+F11A8 format-quote-close-outline, tags: Text / Content / Format +#define ICON_MD_FORMAT_QUOTE_OPEN "\xf3\xb0\x9d\x97" // U+F0757 format-quote-open, tags: Text / Content / Format +#define ICON_MD_FORMAT_QUOTE_OPEN_OUTLINE "\xf3\xb1\x86\xa7" // U+F11A7 format-quote-open-outline, tags: Text / Content / Format +#define ICON_MD_FORMAT_ROTATE_90 \ + "\xf3\xb0\x9a\xaa" // U+F06AA format-rotate-90, aliases: rotate-90-degrees-ccw, format-rotate-ninety, tags: Text / + // Content / Format +#define ICON_MD_FORMAT_SECTION "\xf3\xb0\x9a\x9f" // U+F069F format-section, tags: Text / Content / Format +#define ICON_MD_FORMAT_SIZE "\xf3\xb0\x89\xbf" // U+F027F format-size, aliases: font-size, tags: Text / Content / Format +#define ICON_MD_FORMAT_STRIKETHROUGH "\xf3\xb0\x8a\x80" // U+F0280 format-strikethrough, tags: Text / Content / Format +#define ICON_MD_FORMAT_STRIKETHROUGH_VARIANT "\xf3\xb0\x8a\x81" // U+F0281 format-strikethrough-variant, aliases: strikethrough-s, tags: Text / Content / Format +#define ICON_MD_FORMAT_SUBSCRIPT "\xf3\xb0\x8a\x82" // U+F0282 format-subscript, tags: Text / Content / Format +#define ICON_MD_FORMAT_SUPERSCRIPT "\xf3\xb0\x8a\x83" // U+F0283 format-superscript, aliases: exponent, tags: Text / Content / Format, Math +#define ICON_MD_FORMAT_TEXT "\xf3\xb0\x8a\x84" // U+F0284 format-text, tags: Text / Content / Format +#define ICON_MD_FORMAT_TEXT_ROTATION_ANGLE_DOWN "\xf3\xb0\xbe\xbb" // U+F0FBB format-text-rotation-angle-down, tags: Text / Content / Format +#define ICON_MD_FORMAT_TEXT_ROTATION_ANGLE_UP "\xf3\xb0\xbe\xbc" // U+F0FBC format-text-rotation-angle-up, tags: Text / Content / Format +#define ICON_MD_FORMAT_TEXT_ROTATION_DOWN "\xf3\xb0\xb5\xb3" // U+F0D73 format-text-rotation-down, tags: Text / Content / Format +#define ICON_MD_FORMAT_TEXT_ROTATION_DOWN_VERTICAL "\xf3\xb0\xbe\xbd" // U+F0FBD format-text-rotation-down-vertical, tags: Text / Content / Format +#define ICON_MD_FORMAT_TEXT_ROTATION_NONE "\xf3\xb0\xb5\xb4" // U+F0D74 format-text-rotation-none, tags: Text / Content / Format +#define ICON_MD_FORMAT_TEXT_ROTATION_UP "\xf3\xb0\xbe\xbe" // U+F0FBE format-text-rotation-up, tags: Text / Content / Format +#define ICON_MD_FORMAT_TEXT_ROTATION_VERTICAL "\xf3\xb0\xbe\xbf" // U+F0FBF format-text-rotation-vertical, tags: Text / Content / Format +#define ICON_MD_FORMAT_TEXT_VARIANT "\xf3\xb0\xb8\xb2" // U+F0E32 format-text-variant, tags: Text / Content / Format +#define ICON_MD_FORMAT_TEXT_VARIANT_OUTLINE "\xf3\xb1\x94\x8f" // U+F150F format-text-variant-outline, tags: Text / Content / Format +#define ICON_MD_FORMAT_TEXT_WRAPPING_CLIP "\xf3\xb0\xb4\x8e" // U+F0D0E format-text-wrapping-clip, tags: Text / Content / Format +#define ICON_MD_FORMAT_TEXT_WRAPPING_OVERFLOW "\xf3\xb0\xb4\x8f" // U+F0D0F format-text-wrapping-overflow, tags: Text / Content / Format +#define ICON_MD_FORMAT_TEXT_WRAPPING_WRAP "\xf3\xb0\xb4\x90" // U+F0D10 format-text-wrapping-wrap, tags: Text / Content / Format +#define ICON_MD_FORMAT_TEXTBOX "\xf3\xb0\xb4\x91" // U+F0D11 format-textbox, tags: Text / Content / Format +#define ICON_MD_FORMAT_TITLE "\xf3\xb0\x97\xb4" // U+F05F4 format-title, tags: Text / Content / Format +#define ICON_MD_FORMAT_UNDERLINE "\xf3\xb0\x8a\x87" // U+F0287 format-underline, aliases: format-underlined, tags: Text / Content / Format +#define ICON_MD_FORMAT_UNDERLINE_WAVY "\xf3\xb1\xa3\xa9" // U+F18E9 format-underline-wavy, tags: Text / Content / Format +#define ICON_MD_FORMAT_VERTICAL_ALIGN_BOTTOM "\xf3\xb0\x98\xa1" // U+F0621 format-vertical-align-bottom, tags: Text / Content / Format +#define ICON_MD_FORMAT_VERTICAL_ALIGN_CENTER \ + "\xf3\xb0\x98\xa2" // U+F0622 format-vertical-align-center, aliases: format-vertical-align-centre, + // arrow-vertical-collapse, tags: Text / Content / Format +#define ICON_MD_FORMAT_VERTICAL_ALIGN_TOP "\xf3\xb0\x98\xa3" // U+F0623 format-vertical-align-top, tags: Text / Content / Format +#define ICON_MD_FORMAT_WRAP_INLINE "\xf3\xb0\x8a\x88" // U+F0288 format-wrap-inline, tags: Text / Content / Format +#define ICON_MD_FORMAT_WRAP_SQUARE "\xf3\xb0\x8a\x89" // U+F0289 format-wrap-square, tags: Text / Content / Format +#define ICON_MD_FORMAT_WRAP_TIGHT "\xf3\xb0\x8a\x8a" // U+F028A format-wrap-tight, tags: Text / Content / Format +#define ICON_MD_FORMAT_WRAP_TOP_BOTTOM "\xf3\xb0\x8a\x8b" // U+F028B format-wrap-top-bottom, tags: Text / Content / Format +#define ICON_MD_FORUM "\xf3\xb0\x8a\x8c" // U+F028C forum, aliases: message-group, question-answer, chat +#define ICON_MD_FORUM_MINUS "\xf3\xb1\xaa\xa9" // U+F1AA9 forum-minus, aliases: chat-minus, forum-subtract, chat-subtract +#define ICON_MD_FORUM_MINUS_OUTLINE \ + "\xf3\xb1\xaa\xaa" // U+F1AAA forum-minus-outline, aliases: chat-minus-outline, forum-subtract-outline, + // chat-subtract-outline +#define ICON_MD_FORUM_OUTLINE "\xf3\xb0\xa0\xa2" // U+F0822 forum-outline, aliases: chat-outline +#define ICON_MD_FORUM_PLUS "\xf3\xb1\xaa\xab" // U+F1AAB forum-plus, aliases: chat-plus, forum-add, chat-add +#define ICON_MD_FORUM_PLUS_OUTLINE "\xf3\xb1\xaa\xac" // U+F1AAC forum-plus-outline, aliases: chat-plus-outline, chat-add-outline, forum-add-outline +#define ICON_MD_FORUM_REMOVE "\xf3\xb1\xaa\xad" // U+F1AAD forum-remove, aliases: forum-delete, chat-remove, chat-delete +#define ICON_MD_FORUM_REMOVE_OUTLINE \ + "\xf3\xb1\xaa\xae" // U+F1AAE forum-remove-outline, aliases: forum-delete-outline, chat-remove-outline, + // chat-delete-outline +#define ICON_MD_FORWARD "\xf3\xb0\x8a\x8d" // U+F028D forward, tags: Arrow +#define ICON_MD_FORWARDBURGER "\xf3\xb0\xb5\xb5" // U+F0D75 forwardburger +#define ICON_MD_FOUNTAIN "\xf3\xb0\xa5\xab" // U+F096B fountain +#define ICON_MD_FOUNTAIN_PEN "\xf3\xb0\xb4\x92" // U+F0D12 fountain-pen, tags: Drawing / Art +#define ICON_MD_FOUNTAIN_PEN_TIP "\xf3\xb0\xb4\x93" // U+F0D13 fountain-pen-tip, tags: Drawing / Art +#define ICON_MD_FRACTION_ONE_HALF "\xf3\xb1\xa6\x92" // U+F1992 fraction-one-half +#define ICON_MD_FREEBSD "\xf3\xb0\xa3\xa0" // U+F08E0 freebsd, tags: Brand / Logo +#define ICON_MD_FRENCH_FRIES \ + "\xf3\xb1\xa5\x97" // U+F1957 french-fries, aliases: chips, finger-chips, french-fry, fried-potatoes, fries, frites, + // tags: Food / Drink +#define ICON_MD_FREQUENTLY_ASKED_QUESTIONS "\xf3\xb0\xba\xb4" // U+F0EB4 frequently-asked-questions, aliases: faq +#define ICON_MD_FRIDGE "\xf3\xb0\x8a\x90" // U+F0290 fridge, aliases: fridge-filled, refrigerator, kitchen, tags: Home Automation +#define ICON_MD_FRIDGE_ALERT "\xf3\xb1\x86\xb1" // U+F11B1 fridge-alert, tags: Home Automation, Alert / Error +#define ICON_MD_FRIDGE_ALERT_OUTLINE "\xf3\xb1\x86\xb2" // U+F11B2 fridge-alert-outline, tags: Home Automation, Alert / Error +#define ICON_MD_FRIDGE_BOTTOM "\xf3\xb0\x8a\x92" // U+F0292 fridge-bottom, aliases: fridge-filled-top, refrigerator-bottom, tags: Home Automation +#define ICON_MD_FRIDGE_INDUSTRIAL "\xf3\xb1\x97\xae" // U+F15EE fridge-industrial, tags: Home Automation +#define ICON_MD_FRIDGE_INDUSTRIAL_ALERT "\xf3\xb1\x97\xaf" // U+F15EF fridge-industrial-alert, tags: Home Automation, Alert / Error +#define ICON_MD_FRIDGE_INDUSTRIAL_ALERT_OUTLINE "\xf3\xb1\x97\xb0" // U+F15F0 fridge-industrial-alert-outline, tags: Home Automation, Alert / Error +#define ICON_MD_FRIDGE_INDUSTRIAL_OFF "\xf3\xb1\x97\xb1" // U+F15F1 fridge-industrial-off, tags: Home Automation +#define ICON_MD_FRIDGE_INDUSTRIAL_OFF_OUTLINE "\xf3\xb1\x97\xb2" // U+F15F2 fridge-industrial-off-outline, tags: Home Automation +#define ICON_MD_FRIDGE_INDUSTRIAL_OUTLINE "\xf3\xb1\x97\xb3" // U+F15F3 fridge-industrial-outline, tags: Home Automation +#define ICON_MD_FRIDGE_OFF "\xf3\xb1\x86\xaf" // U+F11AF fridge-off, tags: Home Automation +#define ICON_MD_FRIDGE_OFF_OUTLINE "\xf3\xb1\x86\xb0" // U+F11B0 fridge-off-outline, tags: Home Automation +#define ICON_MD_FRIDGE_OUTLINE "\xf3\xb0\x8a\x8f" // U+F028F fridge-outline, aliases: kitchen, refrigerator-outline, tags: Home Automation +#define ICON_MD_FRIDGE_TOP "\xf3\xb0\x8a\x91" // U+F0291 fridge-top, aliases: fridge-filled-bottom, refrigerator-top, tags: Home Automation +#define ICON_MD_FRIDGE_VARIANT "\xf3\xb1\x97\xb4" // U+F15F4 fridge-variant, tags: Home Automation +#define ICON_MD_FRIDGE_VARIANT_ALERT "\xf3\xb1\x97\xb5" // U+F15F5 fridge-variant-alert, tags: Home Automation, Alert / Error +#define ICON_MD_FRIDGE_VARIANT_ALERT_OUTLINE "\xf3\xb1\x97\xb6" // U+F15F6 fridge-variant-alert-outline, tags: Home Automation, Alert / Error +#define ICON_MD_FRIDGE_VARIANT_OFF "\xf3\xb1\x97\xb7" // U+F15F7 fridge-variant-off, tags: Home Automation +#define ICON_MD_FRIDGE_VARIANT_OFF_OUTLINE "\xf3\xb1\x97\xb8" // U+F15F8 fridge-variant-off-outline, tags: Home Automation +#define ICON_MD_FRIDGE_VARIANT_OUTLINE "\xf3\xb1\x97\xb9" // U+F15F9 fridge-variant-outline, tags: Home Automation +#define ICON_MD_FRUIT_CHERRIES "\xf3\xb1\x81\x82" // U+F1042 fruit-cherries, tags: Food / Drink, Agriculture +#define ICON_MD_FRUIT_CHERRIES_OFF "\xf3\xb1\x8f\xb8" // U+F13F8 fruit-cherries-off, tags: Food / Drink, Agriculture +#define ICON_MD_FRUIT_CITRUS "\xf3\xb1\x81\x83" // U+F1043 fruit-citrus, aliases: fruit-lemon, fruit-lime, tags: Food / Drink, Agriculture +#define ICON_MD_FRUIT_CITRUS_OFF "\xf3\xb1\x8f\xb9" // U+F13F9 fruit-citrus-off, tags: Food / Drink, Agriculture +#define ICON_MD_FRUIT_GRAPES "\xf3\xb1\x81\x84" // U+F1044 fruit-grapes, tags: Food / Drink, Agriculture +#define ICON_MD_FRUIT_GRAPES_OUTLINE "\xf3\xb1\x81\x85" // U+F1045 fruit-grapes-outline, tags: Food / Drink, Agriculture +#define ICON_MD_FRUIT_PEAR "\xf3\xb1\xa8\x8e" // U+F1A0E fruit-pear, tags: Food / Drink +#define ICON_MD_FRUIT_PINEAPPLE "\xf3\xb1\x81\x86" // U+F1046 fruit-pineapple, aliases: fruit-ananas, tags: Food / Drink, Agriculture +#define ICON_MD_FRUIT_WATERMELON "\xf3\xb1\x81\x87" // U+F1047 fruit-watermelon, tags: Food / Drink, Agriculture +#define ICON_MD_FUEL "\xf3\xb0\x9f\x8a" // U+F07CA fuel, aliases: petrol, gasoline, tags: Automotive +#define ICON_MD_FUEL_CELL "\xf3\xb1\xa2\xb5" // U+F18B5 fuel-cell, aliases: battery, tags: Automotive +#define ICON_MD_FULLSCREEN "\xf3\xb0\x8a\x93" // U+F0293 fullscreen +#define ICON_MD_FULLSCREEN_EXIT "\xf3\xb0\x8a\x94" // U+F0294 fullscreen-exit +#define ICON_MD_FUNCTION "\xf3\xb0\x8a\x95" // U+F0295 function, tags: Math +#define ICON_MD_FUNCTION_VARIANT "\xf3\xb0\xa1\xb1" // U+F0871 function-variant, tags: Math +#define ICON_MD_FURIGANA_HORIZONTAL "\xf3\xb1\x82\x81" // U+F1081 furigana-horizontal, aliases: ruby-horizontal, tags: Text / Content / Format +#define ICON_MD_FURIGANA_VERTICAL "\xf3\xb1\x82\x82" // U+F1082 furigana-vertical, aliases: zhuyin, ruby-vertical, tags: Text / Content / Format +#define ICON_MD_FUSE "\xf3\xb0\xb2\x85" // U+F0C85 fuse, tags: Automotive +#define ICON_MD_FUSE_ALERT "\xf3\xb1\x90\xad" // U+F142D fuse-alert, tags: Automotive, Alert / Error +#define ICON_MD_FUSE_BLADE "\xf3\xb0\xb2\x86" // U+F0C86 fuse-blade, tags: Automotive +#define ICON_MD_FUSE_OFF "\xf3\xb1\x90\xac" // U+F142C fuse-off, tags: Automotive +#define ICON_MD_GAMEPAD "\xf3\xb0\x8a\x96" // U+F0296 gamepad, aliases: games, controller, tags: Home Automation, Gaming / RPG +#define ICON_MD_GAMEPAD_CIRCLE "\xf3\xb0\xb8\xb3" // U+F0E33 gamepad-circle, aliases: controller-circle, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_CIRCLE_DOWN "\xf3\xb0\xb8\xb4" // U+F0E34 gamepad-circle-down, aliases: controller-circle-down, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_CIRCLE_LEFT "\xf3\xb0\xb8\xb5" // U+F0E35 gamepad-circle-left, aliases: controller-circle-left, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_CIRCLE_OUTLINE "\xf3\xb0\xb8\xb6" // U+F0E36 gamepad-circle-outline, aliases: controller-circle-outline, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_CIRCLE_RIGHT "\xf3\xb0\xb8\xb7" // U+F0E37 gamepad-circle-right, aliases: controller-circle-right, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_CIRCLE_UP "\xf3\xb0\xb8\xb8" // U+F0E38 gamepad-circle-up, aliases: controller-circle-up, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_DOWN "\xf3\xb0\xb8\xb9" // U+F0E39 gamepad-down, aliases: controller-down, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_LEFT "\xf3\xb0\xb8\xba" // U+F0E3A gamepad-left, aliases: controller-left, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_OUTLINE \ + "\xf3\xb1\xa4\x99" // U+F1919 gamepad-outline, aliases: controller-outline, games-outline, tags: Gaming / RPG, Home + // Automation +#define ICON_MD_GAMEPAD_RIGHT "\xf3\xb0\xb8\xbb" // U+F0E3B gamepad-right, aliases: controller-right, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_ROUND "\xf3\xb0\xb8\xbc" // U+F0E3C gamepad-round, aliases: controller-round, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_ROUND_DOWN "\xf3\xb0\xb8\xbd" // U+F0E3D gamepad-round-down, aliases: controller-round-down, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_ROUND_LEFT "\xf3\xb0\xb8\xbe" // U+F0E3E gamepad-round-left, aliases: controller-round-left, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_ROUND_OUTLINE "\xf3\xb0\xb8\xbf" // U+F0E3F gamepad-round-outline, aliases: controller-round-outline, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_ROUND_RIGHT "\xf3\xb0\xb9\x80" // U+F0E40 gamepad-round-right, aliases: controller-round-right, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_ROUND_UP "\xf3\xb0\xb9\x81" // U+F0E41 gamepad-round-up, aliases: controller-round-up, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_SQUARE "\xf3\xb0\xba\xb5" // U+F0EB5 gamepad-square, aliases: controller-square, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_SQUARE_OUTLINE "\xf3\xb0\xba\xb6" // U+F0EB6 gamepad-square-outline, aliases: controller-square-outline, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_UP "\xf3\xb0\xb9\x82" // U+F0E42 gamepad-up, aliases: controller-up, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_VARIANT "\xf3\xb0\x8a\x97" // U+F0297 gamepad-variant, aliases: controller-variant, tags: Gaming / RPG +#define ICON_MD_GAMEPAD_VARIANT_OUTLINE "\xf3\xb0\xba\xb7" // U+F0EB7 gamepad-variant-outline, aliases: controller-variant-outline, tags: Gaming / RPG +#define ICON_MD_GAMMA "\xf3\xb1\x83\xae" // U+F10EE gamma, tags: Alpha / Numeric +#define ICON_MD_GANTRY_CRANE "\xf3\xb0\xb7\x91" // U+F0DD1 gantry-crane +#define ICON_MD_GARAGE "\xf3\xb0\x9b\x99" // U+F06D9 garage, tags: Home Automation +#define ICON_MD_GARAGE_ALERT "\xf3\xb0\xa1\xb2" // U+F0872 garage-alert, aliases: garage-warning, tags: Home Automation, Alert / Error +#define ICON_MD_GARAGE_ALERT_VARIANT "\xf3\xb1\x8b\x95" // U+F12D5 garage-alert-variant, tags: Home Automation, Alert / Error +#define ICON_MD_GARAGE_LOCK "\xf3\xb1\x9f\xbb" // U+F17FB garage-lock, tags: Home Automation, Lock +#define ICON_MD_GARAGE_OPEN "\xf3\xb0\x9b\x9a" // U+F06DA garage-open, tags: Home Automation +#define ICON_MD_GARAGE_OPEN_VARIANT "\xf3\xb1\x8b\x94" // U+F12D4 garage-open-variant, tags: Home Automation +#define ICON_MD_GARAGE_VARIANT "\xf3\xb1\x8b\x93" // U+F12D3 garage-variant, tags: Home Automation +#define ICON_MD_GARAGE_VARIANT_LOCK "\xf3\xb1\x9f\xbc" // U+F17FC garage-variant-lock, tags: Home Automation, Lock +#define ICON_MD_GAS_BURNER "\xf3\xb1\xa8\x9b" // U+F1A1B gas-burner, aliases: stove-burner, cooktop-burner, grill, tags: Home Automation +#define ICON_MD_GAS_CYLINDER "\xf3\xb0\x99\x87" // U+F0647 gas-cylinder, aliases: tank, oxygen-tank +#define ICON_MD_GAS_STATION \ + "\xf3\xb0\x8a\x98" // U+F0298 gas-station, aliases: gas-pump, petrol-pump, petrol-station, local-gas-station, + // fuel-station, fuel-pump, tags: Places, Automotive +#define ICON_MD_GAS_STATION_OFF "\xf3\xb1\x90\x89" // U+F1409 gas-station-off +#define ICON_MD_GAS_STATION_OFF_OUTLINE "\xf3\xb1\x90\x8a" // U+F140A gas-station-off-outline +#define ICON_MD_GAS_STATION_OUTLINE \ + "\xf3\xb0\xba\xb8" // U+F0EB8 gas-station-outline, aliases: gas-pump-outline, petrol-pump-outline, + // petrol-station-outline, fuel-station-outline, fuel-pump-outline +#define ICON_MD_GATE "\xf3\xb0\x8a\x99" // U+F0299 gate, tags: Home Automation +#define ICON_MD_GATE_ALERT "\xf3\xb1\x9f\xb8" // U+F17F8 gate-alert, tags: Home Automation, Alert / Error +#define ICON_MD_GATE_AND "\xf3\xb0\xa3\xa1" // U+F08E1 gate-and, aliases: logic-gate-and +#define ICON_MD_GATE_ARROW_LEFT "\xf3\xb1\x9f\xb7" // U+F17F7 gate-arrow-left, tags: Home Automation +#define ICON_MD_GATE_ARROW_RIGHT "\xf3\xb1\x85\xa9" // U+F1169 gate-arrow-right, tags: Home Automation +#define ICON_MD_GATE_BUFFER "\xf3\xb1\xab\xbe" // U+F1AFE gate-buffer +#define ICON_MD_GATE_NAND "\xf3\xb0\xa3\xa2" // U+F08E2 gate-nand, aliases: logic-gate-nand +#define ICON_MD_GATE_NOR "\xf3\xb0\xa3\xa3" // U+F08E3 gate-nor, aliases: logic-gate-nor +#define ICON_MD_GATE_NOT "\xf3\xb0\xa3\xa4" // U+F08E4 gate-not, aliases: logic-gate-not +#define ICON_MD_GATE_OPEN "\xf3\xb1\x85\xaa" // U+F116A gate-open, tags: Home Automation +#define ICON_MD_GATE_OR "\xf3\xb0\xa3\xa5" // U+F08E5 gate-or, aliases: logic-gate-or +#define ICON_MD_GATE_XNOR "\xf3\xb0\xa3\xa6" // U+F08E6 gate-xnor, aliases: logic-gate-xnor +#define ICON_MD_GATE_XOR "\xf3\xb0\xa3\xa7" // U+F08E7 gate-xor, aliases: logic-gate-xor +#define ICON_MD_GATSBY "\xf3\xb0\xb9\x83" // U+F0E43 gatsby, tags: Developer / Languages, Brand / Logo +#define ICON_MD_GAUGE "\xf3\xb0\x8a\x9a" // U+F029A gauge, aliases: swap-driving-apps-wheel, barometer, tags: Home Automation, Automotive +#define ICON_MD_GAUGE_EMPTY "\xf3\xb0\xa1\xb3" // U+F0873 gauge-empty, tags: Automotive, Home Automation +#define ICON_MD_GAUGE_FULL "\xf3\xb0\xa1\xb4" // U+F0874 gauge-full, tags: Automotive, Home Automation +#define ICON_MD_GAUGE_LOW "\xf3\xb0\xa1\xb5" // U+F0875 gauge-low, tags: Automotive, Home Automation +#define ICON_MD_GAVEL "\xf3\xb0\x8a\x9b" // U+F029B gavel, aliases: court-hammer +#define ICON_MD_GENDER_FEMALE "\xf3\xb0\x8a\x9c" // U+F029C gender-female, aliases: venus +#define ICON_MD_GENDER_MALE "\xf3\xb0\x8a\x9d" // U+F029D gender-male, aliases: mars +#define ICON_MD_GENDER_MALE_FEMALE "\xf3\xb0\x8a\x9e" // U+F029E gender-male-female +#define ICON_MD_GENDER_MALE_FEMALE_VARIANT "\xf3\xb1\x84\xbf" // U+F113F gender-male-female-variant, aliases: mercury +#define ICON_MD_GENDER_NON_BINARY "\xf3\xb1\x85\x80" // U+F1140 gender-non-binary, aliases: gender-enby +#define ICON_MD_GENDER_TRANSGENDER "\xf3\xb0\x8a\x9f" // U+F029F gender-transgender +#define ICON_MD_GENTOO "\xf3\xb0\xa3\xa8" // U+F08E8 gentoo, tags: Brand / Logo +#define ICON_MD_GESTURE "\xf3\xb0\x9f\x8b" // U+F07CB gesture, aliases: freehand-line, tags: Drawing / Art +#define ICON_MD_GESTURE_DOUBLE_TAP "\xf3\xb0\x9c\xbc" // U+F073C gesture-double-tap, aliases: interaction-double-tap, hand-double-tap +#define ICON_MD_GESTURE_PINCH "\xf3\xb0\xaa\xbd" // U+F0ABD gesture-pinch +#define ICON_MD_GESTURE_SPREAD "\xf3\xb0\xaa\xbe" // U+F0ABE gesture-spread +#define ICON_MD_GESTURE_SWIPE "\xf3\xb0\xb5\xb6" // U+F0D76 gesture-swipe +#define ICON_MD_GESTURE_SWIPE_DOWN "\xf3\xb0\x9c\xbd" // U+F073D gesture-swipe-down +#define ICON_MD_GESTURE_SWIPE_HORIZONTAL "\xf3\xb0\xaa\xbf" // U+F0ABF gesture-swipe-horizontal +#define ICON_MD_GESTURE_SWIPE_LEFT "\xf3\xb0\x9c\xbe" // U+F073E gesture-swipe-left +#define ICON_MD_GESTURE_SWIPE_RIGHT "\xf3\xb0\x9c\xbf" // U+F073F gesture-swipe-right +#define ICON_MD_GESTURE_SWIPE_UP "\xf3\xb0\x9d\x80" // U+F0740 gesture-swipe-up +#define ICON_MD_GESTURE_SWIPE_VERTICAL "\xf3\xb0\xab\x80" // U+F0AC0 gesture-swipe-vertical +#define ICON_MD_GESTURE_TAP "\xf3\xb0\x9d\x81" // U+F0741 gesture-tap, aliases: interaction-tap, hand-tap, gesture-touch +#define ICON_MD_GESTURE_TAP_BOX "\xf3\xb1\x8a\xa9" // U+F12A9 gesture-tap-box, aliases: gesture-touch-box +#define ICON_MD_GESTURE_TAP_BUTTON \ + "\xf3\xb1\x8a\xa8" // U+F12A8 gesture-tap-button, aliases: call-to-action, cta, button-pointer, + // gesture-touch-button, tags: Form +#define ICON_MD_GESTURE_TAP_HOLD "\xf3\xb0\xb5\xb7" // U+F0D77 gesture-tap-hold, aliases: gesture-touch-hold +#define ICON_MD_GESTURE_TWO_DOUBLE_TAP "\xf3\xb0\x9d\x82" // U+F0742 gesture-two-double-tap +#define ICON_MD_GESTURE_TWO_TAP "\xf3\xb0\x9d\x83" // U+F0743 gesture-two-tap +#define ICON_MD_GHOST "\xf3\xb0\x8a\xa0" // U+F02A0 ghost, aliases: inky, blinky, pinky, clyde, tags: Gaming / RPG +#define ICON_MD_GHOST_OFF "\xf3\xb0\xa7\xb5" // U+F09F5 ghost-off, tags: Gaming / RPG +#define ICON_MD_GHOST_OFF_OUTLINE "\xf3\xb1\x99\x9c" // U+F165C ghost-off-outline, tags: Gaming / RPG +#define ICON_MD_GHOST_OUTLINE "\xf3\xb1\x99\x9d" // U+F165D ghost-outline, tags: Gaming / RPG +#define ICON_MD_GIFT "\xf3\xb0\xb9\x84" // U+F0E44 gift, aliases: present, package, donate, tags: Holiday +#define ICON_MD_GIFT_OFF "\xf3\xb1\x9b\xaf" // U+F16EF gift-off, aliases: present-off, package-off, donate-off, tags: Holiday +#define ICON_MD_GIFT_OFF_OUTLINE \ + "\xf3\xb1\x9b\xb0" // U+F16F0 gift-off-outline, aliases: present-off-outline, package-off-outline, + // donate-off-outline, tags: Holiday +#define ICON_MD_GIFT_OPEN "\xf3\xb1\x9b\xb1" // U+F16F1 gift-open, aliases: present-open, package-open, tags: Holiday +#define ICON_MD_GIFT_OPEN_OUTLINE "\xf3\xb1\x9b\xb2" // U+F16F2 gift-open-outline, aliases: present-open-outline, package-open-outline, tags: Holiday +#define ICON_MD_GIFT_OUTLINE \ + "\xf3\xb0\x8a\xa1" // U+F02A1 gift-outline, aliases: donate-outline, present-outline, package-outline, tags: + // Shopping, Holiday +#define ICON_MD_GIT "\xf3\xb0\x8a\xa2" // U+F02A2 git, tags: Brand / Logo, Developer / Languages +#define ICON_MD_GITHUB "\xf3\xb0\x8a\xa4" // U+F02A4 github, aliases: microsoft-github, tags: Developer / Languages, Brand / Logo +#define ICON_MD_GITLAB "\xf3\xb0\xae\xa0" // U+F0BA0 gitlab, tags: Developer / Languages, Brand / Logo +#define ICON_MD_GLASS_COCKTAIL \ + "\xf3\xb0\x8d\x96" // U+F0356 glass-cocktail, aliases: local-bar, cocktail, martini, alcohol, bar, cup, drink, tags: + // Food / Drink +#define ICON_MD_GLASS_COCKTAIL_OFF "\xf3\xb1\x97\xa6" // U+F15E6 glass-cocktail-off, tags: Food / Drink +#define ICON_MD_GLASS_FLUTE "\xf3\xb0\x8a\xa5" // U+F02A5 glass-flute, aliases: alcohol, cocktail, cup, drink, tags: Food / Drink +#define ICON_MD_GLASS_FRAGILE "\xf3\xb1\xa1\xb3" // U+F1873 glass-fragile, aliases: glass-broken, tags: Food / Drink +#define ICON_MD_GLASS_MUG "\xf3\xb0\x8a\xa6" // U+F02A6 glass-mug, aliases: pub, bar, beer, alcohol, cup, drink, local-bar, tags: Food / Drink +#define ICON_MD_GLASS_MUG_OFF "\xf3\xb1\x97\xa7" // U+F15E7 glass-mug-off, tags: Food / Drink +#define ICON_MD_GLASS_MUG_VARIANT \ + "\xf3\xb1\x84\x96" // U+F1116 glass-mug-variant, aliases: pub, bar, beer, drink, alcohol, cup, local-bar, tags: Food + // / Drink +#define ICON_MD_GLASS_MUG_VARIANT_OFF "\xf3\xb1\x97\xa8" // U+F15E8 glass-mug-variant-off, tags: Food / Drink +#define ICON_MD_GLASS_PINT_OUTLINE "\xf3\xb1\x8c\x8d" // U+F130D glass-pint-outline, tags: Food / Drink +#define ICON_MD_GLASS_STANGE "\xf3\xb0\x8a\xa7" // U+F02A7 glass-stange, aliases: alcohol, bar, cocktail, cup, drink, tags: Food / Drink +#define ICON_MD_GLASS_TULIP "\xf3\xb0\x8a\xa8" // U+F02A8 glass-tulip, aliases: bar, alcohol, cocktail, cup, drink, tags: Food / Drink +#define ICON_MD_GLASS_WINE "\xf3\xb0\xa1\xb6" // U+F0876 glass-wine, aliases: bar, alcohol, cocktail, cup, drink, tags: Food / Drink +#define ICON_MD_GLASSES "\xf3\xb0\x8a\xaa" // U+F02AA glasses, tags: Clothing +#define ICON_MD_GLOBE_LIGHT "\xf3\xb0\x99\xaf" // U+F066F globe-light, tags: Home Automation +#define ICON_MD_GLOBE_LIGHT_OUTLINE "\xf3\xb1\x8b\x97" // U+F12D7 globe-light-outline, tags: Home Automation +#define ICON_MD_GLOBE_MODEL "\xf3\xb0\xa3\xa9" // U+F08E9 globe-model +#define ICON_MD_GMAIL "\xf3\xb0\x8a\xab" // U+F02AB gmail, tags: Brand / Logo +#define ICON_MD_GNOME "\xf3\xb0\x8a\xac" // U+F02AC gnome, tags: Brand / Logo +#define ICON_MD_GO_KART "\xf3\xb0\xb5\xb9" // U+F0D79 go-kart, aliases: cart, tags: Sport +#define ICON_MD_GO_KART_TRACK "\xf3\xb0\xb5\xba" // U+F0D7A go-kart-track +#define ICON_MD_GOG "\xf3\xb0\xae\xa1" // U+F0BA1 gog, aliases: gog-com, tags: Brand / Logo, Gaming / RPG +#define ICON_MD_GOLD "\xf3\xb1\x89\x8f" // U+F124F gold +#define ICON_MD_GOLF "\xf3\xb0\xa0\xa3" // U+F0823 golf, aliases: golf-course, tags: Sport +#define ICON_MD_GOLF_CART "\xf3\xb1\x86\xa4" // U+F11A4 golf-cart, tags: Sport, Transportation + Other +#define ICON_MD_GOLF_TEE "\xf3\xb1\x82\x83" // U+F1083 golf-tee, tags: Sport +#define ICON_MD_GONDOLA "\xf3\xb0\x9a\x86" // U+F0686 gondola, aliases: cable-car, tags: Transportation + Other +#define ICON_MD_GOODREADS "\xf3\xb0\xb5\xbb" // U+F0D7B goodreads, tags: Brand / Logo +#define ICON_MD_GOOGLE "\xf3\xb0\x8a\xad" // U+F02AD google, tags: Brand / Logo +#define ICON_MD_GOOGLE_ADS "\xf3\xb0\xb2\x87" // U+F0C87 google-ads, aliases: google-adwords, tags: Brand / Logo +#define ICON_MD_GOOGLE_ANALYTICS "\xf3\xb0\x9f\x8c" // U+F07CC google-analytics, tags: Brand / Logo +#define ICON_MD_GOOGLE_ASSISTANT "\xf3\xb0\x9f\x8d" // U+F07CD google-assistant, tags: Brand / Logo +#define ICON_MD_GOOGLE_CARDBOARD "\xf3\xb0\x8a\xae" // U+F02AE google-cardboard, tags: Brand / Logo +#define ICON_MD_GOOGLE_CHROME "\xf3\xb0\x8a\xaf" // U+F02AF google-chrome, aliases: chromecast, tags: Brand / Logo +#define ICON_MD_GOOGLE_CIRCLES "\xf3\xb0\x8a\xb0" // U+F02B0 google-circles, tags: Brand / Logo +#define ICON_MD_GOOGLE_CIRCLES_COMMUNITIES "\xf3\xb0\x8a\xb1" // U+F02B1 google-circles-communities, tags: Brand / Logo +#define ICON_MD_GOOGLE_CIRCLES_EXTENDED "\xf3\xb0\x8a\xb2" // U+F02B2 google-circles-extended, tags: Brand / Logo +#define ICON_MD_GOOGLE_CIRCLES_GROUP "\xf3\xb0\x8a\xb3" // U+F02B3 google-circles-group, tags: Brand / Logo +#define ICON_MD_GOOGLE_CLASSROOM "\xf3\xb0\x8b\x80" // U+F02C0 google-classroom, tags: Brand / Logo +#define ICON_MD_GOOGLE_CLOUD "\xf3\xb1\x87\xb6" // U+F11F6 google-cloud, tags: Brand / Logo +#define ICON_MD_GOOGLE_DOWNASAUR \ + "\xf3\xb1\x8d\xa2" // U+F1362 google-downasaur, aliases: dinosaur-pixel, t-rex, tyrannosaurus-rex, tags: Animal, + // Gaming / RPG +#define ICON_MD_GOOGLE_DRIVE "\xf3\xb0\x8a\xb6" // U+F02B6 google-drive, aliases: attach-drive, tags: Brand / Logo +#define ICON_MD_GOOGLE_EARTH "\xf3\xb0\x8a\xb7" // U+F02B7 google-earth, aliases: marble, tags: Brand / Logo +#define ICON_MD_GOOGLE_FIT "\xf3\xb0\xa5\xac" // U+F096C google-fit, tags: Brand / Logo +#define ICON_MD_GOOGLE_GLASS "\xf3\xb0\x8a\xb8" // U+F02B8 google-glass, tags: Brand / Logo +#define ICON_MD_GOOGLE_HANGOUTS "\xf3\xb0\x8b\x89" // U+F02C9 google-hangouts, tags: Brand / Logo +#define ICON_MD_GOOGLE_KEEP "\xf3\xb0\x9b\x9c" // U+F06DC google-keep, tags: Brand / Logo +#define ICON_MD_GOOGLE_LENS "\xf3\xb0\xa7\xb6" // U+F09F6 google-lens, tags: Brand / Logo +#define ICON_MD_GOOGLE_MAPS "\xf3\xb0\x97\xb5" // U+F05F5 google-maps, tags: Navigation, Brand / Logo +#define ICON_MD_GOOGLE_MY_BUSINESS "\xf3\xb1\x81\x88" // U+F1048 google-my-business +#define ICON_MD_GOOGLE_NEARBY "\xf3\xb0\x8a\xb9" // U+F02B9 google-nearby +#define ICON_MD_GOOGLE_PLAY "\xf3\xb0\x8a\xbc" // U+F02BC google-play, tags: Brand / Logo +#define ICON_MD_GOOGLE_PLUS "\xf3\xb0\x8a\xbd" // U+F02BD google-plus, tags: Brand / Logo, Social Media +#define ICON_MD_GOOGLE_PODCAST "\xf3\xb0\xba\xb9" // U+F0EB9 google-podcast +#define ICON_MD_GOOGLE_SPREADSHEET "\xf3\xb0\xa7\xb7" // U+F09F7 google-spreadsheet +#define ICON_MD_GOOGLE_STREET_VIEW "\xf3\xb0\xb2\x88" // U+F0C88 google-street-view, aliases: pegman +#define ICON_MD_GOOGLE_TRANSLATE "\xf3\xb0\x8a\xbf" // U+F02BF google-translate, aliases: g-translate, tags: Brand / Logo +#define ICON_MD_GRADIENT_HORIZONTAL "\xf3\xb1\x9d\x8a" // U+F174A gradient-horizontal, tags: Drawing / Art +#define ICON_MD_GRADIENT_VERTICAL "\xf3\xb0\x9a\xa0" // U+F06A0 gradient-vertical, tags: Drawing / Art +#define ICON_MD_GRAIN "\xf3\xb0\xb5\xbc" // U+F0D7C grain, tags: Photography, Video / Movie +#define ICON_MD_GRAPH "\xf3\xb1\x81\x89" // U+F1049 graph, aliases: dependency, dependencies +#define ICON_MD_GRAPH_OUTLINE "\xf3\xb1\x81\x8a" // U+F104A graph-outline, aliases: dependency, dependencies +#define ICON_MD_GRAPHQL "\xf3\xb0\xa1\xb7" // U+F0877 graphql, tags: Brand / Logo +#define ICON_MD_GRASS "\xf3\xb1\x94\x90" // U+F1510 grass, aliases: lawn, tags: Nature, Agriculture +#define ICON_MD_GRAVE_STONE "\xf3\xb0\xae\xa2" // U+F0BA2 grave-stone, aliases: headstone, tombstone, cemetery, graveyard, tags: Holiday +#define ICON_MD_GREASE_PENCIL "\xf3\xb0\x99\x88" // U+F0648 grease-pencil, tags: Drawing / Art +#define ICON_MD_GREATER_THAN "\xf3\xb0\xa5\xad" // U+F096D greater-than, tags: Math +#define ICON_MD_GREATER_THAN_OR_EQUAL "\xf3\xb0\xa5\xae" // U+F096E greater-than-or-equal, tags: Math +#define ICON_MD_GREENHOUSE \ + "\xf3\xb0\x80\xad" // U+F002D greenhouse, aliases: glasshouse, hothouse, shed, tags: Home Automation, Agriculture, + // Nature +#define ICON_MD_GRID "\xf3\xb0\x8b\x81" // U+F02C1 grid, aliases: grid-on +#define ICON_MD_GRID_LARGE "\xf3\xb0\x9d\x98" // U+F0758 grid-large +#define ICON_MD_GRID_OFF "\xf3\xb0\x8b\x82" // U+F02C2 grid-off +#define ICON_MD_GRILL "\xf3\xb0\xb9\x85" // U+F0E45 grill, aliases: bbq, barbecue, charcoal, tags: Food / Drink +#define ICON_MD_GRILL_OUTLINE \ + "\xf3\xb1\x86\x8a" // U+F118A grill-outline, aliases: barbecue-outline, bbq-outline, charcoal-outline, tags: Food / + // Drink +#define ICON_MD_GROUP "\xf3\xb0\x8b\x83" // U+F02C3 group +#define ICON_MD_GUITAR_ACOUSTIC "\xf3\xb0\x9d\xb1" // U+F0771 guitar-acoustic, tags: Music +#define ICON_MD_GUITAR_ELECTRIC "\xf3\xb0\x8b\x84" // U+F02C4 guitar-electric, tags: Music +#define ICON_MD_GUITAR_PICK "\xf3\xb0\x8b\x85" // U+F02C5 guitar-pick, tags: Music +#define ICON_MD_GUITAR_PICK_OUTLINE "\xf3\xb0\x8b\x86" // U+F02C6 guitar-pick-outline, tags: Music +#define ICON_MD_GUY_FAWKES_MASK "\xf3\xb0\xa0\xa5" // U+F0825 guy-fawkes-mask +#define ICON_MD_GYMNASTICS "\xf3\xb1\xa9\x81" // U+F1A41 gymnastics, tags: Sport +#define ICON_MD_HAIL "\xf3\xb0\xab\x81" // U+F0AC1 hail, aliases: hail-taxi, hail-cab, tags: Transportation + Road, Navigation +#define ICON_MD_HAIR_DRYER "\xf3\xb1\x83\xaf" // U+F10EF hair-dryer, tags: Health / Beauty +#define ICON_MD_HAIR_DRYER_OUTLINE "\xf3\xb1\x83\xb0" // U+F10F0 hair-dryer-outline, tags: Health / Beauty +#define ICON_MD_HALLOWEEN \ + "\xf3\xb0\xae\xa3" // U+F0BA3 halloween, aliases: pumpkin-face, pumpkin-carved, jack-o-lantern, emoji-halloween, + // emoticon-halloween, tags: Holiday +#define ICON_MD_HAMBURGER "\xf3\xb0\x9a\x85" // U+F0685 hamburger, aliases: burger, fast-food, food, tags: Food / Drink +#define ICON_MD_HAMBURGER_CHECK "\xf3\xb1\x9d\xb6" // U+F1776 hamburger-check, aliases: burger-check, tags: Food / Drink +#define ICON_MD_HAMBURGER_MINUS "\xf3\xb1\x9d\xb7" // U+F1777 hamburger-minus, aliases: burger-minus, tags: Food / Drink +#define ICON_MD_HAMBURGER_OFF "\xf3\xb1\x9d\xb8" // U+F1778 hamburger-off, aliases: burger-off, fast-food-off, food-off, tags: Food / Drink +#define ICON_MD_HAMBURGER_PLUS "\xf3\xb1\x9d\xb9" // U+F1779 hamburger-plus, aliases: burger-plus, burger-add, tags: Food / Drink +#define ICON_MD_HAMBURGER_REMOVE "\xf3\xb1\x9d\xba" // U+F177A hamburger-remove, aliases: burger-remove, tags: Food / Drink +#define ICON_MD_HAMMER "\xf3\xb0\xa3\xaa" // U+F08EA hammer, tags: Hardware / Tools +#define ICON_MD_HAMMER_SCREWDRIVER "\xf3\xb1\x8c\xa2" // U+F1322 hammer-screwdriver, aliases: tools, tags: Hardware / Tools +#define ICON_MD_HAMMER_SICKLE "\xf3\xb1\xa2\x87" // U+F1887 hammer-sickle, aliases: communism +#define ICON_MD_HAMMER_WRENCH "\xf3\xb1\x8c\xa3" // U+F1323 hammer-wrench, aliases: tools, tags: Hardware / Tools +#define ICON_MD_HAND_BACK_LEFT "\xf3\xb0\xb9\x86" // U+F0E46 hand-back-left +#define ICON_MD_HAND_BACK_LEFT_OFF "\xf3\xb1\xa0\xb0" // U+F1830 hand-back-left-off +#define ICON_MD_HAND_BACK_LEFT_OFF_OUTLINE "\xf3\xb1\xa0\xb2" // U+F1832 hand-back-left-off-outline +#define ICON_MD_HAND_BACK_LEFT_OUTLINE "\xf3\xb1\xa0\xac" // U+F182C hand-back-left-outline +#define ICON_MD_HAND_BACK_RIGHT "\xf3\xb0\xb9\x87" // U+F0E47 hand-back-right +#define ICON_MD_HAND_BACK_RIGHT_OFF "\xf3\xb1\xa0\xb1" // U+F1831 hand-back-right-off +#define ICON_MD_HAND_BACK_RIGHT_OFF_OUTLINE "\xf3\xb1\xa0\xb3" // U+F1833 hand-back-right-off-outline +#define ICON_MD_HAND_BACK_RIGHT_OUTLINE "\xf3\xb1\xa0\xad" // U+F182D hand-back-right-outline +#define ICON_MD_HAND_CLAP "\xf3\xb1\xa5\x8b" // U+F194B hand-clap, aliases: applause +#define ICON_MD_HAND_CLAP_OFF "\xf3\xb1\xa9\x82" // U+F1A42 hand-clap-off, aliases: applause-off +#define ICON_MD_HAND_COIN "\xf3\xb1\xa2\x8f" // U+F188F hand-coin, aliases: charity, donation, tags: Banking +#define ICON_MD_HAND_COIN_OUTLINE "\xf3\xb1\xa2\x90" // U+F1890 hand-coin-outline, aliases: charity-outline, donation-outline, tags: Banking +#define ICON_MD_HAND_CYCLE "\xf3\xb1\xae\x9c" // U+F1B9C hand-cycle, aliases: hand-bike, tags: Sport +#define ICON_MD_HAND_EXTENDED "\xf3\xb1\xa2\xb6" // U+F18B6 hand-extended, aliases: hand-open, hand-palm +#define ICON_MD_HAND_EXTENDED_OUTLINE "\xf3\xb1\xa2\xb7" // U+F18B7 hand-extended-outline, aliases: hand-open-outline, hand-palm-outline +#define ICON_MD_HAND_FRONT_LEFT "\xf3\xb1\xa0\xab" // U+F182B hand-front-left +#define ICON_MD_HAND_FRONT_LEFT_OUTLINE "\xf3\xb1\xa0\xae" // U+F182E hand-front-left-outline +#define ICON_MD_HAND_FRONT_RIGHT "\xf3\xb0\xa9\x8f" // U+F0A4F hand-front-right +#define ICON_MD_HAND_FRONT_RIGHT_OUTLINE "\xf3\xb1\xa0\xaf" // U+F182F hand-front-right-outline +#define ICON_MD_HAND_HEART "\xf3\xb1\x83\xb1" // U+F10F1 hand-heart, aliases: volunteer, love, hope +#define ICON_MD_HAND_HEART_OUTLINE "\xf3\xb1\x95\xbe" // U+F157E hand-heart-outline +#define ICON_MD_HAND_OKAY "\xf3\xb0\xa9\x90" // U+F0A50 hand-okay +#define ICON_MD_HAND_PEACE "\xf3\xb0\xa9\x91" // U+F0A51 hand-peace +#define ICON_MD_HAND_PEACE_VARIANT "\xf3\xb0\xa9\x92" // U+F0A52 hand-peace-variant +#define ICON_MD_HAND_POINTING_DOWN "\xf3\xb0\xa9\x93" // U+F0A53 hand-pointing-down +#define ICON_MD_HAND_POINTING_LEFT "\xf3\xb0\xa9\x94" // U+F0A54 hand-pointing-left +#define ICON_MD_HAND_POINTING_RIGHT "\xf3\xb0\x8b\x87" // U+F02C7 hand-pointing-right +#define ICON_MD_HAND_POINTING_UP "\xf3\xb0\xa9\x95" // U+F0A55 hand-pointing-up +#define ICON_MD_HAND_SAW "\xf3\xb0\xb9\x88" // U+F0E48 hand-saw, tags: Hardware / Tools +#define ICON_MD_HAND_WASH "\xf3\xb1\x95\xbf" // U+F157F hand-wash, tags: Medical / Hospital +#define ICON_MD_HAND_WASH_OUTLINE "\xf3\xb1\x96\x80" // U+F1580 hand-wash-outline, tags: Medical / Hospital +#define ICON_MD_HAND_WATER "\xf3\xb1\x8e\x9f" // U+F139F hand-water, aliases: hand-wash, tags: Medical / Hospital +#define ICON_MD_HAND_WAVE "\xf3\xb1\xa0\xa1" // U+F1821 hand-wave, aliases: greeting, farewell +#define ICON_MD_HAND_WAVE_OUTLINE "\xf3\xb1\xa0\xa2" // U+F1822 hand-wave-outline, aliases: greeting-outline, farewell-outline +#define ICON_MD_HANDBALL "\xf3\xb0\xbd\x93" // U+F0F53 handball, aliases: volleyball, human-handball, tags: Sport, People / Family +#define ICON_MD_HANDCUFFS "\xf3\xb1\x84\xbe" // U+F113E handcuffs +#define ICON_MD_HANDS_PRAY "\xf3\xb0\x95\xb9" // U+F0579 hands-pray +#define ICON_MD_HANDSHAKE "\xf3\xb1\x88\x98" // U+F1218 handshake, aliases: business, deal, help, partnership +#define ICON_MD_HANDSHAKE_OUTLINE \ + "\xf3\xb1\x96\xa1" // U+F15A1 handshake-outline, aliases: business-outline, deal-outline, help-outline, + // partnership-outline +#define ICON_MD_HANGER "\xf3\xb0\x8b\x88" // U+F02C8 hanger, aliases: coat-hanger, clothes-hanger, closet, tags: Clothing, Home Automation +#define ICON_MD_HARD_HAT "\xf3\xb0\xa5\xaf" // U+F096F hard-hat, aliases: helmet, tags: Hardware / Tools, Clothing +#define ICON_MD_HARDDISK "\xf3\xb0\x8b\x8a" // U+F02CA harddisk, aliases: hdd +#define ICON_MD_HARDDISK_PLUS "\xf3\xb1\x81\x8b" // U+F104B harddisk-plus, aliases: hdd-plus +#define ICON_MD_HARDDISK_REMOVE "\xf3\xb1\x81\x8c" // U+F104C harddisk-remove, aliases: hdd-remove +#define ICON_MD_HAT_FEDORA "\xf3\xb0\xae\xa4" // U+F0BA4 hat-fedora, tags: Clothing +#define ICON_MD_HAZARD_LIGHTS "\xf3\xb0\xb2\x89" // U+F0C89 hazard-lights, aliases: warning-lights, tags: Automotive +#define ICON_MD_HDMI_PORT "\xf3\xb1\xae\xb8" // U+F1BB8 hdmi-port, tags: Video / Movie, Home Automation +#define ICON_MD_HDR "\xf3\xb0\xb5\xbd" // U+F0D7D hdr +#define ICON_MD_HDR_OFF "\xf3\xb0\xb5\xbe" // U+F0D7E hdr-off +#define ICON_MD_HEAD "\xf3\xb1\x8d\x9e" // U+F135E head +#define ICON_MD_HEAD_ALERT "\xf3\xb1\x8c\xb8" // U+F1338 head-alert, tags: Alert / Error +#define ICON_MD_HEAD_ALERT_OUTLINE "\xf3\xb1\x8c\xb9" // U+F1339 head-alert-outline, tags: Alert / Error +#define ICON_MD_HEAD_CHECK "\xf3\xb1\x8c\xba" // U+F133A head-check +#define ICON_MD_HEAD_CHECK_OUTLINE "\xf3\xb1\x8c\xbb" // U+F133B head-check-outline +#define ICON_MD_HEAD_COG "\xf3\xb1\x8c\xbc" // U+F133C head-cog, aliases: psychology, tags: Settings +#define ICON_MD_HEAD_COG_OUTLINE "\xf3\xb1\x8c\xbd" // U+F133D head-cog-outline, aliases: psychology-outline, tags: Settings +#define ICON_MD_HEAD_DOTS_HORIZONTAL "\xf3\xb1\x8c\xbe" // U+F133E head-dots-horizontal, aliases: head-thinking +#define ICON_MD_HEAD_DOTS_HORIZONTAL_OUTLINE "\xf3\xb1\x8c\xbf" // U+F133F head-dots-horizontal-outline, aliases: head-thinking-outline +#define ICON_MD_HEAD_FLASH "\xf3\xb1\x8d\x80" // U+F1340 head-flash, aliases: head-ache +#define ICON_MD_HEAD_FLASH_OUTLINE "\xf3\xb1\x8d\x81" // U+F1341 head-flash-outline, aliases: head-ache-outline +#define ICON_MD_HEAD_HEART "\xf3\xb1\x8d\x82" // U+F1342 head-heart, aliases: head-love +#define ICON_MD_HEAD_HEART_OUTLINE "\xf3\xb1\x8d\x83" // U+F1343 head-heart-outline, aliases: head-love-outline +#define ICON_MD_HEAD_LIGHTBULB "\xf3\xb1\x8d\x84" // U+F1344 head-lightbulb, aliases: head-idea, head-bulb +#define ICON_MD_HEAD_LIGHTBULB_OUTLINE "\xf3\xb1\x8d\x85" // U+F1345 head-lightbulb-outline, aliases: head-idea-outline, head-bulb-outline +#define ICON_MD_HEAD_MINUS "\xf3\xb1\x8d\x86" // U+F1346 head-minus +#define ICON_MD_HEAD_MINUS_OUTLINE "\xf3\xb1\x8d\x87" // U+F1347 head-minus-outline +#define ICON_MD_HEAD_OUTLINE "\xf3\xb1\x8d\x9f" // U+F135F head-outline +#define ICON_MD_HEAD_PLUS "\xf3\xb1\x8d\x88" // U+F1348 head-plus +#define ICON_MD_HEAD_PLUS_OUTLINE "\xf3\xb1\x8d\x89" // U+F1349 head-plus-outline +#define ICON_MD_HEAD_QUESTION "\xf3\xb1\x8d\x8a" // U+F134A head-question +#define ICON_MD_HEAD_QUESTION_OUTLINE "\xf3\xb1\x8d\x8b" // U+F134B head-question-outline +#define ICON_MD_HEAD_REMOVE "\xf3\xb1\x8d\x8c" // U+F134C head-remove +#define ICON_MD_HEAD_REMOVE_OUTLINE "\xf3\xb1\x8d\x8d" // U+F134D head-remove-outline +#define ICON_MD_HEAD_SNOWFLAKE "\xf3\xb1\x8d\x8e" // U+F134E head-snowflake, aliases: head-freeze, brain-freeze +#define ICON_MD_HEAD_SNOWFLAKE_OUTLINE "\xf3\xb1\x8d\x8f" // U+F134F head-snowflake-outline, aliases: head-freeze-outline, brain-freeze-outline +#define ICON_MD_HEAD_SYNC "\xf3\xb1\x8d\x90" // U+F1350 head-sync, aliases: head-reload, head-refresh +#define ICON_MD_HEAD_SYNC_OUTLINE "\xf3\xb1\x8d\x91" // U+F1351 head-sync-outline, aliases: head-reload-outline, head-refresh-outline +#define ICON_MD_HEADPHONES "\xf3\xb0\x8b\x8b" // U+F02CB headphones, aliases: headset, tags: Audio, Device / Tech, Music +#define ICON_MD_HEADPHONES_BLUETOOTH "\xf3\xb0\xa5\xb0" // U+F0970 headphones-bluetooth +#define ICON_MD_HEADPHONES_BOX "\xf3\xb0\x8b\x8c" // U+F02CC headphones-box, tags: Audio, Music +#define ICON_MD_HEADPHONES_OFF "\xf3\xb0\x9f\x8e" // U+F07CE headphones-off, tags: Audio, Device / Tech, Music +#define ICON_MD_HEADPHONES_SETTINGS "\xf3\xb0\x8b\x8d" // U+F02CD headphones-settings, tags: Audio, Settings +#define ICON_MD_HEADSET "\xf3\xb0\x8b\x8e" // U+F02CE headset, aliases: headset-mic, tags: Audio, Device / Tech +#define ICON_MD_HEADSET_DOCK "\xf3\xb0\x8b\x8f" // U+F02CF headset-dock, tags: Audio +#define ICON_MD_HEADSET_OFF "\xf3\xb0\x8b\x90" // U+F02D0 headset-off, tags: Audio, Device / Tech +#define ICON_MD_HEART "\xf3\xb0\x8b\x91" // U+F02D1 heart, aliases: favorite, favourite, tags: Shape, Gaming / RPG, Medical / Hospital +#define ICON_MD_HEART_BOX "\xf3\xb0\x8b\x92" // U+F02D2 heart-box +#define ICON_MD_HEART_BOX_OUTLINE "\xf3\xb0\x8b\x93" // U+F02D3 heart-box-outline +#define ICON_MD_HEART_BROKEN "\xf3\xb0\x8b\x94" // U+F02D4 heart-broken +#define ICON_MD_HEART_BROKEN_OUTLINE "\xf3\xb0\xb4\x94" // U+F0D14 heart-broken-outline +#define ICON_MD_HEART_CIRCLE "\xf3\xb0\xa5\xb1" // U+F0971 heart-circle +#define ICON_MD_HEART_CIRCLE_OUTLINE "\xf3\xb0\xa5\xb2" // U+F0972 heart-circle-outline +#define ICON_MD_HEART_COG "\xf3\xb1\x99\xa3" // U+F1663 heart-cog +#define ICON_MD_HEART_COG_OUTLINE "\xf3\xb1\x99\xa4" // U+F1664 heart-cog-outline +#define ICON_MD_HEART_FLASH "\xf3\xb0\xbb\xb9" // U+F0EF9 heart-flash, aliases: aed, defibrillator, tags: Medical / Hospital +#define ICON_MD_HEART_HALF "\xf3\xb0\x9b\x9f" // U+F06DF heart-half, tags: Gaming / RPG +#define ICON_MD_HEART_HALF_FULL "\xf3\xb0\x9b\x9e" // U+F06DE heart-half-full, tags: Gaming / RPG +#define ICON_MD_HEART_HALF_OUTLINE "\xf3\xb0\x9b\xa0" // U+F06E0 heart-half-outline, tags: Gaming / RPG +#define ICON_MD_HEART_MINUS "\xf3\xb1\x90\xaf" // U+F142F heart-minus +#define ICON_MD_HEART_MINUS_OUTLINE "\xf3\xb1\x90\xb2" // U+F1432 heart-minus-outline +#define ICON_MD_HEART_MULTIPLE "\xf3\xb0\xa9\x96" // U+F0A56 heart-multiple, aliases: hearts +#define ICON_MD_HEART_MULTIPLE_OUTLINE "\xf3\xb0\xa9\x97" // U+F0A57 heart-multiple-outline, aliases: hearts-outline +#define ICON_MD_HEART_OFF "\xf3\xb0\x9d\x99" // U+F0759 heart-off, tags: Medical / Hospital +#define ICON_MD_HEART_OFF_OUTLINE "\xf3\xb1\x90\xb4" // U+F1434 heart-off-outline, tags: Medical / Hospital +#define ICON_MD_HEART_OUTLINE \ + "\xf3\xb0\x8b\x95" // U+F02D5 heart-outline, aliases: favorite-border, favourite-border, favorite-outline, + // favourite-outline, tags: Shape, Gaming / RPG, Medical / Hospital +#define ICON_MD_HEART_PLUS "\xf3\xb1\x90\xae" // U+F142E heart-plus +#define ICON_MD_HEART_PLUS_OUTLINE "\xf3\xb1\x90\xb1" // U+F1431 heart-plus-outline +#define ICON_MD_HEART_PULSE "\xf3\xb0\x97\xb6" // U+F05F6 heart-pulse, aliases: heart-vitals, tags: Medical / Hospital +#define ICON_MD_HEART_REMOVE "\xf3\xb1\x90\xb0" // U+F1430 heart-remove +#define ICON_MD_HEART_REMOVE_OUTLINE "\xf3\xb1\x90\xb3" // U+F1433 heart-remove-outline +#define ICON_MD_HEART_SETTINGS "\xf3\xb1\x99\xa5" // U+F1665 heart-settings, tags: Settings +#define ICON_MD_HEART_SETTINGS_OUTLINE "\xf3\xb1\x99\xa6" // U+F1666 heart-settings-outline, tags: Settings +#define ICON_MD_HEAT_PUMP "\xf3\xb1\xa9\x83" // U+F1A43 heat-pump, tags: Home Automation +#define ICON_MD_HEAT_PUMP_OUTLINE "\xf3\xb1\xa9\x84" // U+F1A44 heat-pump-outline, tags: Home Automation +#define ICON_MD_HEAT_WAVE "\xf3\xb1\xa9\x85" // U+F1A45 heat-wave, aliases: keep-warm, warmth, tags: Home Automation, Weather +#define ICON_MD_HEATING_COIL "\xf3\xb1\xaa\xaf" // U+F1AAF heating-coil, aliases: radiator-coil, heated-floor, tags: Home Automation +#define ICON_MD_HELICOPTER "\xf3\xb0\xab\x82" // U+F0AC2 helicopter, tags: Transportation + Flying +#define ICON_MD_HELP "\xf3\xb0\x8b\x96" // U+F02D6 help, aliases: question-mark +#define ICON_MD_HELP_BOX "\xf3\xb0\x9e\x8b" // U+F078B help-box, aliases: question-mark-box +#define ICON_MD_HELP_CIRCLE "\xf3\xb0\x8b\x97" // U+F02D7 help-circle, aliases: question-mark-circle +#define ICON_MD_HELP_CIRCLE_OUTLINE "\xf3\xb0\x98\xa5" // U+F0625 help-circle-outline, aliases: help-outline, question-mark-circle-outline +#define ICON_MD_HELP_NETWORK "\xf3\xb0\x9b\xb5" // U+F06F5 help-network, aliases: question-network +#define ICON_MD_HELP_NETWORK_OUTLINE "\xf3\xb0\xb2\x8a" // U+F0C8A help-network-outline, aliases: question-network-outline +#define ICON_MD_HELP_RHOMBUS "\xf3\xb0\xae\xa5" // U+F0BA5 help-rhombus, aliases: question-mark-rhombus +#define ICON_MD_HELP_RHOMBUS_OUTLINE "\xf3\xb0\xae\xa6" // U+F0BA6 help-rhombus-outline, aliases: question-mark-rhombus-outline +#define ICON_MD_HEXADECIMAL "\xf3\xb1\x8a\xa7" // U+F12A7 hexadecimal, tags: Developer / Languages +#define ICON_MD_HEXAGON "\xf3\xb0\x8b\x98" // U+F02D8 hexagon, tags: Shape +#define ICON_MD_HEXAGON_MULTIPLE "\xf3\xb0\x9b\xa1" // U+F06E1 hexagon-multiple, aliases: hexagons, tags: Shape +#define ICON_MD_HEXAGON_MULTIPLE_OUTLINE "\xf3\xb1\x83\xb2" // U+F10F2 hexagon-multiple-outline, tags: Nature +#define ICON_MD_HEXAGON_OUTLINE "\xf3\xb0\x8b\x99" // U+F02D9 hexagon-outline, tags: Shape +#define ICON_MD_HEXAGON_SLICE_1 "\xf3\xb0\xab\x83" // U+F0AC3 hexagon-slice-1 +#define ICON_MD_HEXAGON_SLICE_2 "\xf3\xb0\xab\x84" // U+F0AC4 hexagon-slice-2 +#define ICON_MD_HEXAGON_SLICE_3 "\xf3\xb0\xab\x85" // U+F0AC5 hexagon-slice-3 +#define ICON_MD_HEXAGON_SLICE_4 "\xf3\xb0\xab\x86" // U+F0AC6 hexagon-slice-4 +#define ICON_MD_HEXAGON_SLICE_5 "\xf3\xb0\xab\x87" // U+F0AC7 hexagon-slice-5 +#define ICON_MD_HEXAGON_SLICE_6 "\xf3\xb0\xab\x88" // U+F0AC8 hexagon-slice-6 +#define ICON_MD_HEXAGRAM "\xf3\xb0\xab\x89" // U+F0AC9 hexagram, aliases: star, christmas-star, tags: Shape, Holiday +#define ICON_MD_HEXAGRAM_OUTLINE "\xf3\xb0\xab\x8a" // U+F0ACA hexagram-outline, aliases: star-outline, christmas-star-outline, tags: Shape, Holiday +#define ICON_MD_HIGH_DEFINITION "\xf3\xb0\x9f\x8f" // U+F07CF high-definition, aliases: hd, tags: Video / Movie +#define ICON_MD_HIGH_DEFINITION_BOX "\xf3\xb0\xa1\xb8" // U+F0878 high-definition-box, aliases: hd-box, hd, tags: Video / Movie +#define ICON_MD_HIGHWAY "\xf3\xb0\x97\xb7" // U+F05F7 highway, aliases: autobahn, motorway, tags: Transportation + Road +#define ICON_MD_HIKING "\xf3\xb0\xb5\xbf" // U+F0D7F hiking, aliases: human-hiking, tags: Sport, People / Family +#define ICON_MD_HISTORY \ + "\xf3\xb0\x8b\x9a" // U+F02DA history, aliases: recent, latest, clock-arrow, counterclockwise, restore-clock, tags: + // Date / Time +#define ICON_MD_HOCKEY_PUCK "\xf3\xb0\xa1\xb9" // U+F0879 hockey-puck, tags: Sport +#define ICON_MD_HOCKEY_STICKS "\xf3\xb0\xa1\xba" // U+F087A hockey-sticks, tags: Sport +#define ICON_MD_HOLOLENS "\xf3\xb0\x8b\x9b" // U+F02DB hololens, tags: Gaming / RPG +#define ICON_MD_HOME "\xf3\xb0\x8b\x9c" // U+F02DC home, aliases: house, tags: Home Automation, Places +#define ICON_MD_HOME_ACCOUNT \ + "\xf3\xb0\xa0\xa6" // U+F0826 home-account, aliases: home-user, house-account, house-user, tags: Account / User, + // Home Automation +#define ICON_MD_HOME_ALERT \ + "\xf3\xb0\xa1\xbb" // U+F087B home-alert, aliases: home-warning, house-alert, house-warning, tags: Home Automation, + // Alert / Error +#define ICON_MD_HOME_ALERT_OUTLINE \ + "\xf3\xb1\x97\x90" // U+F15D0 home-alert-outline, aliases: house-alert-outline, home-warning-outline, + // house-warning-outline, tags: Home Automation, Alert / Error +#define ICON_MD_HOME_ANALYTICS \ + "\xf3\xb0\xba\xba" // U+F0EBA home-analytics, aliases: chart-home, home-chart, home-report, house-analytics, + // house-chart, tags: Home Automation +#define ICON_MD_HOME_ASSISTANT "\xf3\xb0\x9f\x90" // U+F07D0 home-assistant, tags: Brand / Logo, Home Automation +#define ICON_MD_HOME_AUTOMATION \ + "\xf3\xb0\x9f\x91" // U+F07D1 home-automation, aliases: house-automation, home-wireless, house-wireless, tags: Home + // Automation +#define ICON_MD_HOME_BATTERY \ + "\xf3\xb1\xa4\x81" // U+F1901 home-battery, aliases: home-energy, home-power, home-electricity, house-energy, + // house-battery, house-power, tags: Home Automation, Battery +#define ICON_MD_HOME_BATTERY_OUTLINE \ + "\xf3\xb1\xa4\x82" // U+F1902 home-battery-outline, aliases: home-energy-outline, home-power-outline, + // home-electricity-outline, house-battery-outline, house-power-outline, house-energy-outline, + // tags: Home Automation, Battery +#define ICON_MD_HOME_CIRCLE "\xf3\xb0\x9f\x92" // U+F07D2 home-circle, aliases: house-circle, tags: Home Automation +#define ICON_MD_HOME_CIRCLE_OUTLINE "\xf3\xb1\x81\x8d" // U+F104D home-circle-outline, aliases: house-circle-outline, tags: Home Automation +#define ICON_MD_HOME_CITY "\xf3\xb0\xb4\x95" // U+F0D15 home-city, aliases: house-city, tags: Home Automation +#define ICON_MD_HOME_CITY_OUTLINE "\xf3\xb0\xb4\x96" // U+F0D16 home-city-outline, aliases: house-city-outline, tags: Home Automation +#define ICON_MD_HOME_CLOCK \ + "\xf3\xb1\xa8\x92" // U+F1A12 home-clock, aliases: home-time, home-schedule, house-time, house-clock, + // house-schedule, tags: Home Automation, Date / Time +#define ICON_MD_HOME_CLOCK_OUTLINE \ + "\xf3\xb1\xa8\x93" // U+F1A13 home-clock-outline, aliases: home-time-outline, home-schedule-outline, + // house-clock-outline, house-time-outline, house-schedule-outline, tags: Home Automation, Date / + // Time +#define ICON_MD_HOME_EDIT "\xf3\xb1\x85\x99" // U+F1159 home-edit, aliases: house-edit, tags: Home Automation, Edit / Modify +#define ICON_MD_HOME_EDIT_OUTLINE "\xf3\xb1\x85\x9a" // U+F115A home-edit-outline, aliases: house-edit-outline, tags: Home Automation, Edit / Modify +#define ICON_MD_HOME_EXPORT_OUTLINE "\xf3\xb0\xbe\x9b" // U+F0F9B home-export-outline, aliases: house-export-outline, tags: Home Automation +#define ICON_MD_HOME_FLOOD "\xf3\xb0\xbb\xba" // U+F0EFA home-flood, aliases: house-flood, tags: Weather, Home Automation, Nature +#define ICON_MD_HOME_FLOOR_0 \ + "\xf3\xb0\xb7\x92" // U+F0DD2 home-floor-0, aliases: house-floor-0, home-floor-zero, house-floor-zero, tags: Home + // Automation +#define ICON_MD_HOME_FLOOR_1 \ + "\xf3\xb0\xb6\x80" // U+F0D80 home-floor-1, aliases: house-floor-1, home-floor-one, house-floor-one, + // home-floor-first, house-floor-first, tags: Home Automation +#define ICON_MD_HOME_FLOOR_2 \ + "\xf3\xb0\xb6\x81" // U+F0D81 home-floor-2, aliases: house-floor-2, home-floor-two, house-floor-two, + // home-floor-second, house-floor-second, tags: Home Automation +#define ICON_MD_HOME_FLOOR_3 \ + "\xf3\xb0\xb6\x82" // U+F0D82 home-floor-3, aliases: house-floor-3, home-floor-three, house-floor-three, + // home-floor-third, house-floor-third, tags: Home Automation +#define ICON_MD_HOME_FLOOR_A \ + "\xf3\xb0\xb6\x83" // U+F0D83 home-floor-a, aliases: home-floor-attic, house-floor-a, house-floor-attic, tags: Home + // Automation +#define ICON_MD_HOME_FLOOR_B \ + "\xf3\xb0\xb6\x84" // U+F0D84 home-floor-b, aliases: home-floor-basement, house-floor-b, house-floor-basement, tags: + // Home Automation +#define ICON_MD_HOME_FLOOR_G \ + "\xf3\xb0\xb6\x85" // U+F0D85 home-floor-g, aliases: home-floor-ground, house-floor-g, house-floor-ground, tags: + // Home Automation +#define ICON_MD_HOME_FLOOR_L \ + "\xf3\xb0\xb6\x86" // U+F0D86 home-floor-l, aliases: home-floor-loft, home-floor-lower, house-floor-l, + // house-floor-loft, house-floor-lower, tags: Home Automation +#define ICON_MD_HOME_FLOOR_NEGATIVE_1 \ + "\xf3\xb0\xb7\x93" // U+F0DD3 home-floor-negative-1, aliases: house-floor-negative-1, home-floor-negative-one, + // home-floor-minus-1, home-floor-minus-one, house-floor-negative-one, house-floor-minus-1, + // house-floor-minus-one, tags: Home Automation +#define ICON_MD_HOME_GROUP \ + "\xf3\xb0\xb7\x94" // U+F0DD4 home-group, aliases: house-group, neighbourhood, estate, housing-estate, tags: Home + // Automation +#define ICON_MD_HOME_GROUP_MINUS "\xf3\xb1\xa7\x81" // U+F19C1 home-group-minus, aliases: house-group-minus, tags: Home Automation +#define ICON_MD_HOME_GROUP_PLUS \ + "\xf3\xb1\xa7\x80" // U+F19C0 home-group-plus, aliases: house-group-plus, home-group-add, house-group-add, tags: + // Home Automation +#define ICON_MD_HOME_GROUP_REMOVE "\xf3\xb1\xa7\x82" // U+F19C2 home-group-remove, aliases: house-group-remove, tags: Home Automation +#define ICON_MD_HOME_HEART "\xf3\xb0\xa0\xa7" // U+F0827 home-heart, aliases: family, house-heart, tags: Home Automation, People / Family +#define ICON_MD_HOME_IMPORT_OUTLINE "\xf3\xb0\xbe\x9c" // U+F0F9C home-import-outline, aliases: house-import-outline, tags: Home Automation +#define ICON_MD_HOME_LIGHTBULB "\xf3\xb1\x89\x91" // U+F1251 home-lightbulb, aliases: home-bulb, house-lightbulb, house-bulb, tags: Home Automation +#define ICON_MD_HOME_LIGHTBULB_OUTLINE \ + "\xf3\xb1\x89\x92" // U+F1252 home-lightbulb-outline, aliases: home-bulb-outline, house-lightbulb-outline, + // house-bulb-outline, tags: Home Automation +#define ICON_MD_HOME_LIGHTNING_BOLT \ + "\xf3\xb1\xa4\x83" // U+F1903 home-lightning-bolt, aliases: home-energy, home-power, home-electricity, home-flash, + // house-lightning-bolt, house-flash, tags: Home Automation +#define ICON_MD_HOME_LIGHTNING_BOLT_OUTLINE \ + "\xf3\xb1\xa4\x84" // U+F1904 home-lightning-bolt-outline, aliases: home-energy, home-power, home-electricity, + // home-flash, house-lightning-bolt-outline, house-flash-outline, tags: Home Automation +#define ICON_MD_HOME_LOCK "\xf3\xb0\xa3\xab" // U+F08EB home-lock, aliases: house-lock, home-secure, house-secure, tags: Home Automation, Lock +#define ICON_MD_HOME_LOCK_OPEN "\xf3\xb0\xa3\xac" // U+F08EC home-lock-open, aliases: house-lock-open, tags: Home Automation, Lock +#define ICON_MD_HOME_MAP_MARKER \ + "\xf3\xb0\x97\xb8" // U+F05F8 home-map-marker, aliases: house-map-marker, home-location, tags: Home Automation, + // Navigation +#define ICON_MD_HOME_MINUS "\xf3\xb0\xa5\xb4" // U+F0974 home-minus, aliases: house-minus, tags: Home Automation +#define ICON_MD_HOME_MINUS_OUTLINE "\xf3\xb1\x8f\x95" // U+F13D5 home-minus-outline, aliases: house-minus-outline, tags: Home Automation +#define ICON_MD_HOME_MODERN "\xf3\xb0\x8b\x9d" // U+F02DD home-modern, aliases: house-modern, tags: Home Automation +#define ICON_MD_HOME_OFF "\xf3\xb1\xa9\x86" // U+F1A46 home-off, aliases: house-off, tags: Home Automation +#define ICON_MD_HOME_OFF_OUTLINE "\xf3\xb1\xa9\x87" // U+F1A47 home-off-outline, aliases: house-off-outline, tags: Home Automation +#define ICON_MD_HOME_OUTLINE "\xf3\xb0\x9a\xa1" // U+F06A1 home-outline, aliases: house-outline, tags: Home Automation, Places +#define ICON_MD_HOME_PLUS "\xf3\xb0\xa5\xb5" // U+F0975 home-plus, aliases: home-add, house-plus, house-add, tags: Home Automation +#define ICON_MD_HOME_PLUS_OUTLINE \ + "\xf3\xb1\x8f\x96" // U+F13D6 home-plus-outline, aliases: house-plus-outline, house-add-outline, tags: Home + // Automation +#define ICON_MD_HOME_REMOVE "\xf3\xb1\x89\x87" // U+F1247 home-remove, aliases: house-remove, tags: Home Automation +#define ICON_MD_HOME_REMOVE_OUTLINE "\xf3\xb1\x8f\x97" // U+F13D7 home-remove-outline, aliases: house-remove-outline, tags: Home Automation +#define ICON_MD_HOME_ROOF \ + "\xf3\xb1\x84\xab" // U+F112B home-roof, aliases: home-chimney, home-attic, house-roof, house-attic, house-chimney, + // tags: Home Automation +#define ICON_MD_HOME_SEARCH "\xf3\xb1\x8e\xb0" // U+F13B0 home-search, aliases: house-search, home-find, house-find, tags: Home Automation +#define ICON_MD_HOME_SEARCH_OUTLINE \ + "\xf3\xb1\x8e\xb1" // U+F13B1 home-search-outline, aliases: house-search-outline, home-find-outline, + // house-find-outline, tags: Home Automation +#define ICON_MD_HOME_SILO "\xf3\xb1\xae\xa0" // U+F1BA0 home-silo, aliases: farm-house, farm-home, tags: Agriculture +#define ICON_MD_HOME_SILO_OUTLINE "\xf3\xb1\xae\xa1" // U+F1BA1 home-silo-outline, aliases: farm-house-outline, farm-home-outline, tags: Agriculture +#define ICON_MD_HOME_SWITCH "\xf3\xb1\x9e\x94" // U+F1794 home-switch, aliases: home-swap, house-switch, house-swap, tags: Home Automation +#define ICON_MD_HOME_SWITCH_OUTLINE \ + "\xf3\xb1\x9e\x95" // U+F1795 home-switch-outline, aliases: home-swap-outline, house-swap-outline, + // house-switch-outline, tags: Home Automation +#define ICON_MD_HOME_THERMOMETER \ + "\xf3\xb0\xbd\x94" // U+F0F54 home-thermometer, aliases: home-climate, home-temperature, house-thermometer, + // house-climate, house-temperature, tags: Home Automation +#define ICON_MD_HOME_THERMOMETER_OUTLINE \ + "\xf3\xb0\xbd\x95" // U+F0F55 home-thermometer-outline, aliases: home-climate-outline, home-temperature-outline, + // house-thermometer-outline, house-climate-outline, house-temperature-outline, tags: Home + // Automation +#define ICON_MD_HOME_VARIANT "\xf3\xb0\x8b\x9e" // U+F02DE home-variant, aliases: house-variant, tags: Home Automation +#define ICON_MD_HOME_VARIANT_OUTLINE "\xf3\xb0\xae\xa7" // U+F0BA7 home-variant-outline, aliases: house-variant-outline, tags: Home Automation +#define ICON_MD_HOOK "\xf3\xb0\x9b\xa2" // U+F06E2 hook +#define ICON_MD_HOOK_OFF "\xf3\xb0\x9b\xa3" // U+F06E3 hook-off +#define ICON_MD_HOOP_HOUSE "\xf3\xb0\xb9\x96" // U+F0E56 hoop-house, aliases: green-house, tags: Agriculture, Home Automation +#define ICON_MD_HOPS "\xf3\xb0\x8b\x9f" // U+F02DF hops, tags: Food / Drink, Agriculture +#define ICON_MD_HORIZONTAL_ROTATE_CLOCKWISE "\xf3\xb1\x83\xb3" // U+F10F3 horizontal-rotate-clockwise +#define ICON_MD_HORIZONTAL_ROTATE_COUNTERCLOCKWISE "\xf3\xb1\x83\xb4" // U+F10F4 horizontal-rotate-counterclockwise +#define ICON_MD_HORSE "\xf3\xb1\x96\xbf" // U+F15BF horse, aliases: equestrian, tags: Transportation + Other, Animal, Agriculture +#define ICON_MD_HORSE_HUMAN \ + "\xf3\xb1\x97\x80" // U+F15C0 horse-human, aliases: horseback-riding, horse-riding, equestrian, tags: Transportation + // + Other, Agriculture, People / Family +#define ICON_MD_HORSE_VARIANT "\xf3\xb1\x97\x81" // U+F15C1 horse-variant, aliases: equestrian-variant, tags: Animal, Agriculture +#define ICON_MD_HORSE_VARIANT_FAST "\xf3\xb1\xa1\xae" // U+F186E horse-variant-fast, tags: Animal, Agriculture +#define ICON_MD_HORSESHOE "\xf3\xb0\xa9\x98" // U+F0A58 horseshoe, aliases: luck, tags: Sport, Agriculture +#define ICON_MD_HOSPITAL "\xf3\xb0\xbf\xb6" // U+F0FF6 hospital, aliases: swiss-cross, dispensary, tags: Medical / Hospital +#define ICON_MD_HOSPITAL_BOX \ + "\xf3\xb0\x8b\xa0" // U+F02E0 hospital-box, aliases: local-hospital, swiss-cross-box, dispensary-box, tags: Medical + // / Hospital +#define ICON_MD_HOSPITAL_BOX_OUTLINE \ + "\xf3\xb0\xbf\xb7" // U+F0FF7 hospital-box-outline, aliases: swiss-cross-box-outline, dispensary-box-outline, tags: + // Medical / Hospital +#define ICON_MD_HOSPITAL_BUILDING "\xf3\xb0\x8b\xa1" // U+F02E1 hospital-building, tags: Places, Medical / Hospital +#define ICON_MD_HOSPITAL_MARKER "\xf3\xb0\x8b\xa2" // U+F02E2 hospital-marker, aliases: hospital-location, tags: Medical / Hospital, Navigation +#define ICON_MD_HOT_TUB "\xf3\xb0\xa0\xa8" // U+F0828 hot-tub +#define ICON_MD_HOURS_24 "\xf3\xb1\x91\xb8" // U+F1478 hours-24, tags: Date / Time +#define ICON_MD_HUBSPOT "\xf3\xb0\xb4\x97" // U+F0D17 hubspot +#define ICON_MD_HULU "\xf3\xb0\xa0\xa9" // U+F0829 hulu, tags: Brand / Logo +#define ICON_MD_HUMAN "\xf3\xb0\x8b\xa6" // U+F02E6 human, aliases: accessibility, tags: People / Family +#define ICON_MD_HUMAN_BABY_CHANGING_TABLE "\xf3\xb1\x8e\x8b" // U+F138B human-baby-changing-table, tags: People / Family, Medical / Hospital +#define ICON_MD_HUMAN_CANE "\xf3\xb1\x96\x81" // U+F1581 human-cane, aliases: elderly, tags: Medical / Hospital, People / Family +#define ICON_MD_HUMAN_CAPACITY_DECREASE \ + "\xf3\xb1\x96\x9b" // U+F159B human-capacity-decrease, aliases: human-capacity-reduce, tags: Account / User, + // Transportation + Other, People / Family +#define ICON_MD_HUMAN_CAPACITY_INCREASE "\xf3\xb1\x96\x9c" // U+F159C human-capacity-increase, tags: Account / User, Transportation + Other, People / Family +#define ICON_MD_HUMAN_CHILD "\xf3\xb0\x8b\xa7" // U+F02E7 human-child, tags: People / Family +#define ICON_MD_HUMAN_DOLLY "\xf3\xb1\xa6\x80" // U+F1980 human-dolly, aliases: human-hand-truck, human-trolley, tags: People / Family +#define ICON_MD_HUMAN_EDIT "\xf3\xb1\x93\xa8" // U+F14E8 human-edit, tags: People / Family, Edit / Modify +#define ICON_MD_HUMAN_FEMALE "\xf3\xb0\x99\x89" // U+F0649 human-female, aliases: woman, tags: People / Family +#define ICON_MD_HUMAN_FEMALE_BOY "\xf3\xb0\xa9\x99" // U+F0A59 human-female-boy, aliases: mother, mom, woman-child, mum, tags: People / Family +#define ICON_MD_HUMAN_FEMALE_DANCE "\xf3\xb1\x97\x89" // U+F15C9 human-female-dance, aliases: ballet, tags: People / Family +#define ICON_MD_HUMAN_FEMALE_FEMALE "\xf3\xb0\xa9\x9a" // U+F0A5A human-female-female, aliases: woman-woman, women, tags: People / Family +#define ICON_MD_HUMAN_FEMALE_GIRL "\xf3\xb0\xa9\x9b" // U+F0A5B human-female-girl, aliases: mother, mom, woman-child, mum, tags: People / Family +#define ICON_MD_HUMAN_GREETING "\xf3\xb1\x9f\x84" // U+F17C4 human-greeting, aliases: human-hello, human-welcome, tags: People / Family +#define ICON_MD_HUMAN_GREETING_PROXIMITY \ + "\xf3\xb1\x96\x9d" // U+F159D human-greeting-proximity, aliases: connect-without-contact, tags: Account / User, + // People / Family +#define ICON_MD_HUMAN_GREETING_VARIANT "\xf3\xb0\x99\x8a" // U+F064A human-greeting-variant, aliases: human-hello-variant, tags: People / Family +#define ICON_MD_HUMAN_HANDSDOWN "\xf3\xb0\x99\x8b" // U+F064B human-handsdown, tags: People / Family +#define ICON_MD_HUMAN_HANDSUP "\xf3\xb0\x99\x8c" // U+F064C human-handsup, tags: People / Family +#define ICON_MD_HUMAN_MALE "\xf3\xb0\x99\x8d" // U+F064D human-male, aliases: man, tags: People / Family +#define ICON_MD_HUMAN_MALE_BOARD \ + "\xf3\xb0\xa2\x90" // U+F0890 human-male-board, aliases: teacher, teaching, lecture, college, blackboard, + // whiteboard, human-man-board, tags: People / Family +#define ICON_MD_HUMAN_MALE_BOARD_POLL "\xf3\xb0\xa1\x86" // U+F0846 human-male-board-poll, aliases: teach-poll, tags: People / Family +#define ICON_MD_HUMAN_MALE_BOY "\xf3\xb0\xa9\x9c" // U+F0A5C human-male-boy, aliases: father, dad, man-child, tags: People / Family +#define ICON_MD_HUMAN_MALE_CHILD "\xf3\xb1\x8e\x8c" // U+F138C human-male-child, tags: People / Family +#define ICON_MD_HUMAN_MALE_FEMALE "\xf3\xb0\x8b\xa8" // U+F02E8 human-male-female, aliases: wc, man-woman, tags: People / Family +#define ICON_MD_HUMAN_MALE_FEMALE_CHILD "\xf3\xb1\xa0\xa3" // U+F1823 human-male-female-child, aliases: family, mom-dad-child, tags: People / Family +#define ICON_MD_HUMAN_MALE_GIRL "\xf3\xb0\xa9\x9d" // U+F0A5D human-male-girl, aliases: father, dad, man-child, tags: People / Family +#define ICON_MD_HUMAN_MALE_HEIGHT "\xf3\xb0\xbb\xbb" // U+F0EFB human-male-height, tags: Medical / Hospital, People / Family +#define ICON_MD_HUMAN_MALE_HEIGHT_VARIANT "\xf3\xb0\xbb\xbc" // U+F0EFC human-male-height-variant, tags: Medical / Hospital, People / Family +#define ICON_MD_HUMAN_MALE_MALE "\xf3\xb0\xa9\x9e" // U+F0A5E human-male-male, aliases: man-man, men, tags: People / Family +#define ICON_MD_HUMAN_NON_BINARY "\xf3\xb1\xa1\x88" // U+F1848 human-non-binary, aliases: human-genderless, human-transgender, tags: People / Family +#define ICON_MD_HUMAN_PREGNANT "\xf3\xb0\x97\x8f" // U+F05CF human-pregnant, aliases: pregnant-woman, tags: People / Family +#define ICON_MD_HUMAN_QUEUE "\xf3\xb1\x95\xb1" // U+F1571 human-queue, aliases: human-line, tags: People / Family +#define ICON_MD_HUMAN_SCOOTER "\xf3\xb1\x87\xa9" // U+F11E9 human-scooter, tags: Sport, Transportation + Other, People / Family +#define ICON_MD_HUMAN_WALKER "\xf3\xb1\xad\xb1" // U+F1B71 human-walker, tags: People / Family, Medical / Hospital +#define ICON_MD_HUMAN_WHEELCHAIR "\xf3\xb1\x8e\x8d" // U+F138D human-wheelchair, aliases: human-accessible, tags: People / Family, Medical / Hospital +#define ICON_MD_HUMAN_WHITE_CANE "\xf3\xb1\xa6\x81" // U+F1981 human-white-cane, aliases: human-blind, tags: People / Family, Medical / Hospital +#define ICON_MD_HUMBLE_BUNDLE "\xf3\xb0\x9d\x84" // U+F0744 humble-bundle, tags: Brand / Logo +#define ICON_MD_HVAC "\xf3\xb1\x8d\x92" // U+F1352 hvac, aliases: heating, ventilation, air-conditioning, tags: Home Automation +#define ICON_MD_HVAC_OFF \ + "\xf3\xb1\x96\x9e" // U+F159E hvac-off, aliases: heating-off, ventilation-off, air-conditioning-off, tags: Home + // Automation +#define ICON_MD_HYDRAULIC_OIL_LEVEL "\xf3\xb1\x8c\xa4" // U+F1324 hydraulic-oil-level, tags: Automotive +#define ICON_MD_HYDRAULIC_OIL_TEMPERATURE "\xf3\xb1\x8c\xa5" // U+F1325 hydraulic-oil-temperature, tags: Automotive +#define ICON_MD_HYDRO_POWER "\xf3\xb1\x8b\xa5" // U+F12E5 hydro-power, aliases: hydraulic-turbine, water-turbine, watermill, tags: Device / Tech +#define ICON_MD_HYDROGEN_STATION "\xf3\xb1\xa2\x94" // U+F1894 hydrogen-station, tags: Automotive +#define ICON_MD_ICE_CREAM "\xf3\xb0\xa0\xaa" // U+F082A ice-cream, tags: Food / Drink +#define ICON_MD_ICE_CREAM_OFF "\xf3\xb0\xb9\x92" // U+F0E52 ice-cream-off, tags: Food / Drink +#define ICON_MD_ICE_POP "\xf3\xb0\xbb\xbd" // U+F0EFD ice-pop, aliases: popsicle, tags: Food / Drink +#define ICON_MD_ID_CARD "\xf3\xb0\xbf\x80" // U+F0FC0 id-card +#define ICON_MD_IDENTIFIER "\xf3\xb0\xbb\xbe" // U+F0EFE identifier, aliases: key, tags: Developer / Languages +#define ICON_MD_IDEOGRAM_CJK \ + "\xf3\xb1\x8c\xb1" // U+F1331 ideogram-cjk, aliases: ideogram-chinese-japanese-korean, writing-system-cjk, tags: + // Alpha / Numeric +#define ICON_MD_IDEOGRAM_CJK_VARIANT \ + "\xf3\xb1\x8c\xb2" // U+F1332 ideogram-cjk-variant, aliases: ideogram-chinese-japanese-korean-variant, + // writing-system-cjk-variant, tags: Alpha / Numeric +#define ICON_MD_IMAGE "\xf3\xb0\x8b\xa9" // U+F02E9 image, aliases: insert-photo +#define ICON_MD_IMAGE_ALBUM "\xf3\xb0\x8b\xaa" // U+F02EA image-album, aliases: photo-album, book-image +#define ICON_MD_IMAGE_AREA "\xf3\xb0\x8b\xab" // U+F02EB image-area +#define ICON_MD_IMAGE_AREA_CLOSE "\xf3\xb0\x8b\xac" // U+F02EC image-area-close +#define ICON_MD_IMAGE_AUTO_ADJUST "\xf3\xb0\xbf\x81" // U+F0FC1 image-auto-adjust, aliases: image-filter, tags: Photography +#define ICON_MD_IMAGE_BROKEN "\xf3\xb0\x8b\xad" // U+F02ED image-broken +#define ICON_MD_IMAGE_BROKEN_VARIANT "\xf3\xb0\x8b\xae" // U+F02EE image-broken-variant, aliases: broken-image +#define ICON_MD_IMAGE_CHECK "\xf3\xb1\xac\xa5" // U+F1B25 image-check +#define ICON_MD_IMAGE_CHECK_OUTLINE "\xf3\xb1\xac\xa6" // U+F1B26 image-check-outline +#define ICON_MD_IMAGE_EDIT "\xf3\xb1\x87\xa3" // U+F11E3 image-edit, tags: Edit / Modify +#define ICON_MD_IMAGE_EDIT_OUTLINE "\xf3\xb1\x87\xa4" // U+F11E4 image-edit-outline, tags: Edit / Modify +#define ICON_MD_IMAGE_FILTER_BLACK_WHITE "\xf3\xb0\x8b\xb0" // U+F02F0 image-filter-black-white, aliases: filter-b-and-w, tags: Photography +#define ICON_MD_IMAGE_FILTER_CENTER_FOCUS "\xf3\xb0\x8b\xb1" // U+F02F1 image-filter-center-focus, aliases: image-filter-centre-focus, tags: Photography +#define ICON_MD_IMAGE_FILTER_CENTER_FOCUS_STRONG "\xf3\xb0\xbb\xbf" // U+F0EFF image-filter-center-focus-strong, tags: Photography +#define ICON_MD_IMAGE_FILTER_CENTER_FOCUS_STRONG_OUTLINE "\xf3\xb0\xbc\x80" // U+F0F00 image-filter-center-focus-strong-outline, tags: Photography +#define ICON_MD_IMAGE_FILTER_CENTER_FOCUS_WEAK \ + "\xf3\xb0\x8b\xb2" // U+F02F2 image-filter-center-focus-weak, aliases: image-filter-centre-focus-weak, tags: + // Photography +#define ICON_MD_IMAGE_FILTER_DRAMA "\xf3\xb0\x8b\xb3" // U+F02F3 image-filter-drama, tags: Photography, Nature +#define ICON_MD_IMAGE_FILTER_FRAMES "\xf3\xb0\x8b\xb4" // U+F02F4 image-filter-frames, tags: Photography +#define ICON_MD_IMAGE_FILTER_HDR "\xf3\xb0\x8b\xb5" // U+F02F5 image-filter-hdr, aliases: mountain, landscape, tags: Photography, Nature +#define ICON_MD_IMAGE_FILTER_NONE "\xf3\xb0\x8b\xb6" // U+F02F6 image-filter-none, tags: Photography +#define ICON_MD_IMAGE_FILTER_TILT_SHIFT "\xf3\xb0\x8b\xb7" // U+F02F7 image-filter-tilt-shift, tags: Photography +#define ICON_MD_IMAGE_FILTER_VINTAGE "\xf3\xb0\x8b\xb8" // U+F02F8 image-filter-vintage, tags: Photography, Nature +#define ICON_MD_IMAGE_FRAME "\xf3\xb0\xb9\x89" // U+F0E49 image-frame, aliases: hallway, foyer, entry-room, tags: Home Automation +#define ICON_MD_IMAGE_LOCK "\xf3\xb1\xaa\xb0" // U+F1AB0 image-lock, aliases: image-secure, tags: Lock, Photography +#define ICON_MD_IMAGE_LOCK_OUTLINE "\xf3\xb1\xaa\xb1" // U+F1AB1 image-lock-outline, aliases: image-secure-outline, tags: Photography, Lock +#define ICON_MD_IMAGE_MARKER "\xf3\xb1\x9d\xbb" // U+F177B image-marker, aliases: image-location, tags: Navigation +#define ICON_MD_IMAGE_MARKER_OUTLINE "\xf3\xb1\x9d\xbc" // U+F177C image-marker-outline, aliases: image-location-outline, tags: Navigation +#define ICON_MD_IMAGE_MINUS "\xf3\xb1\x90\x99" // U+F1419 image-minus +#define ICON_MD_IMAGE_MINUS_OUTLINE "\xf3\xb1\xad\x87" // U+F1B47 image-minus-outline +#define ICON_MD_IMAGE_MOVE "\xf3\xb0\xa7\xb8" // U+F09F8 image-move +#define ICON_MD_IMAGE_MULTIPLE "\xf3\xb0\x8b\xb9" // U+F02F9 image-multiple, aliases: collections, photo-library, images +#define ICON_MD_IMAGE_MULTIPLE_OUTLINE "\xf3\xb0\x8b\xaf" // U+F02EF image-multiple-outline, aliases: image-filter, images-outline, tags: Photography +#define ICON_MD_IMAGE_OFF "\xf3\xb0\xa0\xab" // U+F082B image-off +#define ICON_MD_IMAGE_OFF_OUTLINE "\xf3\xb1\x87\x91" // U+F11D1 image-off-outline +#define ICON_MD_IMAGE_OUTLINE "\xf3\xb0\xa5\xb6" // U+F0976 image-outline +#define ICON_MD_IMAGE_PLUS "\xf3\xb0\xa1\xbc" // U+F087C image-plus, aliases: image-add +#define ICON_MD_IMAGE_PLUS_OUTLINE "\xf3\xb1\xad\x86" // U+F1B46 image-plus-outline, aliases: image-add-outline +#define ICON_MD_IMAGE_REFRESH "\xf3\xb1\xa7\xbe" // U+F19FE image-refresh, tags: Photography +#define ICON_MD_IMAGE_REFRESH_OUTLINE "\xf3\xb1\xa7\xbf" // U+F19FF image-refresh-outline, tags: Photography +#define ICON_MD_IMAGE_REMOVE "\xf3\xb1\x90\x98" // U+F1418 image-remove +#define ICON_MD_IMAGE_REMOVE_OUTLINE "\xf3\xb1\xad\x88" // U+F1B48 image-remove-outline +#define ICON_MD_IMAGE_SEARCH "\xf3\xb0\xa5\xb7" // U+F0977 image-search +#define ICON_MD_IMAGE_SEARCH_OUTLINE "\xf3\xb0\xa5\xb8" // U+F0978 image-search-outline +#define ICON_MD_IMAGE_SIZE_SELECT_ACTUAL "\xf3\xb0\xb2\x8d" // U+F0C8D image-size-select-actual +#define ICON_MD_IMAGE_SIZE_SELECT_LARGE "\xf3\xb0\xb2\x8e" // U+F0C8E image-size-select-large +#define ICON_MD_IMAGE_SIZE_SELECT_SMALL "\xf3\xb0\xb2\x8f" // U+F0C8F image-size-select-small +#define ICON_MD_IMAGE_SYNC "\xf3\xb1\xa8\x80" // U+F1A00 image-sync, tags: Photography +#define ICON_MD_IMAGE_SYNC_OUTLINE "\xf3\xb1\xa8\x81" // U+F1A01 image-sync-outline, tags: Photography +#define ICON_MD_IMAGE_TEXT "\xf3\xb1\x98\x8d" // U+F160D image-text, aliases: image-description +#define ICON_MD_IMPORT "\xf3\xb0\x8b\xba" // U+F02FA import, aliases: input +#define ICON_MD_INBOX "\xf3\xb0\x9a\x87" // U+F0687 inbox +#define ICON_MD_INBOX_ARROW_DOWN "\xf3\xb0\x8b\xbb" // U+F02FB inbox-arrow-down, aliases: move-to-inbox +#define ICON_MD_INBOX_ARROW_DOWN_OUTLINE "\xf3\xb1\x89\xb0" // U+F1270 inbox-arrow-down-outline +#define ICON_MD_INBOX_ARROW_UP "\xf3\xb0\x8f\x91" // U+F03D1 inbox-arrow-up, aliases: move-from-inbox +#define ICON_MD_INBOX_ARROW_UP_OUTLINE "\xf3\xb1\x89\xb1" // U+F1271 inbox-arrow-up-outline +#define ICON_MD_INBOX_FULL "\xf3\xb1\x89\xb2" // U+F1272 inbox-full +#define ICON_MD_INBOX_FULL_OUTLINE "\xf3\xb1\x89\xb3" // U+F1273 inbox-full-outline +#define ICON_MD_INBOX_MULTIPLE "\xf3\xb0\xa2\xb0" // U+F08B0 inbox-multiple, aliases: inboxes +#define ICON_MD_INBOX_MULTIPLE_OUTLINE "\xf3\xb0\xae\xa8" // U+F0BA8 inbox-multiple-outline, aliases: inboxes-outline +#define ICON_MD_INBOX_OUTLINE "\xf3\xb1\x89\xb4" // U+F1274 inbox-outline +#define ICON_MD_INBOX_REMOVE "\xf3\xb1\x96\x9f" // U+F159F inbox-remove +#define ICON_MD_INBOX_REMOVE_OUTLINE "\xf3\xb1\x96\xa0" // U+F15A0 inbox-remove-outline +#define ICON_MD_INCOGNITO "\xf3\xb0\x97\xb9" // U+F05F9 incognito, aliases: anonymous, spy +#define ICON_MD_INCOGNITO_CIRCLE "\xf3\xb1\x90\xa1" // U+F1421 incognito-circle, aliases: anonymous-circle, spy-circle +#define ICON_MD_INCOGNITO_CIRCLE_OFF "\xf3\xb1\x90\xa2" // U+F1422 incognito-circle-off, aliases: anonymous-circle-off, spy-circle-off +#define ICON_MD_INCOGNITO_OFF "\xf3\xb0\x81\xb5" // U+F0075 incognito-off, aliases: spy-off, anonymous-off +#define ICON_MD_INDUCTION "\xf3\xb1\xa1\x8c" // U+F184C induction, aliases: ignition, tags: Home Automation, Automotive +#define ICON_MD_INFINITY "\xf3\xb0\x9b\xa4" // U+F06E4 infinity, tags: Math +#define ICON_MD_INFORMATION "\xf3\xb0\x8b\xbc" // U+F02FC information, aliases: about, information-circle, info-circle, about-circle +#define ICON_MD_INFORMATION_OFF "\xf3\xb1\x9e\x8c" // U+F178C information-off +#define ICON_MD_INFORMATION_OFF_OUTLINE "\xf3\xb1\x9e\x8d" // U+F178D information-off-outline +#define ICON_MD_INFORMATION_OUTLINE \ + "\xf3\xb0\x8b\xbd" // U+F02FD information-outline, aliases: info-outline, about-outline, information-circle-outline, + // info-circle-outline, about-circle-outline +#define ICON_MD_INFORMATION_VARIANT "\xf3\xb0\x99\x8e" // U+F064E information-variant, aliases: info-variant, about-variant +#define ICON_MD_INSTAGRAM "\xf3\xb0\x8b\xbe" // U+F02FE instagram, tags: Brand / Logo +#define ICON_MD_INSTRUMENT_TRIANGLE "\xf3\xb1\x81\x8e" // U+F104E instrument-triangle, aliases: dinner-bell, tags: Music +#define ICON_MD_INTEGRATED_CIRCUIT_CHIP "\xf3\xb1\xa4\x93" // U+F1913 integrated-circuit-chip, aliases: icc, chip, tags: Banking +#define ICON_MD_INVERT_COLORS "\xf3\xb0\x8c\x81" // U+F0301 invert-colors, aliases: invert-colours, tags: Color +#define ICON_MD_INVERT_COLORS_OFF "\xf3\xb0\xb9\x8a" // U+F0E4A invert-colors-off, aliases: invert-colours-off, tags: Color +#define ICON_MD_IOBROKER "\xf3\xb1\x8b\xa8" // U+F12E8 iobroker, tags: Brand / Logo +#define ICON_MD_IP "\xf3\xb0\xa9\x9f" // U+F0A5F ip, aliases: internet-protocol +#define ICON_MD_IP_NETWORK "\xf3\xb0\xa9\xa0" // U+F0A60 ip-network +#define ICON_MD_IP_NETWORK_OUTLINE "\xf3\xb0\xb2\x90" // U+F0C90 ip-network-outline +#define ICON_MD_IP_OUTLINE "\xf3\xb1\xa6\x82" // U+F1982 ip-outline, aliases: internet-protocol-outline +#define ICON_MD_IPOD "\xf3\xb0\xb2\x91" // U+F0C91 ipod, aliases: apple-ipod +#define ICON_MD_IRON "\xf3\xb1\xa0\xa4" // U+F1824 iron, aliases: flatiron, smoothing-iron, tags: Home Automation, Clothing +#define ICON_MD_IRON_BOARD "\xf3\xb1\xa0\xb8" // U+F1838 iron-board, tags: Home Automation, Clothing +#define ICON_MD_IRON_OUTLINE \ + "\xf3\xb1\xa0\xa5" // U+F1825 iron-outline, aliases: flatiron-outline, smoothing-iron-outline, tags: Home + // Automation, Clothing +#define ICON_MD_ISLAND "\xf3\xb1\x81\x8f" // U+F104F island, tags: Places +#define ICON_MD_IV_BAG "\xf3\xb1\x82\xb9" // U+F10B9 iv-bag, tags: Medical / Hospital +#define ICON_MD_JABBER "\xf3\xb0\xb7\x95" // U+F0DD5 jabber, tags: Brand / Logo +#define ICON_MD_JEEPNEY "\xf3\xb0\x8c\x82" // U+F0302 jeepney, tags: Transportation + Road +#define ICON_MD_JELLYFISH "\xf3\xb0\xbc\x81" // U+F0F01 jellyfish, tags: Animal +#define ICON_MD_JELLYFISH_OUTLINE "\xf3\xb0\xbc\x82" // U+F0F02 jellyfish-outline, tags: Animal +#define ICON_MD_JIRA "\xf3\xb0\x8c\x83" // U+F0303 jira, tags: Brand / Logo +#define ICON_MD_JQUERY "\xf3\xb0\xa1\xbd" // U+F087D jquery, tags: Brand / Logo +#define ICON_MD_JSFIDDLE "\xf3\xb0\x8c\x84" // U+F0304 jsfiddle, tags: Brand / Logo +#define ICON_MD_JUMP_ROPE "\xf3\xb1\x8b\xbf" // U+F12FF jump-rope, tags: Sport +#define ICON_MD_KABADDI "\xf3\xb0\xb6\x87" // U+F0D87 kabaddi, aliases: wrestling, human-kabaddi, tags: Sport, People / Family +#define ICON_MD_KANGAROO "\xf3\xb1\x95\x98" // U+F1558 kangaroo, aliases: marsupial, tags: Animal +#define ICON_MD_KARATE "\xf3\xb0\xa0\xac" // U+F082C karate, aliases: martial-arts, kickboxing, human-karate, tags: Sport, People / Family +#define ICON_MD_KAYAKING "\xf3\xb0\xa2\xaf" // U+F08AF kayaking, aliases: human-kayaking, tags: Sport, People / Family +#define ICON_MD_KEG "\xf3\xb0\x8c\x85" // U+F0305 keg, tags: Food / Drink +#define ICON_MD_KETTLE \ + "\xf3\xb0\x97\xba" // U+F05FA kettle, aliases: tea-kettle, kettle-full, tea-kettle-full, tags: Home Automation, Food + // / Drink +#define ICON_MD_KETTLE_ALERT \ + "\xf3\xb1\x8c\x97" // U+F1317 kettle-alert, aliases: tea-kettle-alert, kettle-full-alert, tea-kettle-full-alert, + // tags: Home Automation, Alert / Error, Food / Drink +#define ICON_MD_KETTLE_ALERT_OUTLINE \ + "\xf3\xb1\x8c\x98" // U+F1318 kettle-alert-outline, aliases: tea-kettle-alert-outline, kettle-empty-alert, + // tea-kettle-empty-alert, tags: Home Automation, Alert / Error, Food / Drink +#define ICON_MD_KETTLE_OFF \ + "\xf3\xb1\x8c\x9b" // U+F131B kettle-off, aliases: tea-kettle-off, tea-kettle-full-off, kettle-full-off, tags: Home + // Automation, Food / Drink +#define ICON_MD_KETTLE_OFF_OUTLINE \ + "\xf3\xb1\x8c\x9c" // U+F131C kettle-off-outline, aliases: tea-kettle-off-outline, kettle-empty-off, + // tea-kettle-empty-off, tags: Home Automation, Food / Drink +#define ICON_MD_KETTLE_OUTLINE \ + "\xf3\xb0\xbd\x96" // U+F0F56 kettle-outline, aliases: tea-kettle-outline, kettle-empty, tea-kettle-empty, tags: + // Food / Drink, Home Automation +#define ICON_MD_KETTLE_POUR_OVER "\xf3\xb1\x9c\xbc" // U+F173C kettle-pour-over +#define ICON_MD_KETTLE_STEAM \ + "\xf3\xb1\x8c\x99" // U+F1319 kettle-steam, aliases: tea-kettle-steam, kettle-full-steam, tea-kettle-full-steam, + // tags: Home Automation, Food / Drink +#define ICON_MD_KETTLE_STEAM_OUTLINE \ + "\xf3\xb1\x8c\x9a" // U+F131A kettle-steam-outline, aliases: tea-kettle-steam-outline, kettle-empty-steam, + // tea-kettle-empty-steam, tags: Home Automation, Food / Drink +#define ICON_MD_KETTLEBELL "\xf3\xb1\x8c\x80" // U+F1300 kettlebell, tags: Sport +#define ICON_MD_KEY "\xf3\xb0\x8c\x86" // U+F0306 key, aliases: vpn-key, tags: Automotive +#define ICON_MD_KEY_ALERT "\xf3\xb1\xa6\x83" // U+F1983 key-alert, tags: Alert / Error +#define ICON_MD_KEY_ALERT_OUTLINE "\xf3\xb1\xa6\x84" // U+F1984 key-alert-outline, tags: Alert / Error +#define ICON_MD_KEY_ARROW_RIGHT "\xf3\xb1\x8c\x92" // U+F1312 key-arrow-right +#define ICON_MD_KEY_CHAIN "\xf3\xb1\x95\xb4" // U+F1574 key-chain, tags: Automotive, Home Automation +#define ICON_MD_KEY_CHAIN_VARIANT "\xf3\xb1\x95\xb5" // U+F1575 key-chain-variant, tags: Automotive, Home Automation +#define ICON_MD_KEY_CHANGE "\xf3\xb0\x8c\x87" // U+F0307 key-change +#define ICON_MD_KEY_LINK "\xf3\xb1\x86\x9f" // U+F119F key-link, aliases: foreign-key, sql-foreign-key +#define ICON_MD_KEY_MINUS "\xf3\xb0\x8c\x88" // U+F0308 key-minus +#define ICON_MD_KEY_OUTLINE "\xf3\xb0\xb7\x96" // U+F0DD6 key-outline +#define ICON_MD_KEY_PLUS "\xf3\xb0\x8c\x89" // U+F0309 key-plus, aliases: key-add +#define ICON_MD_KEY_REMOVE "\xf3\xb0\x8c\x8a" // U+F030A key-remove +#define ICON_MD_KEY_STAR "\xf3\xb1\x86\x9e" // U+F119E key-star, aliases: primary-key, sql-primary-key, key-favorite +#define ICON_MD_KEY_VARIANT "\xf3\xb0\x8c\x8b" // U+F030B key-variant, tags: Automotive +#define ICON_MD_KEY_WIRELESS "\xf3\xb0\xbf\x82" // U+F0FC2 key-wireless +#define ICON_MD_KEYBOARD "\xf3\xb0\x8c\x8c" // U+F030C keyboard +#define ICON_MD_KEYBOARD_BACKSPACE "\xf3\xb0\x8c\x8d" // U+F030D keyboard-backspace, aliases: keyboard-clear, keyboard-erase +#define ICON_MD_KEYBOARD_CAPS "\xf3\xb0\x8c\x8e" // U+F030E keyboard-caps, aliases: keyboard-capslock +#define ICON_MD_KEYBOARD_CLOSE "\xf3\xb0\x8c\x8f" // U+F030F keyboard-close, aliases: keyboard-hide +#define ICON_MD_KEYBOARD_ESC "\xf3\xb1\x8a\xb7" // U+F12B7 keyboard-esc +#define ICON_MD_KEYBOARD_F1 "\xf3\xb1\x8a\xab" // U+F12AB keyboard-f1 +#define ICON_MD_KEYBOARD_F10 "\xf3\xb1\x8a\xb4" // U+F12B4 keyboard-f10 +#define ICON_MD_KEYBOARD_F11 "\xf3\xb1\x8a\xb5" // U+F12B5 keyboard-f11 +#define ICON_MD_KEYBOARD_F12 "\xf3\xb1\x8a\xb6" // U+F12B6 keyboard-f12 +#define ICON_MD_KEYBOARD_F2 "\xf3\xb1\x8a\xac" // U+F12AC keyboard-f2 +#define ICON_MD_KEYBOARD_F3 "\xf3\xb1\x8a\xad" // U+F12AD keyboard-f3 +#define ICON_MD_KEYBOARD_F4 "\xf3\xb1\x8a\xae" // U+F12AE keyboard-f4 +#define ICON_MD_KEYBOARD_F5 "\xf3\xb1\x8a\xaf" // U+F12AF keyboard-f5 +#define ICON_MD_KEYBOARD_F6 "\xf3\xb1\x8a\xb0" // U+F12B0 keyboard-f6 +#define ICON_MD_KEYBOARD_F7 "\xf3\xb1\x8a\xb1" // U+F12B1 keyboard-f7 +#define ICON_MD_KEYBOARD_F8 "\xf3\xb1\x8a\xb2" // U+F12B2 keyboard-f8 +#define ICON_MD_KEYBOARD_F9 "\xf3\xb1\x8a\xb3" // U+F12B3 keyboard-f9 +#define ICON_MD_KEYBOARD_OFF "\xf3\xb0\x8c\x90" // U+F0310 keyboard-off +#define ICON_MD_KEYBOARD_OFF_OUTLINE "\xf3\xb0\xb9\x8b" // U+F0E4B keyboard-off-outline +#define ICON_MD_KEYBOARD_OUTLINE "\xf3\xb0\xa5\xbb" // U+F097B keyboard-outline +#define ICON_MD_KEYBOARD_RETURN "\xf3\xb0\x8c\x91" // U+F0311 keyboard-return +#define ICON_MD_KEYBOARD_SETTINGS "\xf3\xb0\xa7\xb9" // U+F09F9 keyboard-settings, tags: Settings +#define ICON_MD_KEYBOARD_SETTINGS_OUTLINE "\xf3\xb0\xa7\xba" // U+F09FA keyboard-settings-outline, tags: Settings +#define ICON_MD_KEYBOARD_SPACE "\xf3\xb1\x81\x90" // U+F1050 keyboard-space +#define ICON_MD_KEYBOARD_TAB "\xf3\xb0\x8c\x92" // U+F0312 keyboard-tab +#define ICON_MD_KEYBOARD_TAB_REVERSE "\xf3\xb0\x8c\xa5" // U+F0325 keyboard-tab-reverse +#define ICON_MD_KEYBOARD_VARIANT "\xf3\xb0\x8c\x93" // U+F0313 keyboard-variant +#define ICON_MD_KHANDA "\xf3\xb1\x83\xbd" // U+F10FD khanda, aliases: sikh, tags: Religion +#define ICON_MD_KICKSTARTER "\xf3\xb0\x9d\x85" // U+F0745 kickstarter, tags: Brand / Logo +#define ICON_MD_KITE "\xf3\xb1\xa6\x85" // U+F1985 kite, tags: Sport +#define ICON_MD_KITE_OUTLINE "\xf3\xb1\xa6\x86" // U+F1986 kite-outline, tags: Sport +#define ICON_MD_KITESURFING "\xf3\xb1\x9d\x84" // U+F1744 kitesurfing +#define ICON_MD_KLINGON "\xf3\xb1\x8d\x9b" // U+F135B klingon +#define ICON_MD_KNIFE "\xf3\xb0\xa7\xbb" // U+F09FB knife, aliases: silverware-knife, cutlery-knife +#define ICON_MD_KNIFE_MILITARY "\xf3\xb0\xa7\xbc" // U+F09FC knife-military, aliases: dagger, tags: Gaming / RPG +#define ICON_MD_KNOB "\xf3\xb1\xae\x96" // U+F1B96 knob, aliases: volume-knob, volume-control, dial, tuner, switch, adjuster, tags: Audio +#define ICON_MD_KOALA "\xf3\xb1\x9c\xbf" // U+F173F koala, aliases: marsupial, emoji-koala, emoticon-koala, tags: Animal +#define ICON_MD_KODI "\xf3\xb0\x8c\x94" // U+F0314 kodi, tags: Brand / Logo +#define ICON_MD_KUBERNETES "\xf3\xb1\x83\xbe" // U+F10FE kubernetes, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LABEL "\xf3\xb0\x8c\x95" // U+F0315 label +#define ICON_MD_LABEL_MULTIPLE "\xf3\xb1\x8d\xb5" // U+F1375 label-multiple +#define ICON_MD_LABEL_MULTIPLE_OUTLINE "\xf3\xb1\x8d\xb6" // U+F1376 label-multiple-outline +#define ICON_MD_LABEL_OFF "\xf3\xb0\xab\x8b" // U+F0ACB label-off +#define ICON_MD_LABEL_OFF_OUTLINE "\xf3\xb0\xab\x8c" // U+F0ACC label-off-outline +#define ICON_MD_LABEL_OUTLINE "\xf3\xb0\x8c\x96" // U+F0316 label-outline +#define ICON_MD_LABEL_PERCENT "\xf3\xb1\x8b\xaa" // U+F12EA label-percent +#define ICON_MD_LABEL_PERCENT_OUTLINE "\xf3\xb1\x8b\xab" // U+F12EB label-percent-outline +#define ICON_MD_LABEL_VARIANT "\xf3\xb0\xab\x8d" // U+F0ACD label-variant +#define ICON_MD_LABEL_VARIANT_OUTLINE "\xf3\xb0\xab\x8e" // U+F0ACE label-variant-outline +#define ICON_MD_LADDER "\xf3\xb1\x96\xa2" // U+F15A2 ladder, tags: Hardware / Tools +#define ICON_MD_LADYBUG "\xf3\xb0\xa0\xad" // U+F082D ladybug, aliases: bugfood, ladybird, tags: Nature +#define ICON_MD_LAMBDA "\xf3\xb0\x98\xa7" // U+F0627 lambda, tags: Gaming / RPG, Math +#define ICON_MD_LAMP "\xf3\xb0\x9a\xb5" // U+F06B5 lamp, tags: Home Automation +#define ICON_MD_LAMP_OUTLINE "\xf3\xb1\x9f\x90" // U+F17D0 lamp-outline, tags: Home Automation +#define ICON_MD_LAMPS "\xf3\xb1\x95\xb6" // U+F1576 lamps, aliases: lights, tags: Home Automation +#define ICON_MD_LAMPS_OUTLINE "\xf3\xb1\x9f\x91" // U+F17D1 lamps-outline, aliases: lights-outline, tags: Home Automation +#define ICON_MD_LAN "\xf3\xb0\x8c\x97" // U+F0317 lan, aliases: local-area-network +#define ICON_MD_LAN_CHECK "\xf3\xb1\x8a\xaa" // U+F12AA lan-check +#define ICON_MD_LAN_CONNECT "\xf3\xb0\x8c\x98" // U+F0318 lan-connect, aliases: local-area-network-connect +#define ICON_MD_LAN_DISCONNECT "\xf3\xb0\x8c\x99" // U+F0319 lan-disconnect, aliases: local-area-network-disconnect +#define ICON_MD_LAN_PENDING "\xf3\xb0\x8c\x9a" // U+F031A lan-pending, aliases: local-area-network-pending +#define ICON_MD_LAND_FIELDS "\xf3\xb1\xaa\xb2" // U+F1AB2 land-fields, tags: Agriculture +#define ICON_MD_LAND_PLOTS "\xf3\xb1\xaa\xb3" // U+F1AB3 land-plots, tags: Agriculture +#define ICON_MD_LAND_PLOTS_CIRCLE "\xf3\xb1\xaa\xb4" // U+F1AB4 land-plots-circle, tags: Agriculture +#define ICON_MD_LAND_PLOTS_CIRCLE_VARIANT "\xf3\xb1\xaa\xb5" // U+F1AB5 land-plots-circle-variant, tags: Agriculture +#define ICON_MD_LAND_ROWS_HORIZONTAL "\xf3\xb1\xaa\xb6" // U+F1AB6 land-rows-horizontal, tags: Agriculture +#define ICON_MD_LAND_ROWS_VERTICAL "\xf3\xb1\xaa\xb7" // U+F1AB7 land-rows-vertical, tags: Agriculture +#define ICON_MD_LANDSLIDE "\xf3\xb1\xa9\x88" // U+F1A48 landslide, aliases: avalanche, mudslide, tags: Nature +#define ICON_MD_LANDSLIDE_OUTLINE "\xf3\xb1\xa9\x89" // U+F1A49 landslide-outline, aliases: avalanche-outline, mudslide-outline, tags: Nature +#define ICON_MD_LANGUAGE_C "\xf3\xb0\x99\xb1" // U+F0671 language-c, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_CPP "\xf3\xb0\x99\xb2" // U+F0672 language-cpp, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_CSHARP "\xf3\xb0\x8c\x9b" // U+F031B language-csharp, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_CSS3 "\xf3\xb0\x8c\x9c" // U+F031C language-css3, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_FORTRAN "\xf3\xb1\x88\x9a" // U+F121A language-fortran, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_GO "\xf3\xb0\x9f\x93" // U+F07D3 language-go, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_HASKELL "\xf3\xb0\xb2\x92" // U+F0C92 language-haskell, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_HTML5 "\xf3\xb0\x8c\x9d" // U+F031D language-html5, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_JAVA "\xf3\xb0\xac\xb7" // U+F0B37 language-java, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_JAVASCRIPT "\xf3\xb0\x8c\x9e" // U+F031E language-javascript, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_KOTLIN "\xf3\xb1\x88\x99" // U+F1219 language-kotlin, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_LUA "\xf3\xb0\xa2\xb1" // U+F08B1 language-lua, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_MARKDOWN "\xf3\xb0\x8d\x94" // U+F0354 language-markdown, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_MARKDOWN_OUTLINE "\xf3\xb0\xbd\x9b" // U+F0F5B language-markdown-outline, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_PHP "\xf3\xb0\x8c\x9f" // U+F031F language-php, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_PYTHON "\xf3\xb0\x8c\xa0" // U+F0320 language-python, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_R "\xf3\xb0\x9f\x94" // U+F07D4 language-r, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_RUBY "\xf3\xb0\xb4\xad" // U+F0D2D language-ruby, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_RUBY_ON_RAILS "\xf3\xb0\xab\x8f" // U+F0ACF language-ruby-on-rails, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_RUST "\xf3\xb1\x98\x97" // U+F1617 language-rust, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_SWIFT "\xf3\xb0\x9b\xa5" // U+F06E5 language-swift, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_TYPESCRIPT "\xf3\xb0\x9b\xa6" // U+F06E6 language-typescript, tags: Developer / Languages, Brand / Logo +#define ICON_MD_LANGUAGE_XAML \ + "\xf3\xb0\x99\xb3" // U+F0673 language-xaml, aliases: xaml, microsoft-xaml, tags: Developer / Languages, Brand / + // Logo +#define ICON_MD_LAPTOP "\xf3\xb0\x8c\xa2" // U+F0322 laptop, aliases: computer, tags: Device / Tech, Home Automation +#define ICON_MD_LAPTOP_ACCOUNT \ + "\xf3\xb1\xa9\x8a" // U+F1A4A laptop-account, aliases: teleconference, virtual-meeting, video-chat, tags: Account / + // User, Device / Tech +#define ICON_MD_LAPTOP_OFF "\xf3\xb0\x9b\xa7" // U+F06E7 laptop-off, tags: Device / Tech +#define ICON_MD_LARAVEL "\xf3\xb0\xab\x90" // U+F0AD0 laravel, tags: Brand / Logo +#define ICON_MD_LASER_POINTER "\xf3\xb1\x92\x84" // U+F1484 laser-pointer +#define ICON_MD_LASSO "\xf3\xb0\xbc\x83" // U+F0F03 lasso +#define ICON_MD_LASTPASS "\xf3\xb0\x91\x86" // U+F0446 lastpass, tags: Brand / Logo +#define ICON_MD_LATITUDE "\xf3\xb0\xbd\x97" // U+F0F57 latitude, tags: Navigation, Geographic Information System +#define ICON_MD_LAUNCH "\xf3\xb0\x8c\xa7" // U+F0327 launch +#define ICON_MD_LAVA_LAMP "\xf3\xb0\x9f\x95" // U+F07D5 lava-lamp, tags: Home Automation +#define ICON_MD_LAYERS "\xf3\xb0\x8c\xa8" // U+F0328 layers, tags: Geographic Information System +#define ICON_MD_LAYERS_EDIT "\xf3\xb1\xa2\x92" // U+F1892 layers-edit, tags: Geographic Information System, Edit / Modify +#define ICON_MD_LAYERS_MINUS "\xf3\xb0\xb9\x8c" // U+F0E4C layers-minus, tags: Geographic Information System +#define ICON_MD_LAYERS_OFF "\xf3\xb0\x8c\xa9" // U+F0329 layers-off, aliases: layers-clear, tags: Geographic Information System +#define ICON_MD_LAYERS_OFF_OUTLINE "\xf3\xb0\xa7\xbd" // U+F09FD layers-off-outline, tags: Geographic Information System +#define ICON_MD_LAYERS_OUTLINE "\xf3\xb0\xa7\xbe" // U+F09FE layers-outline, tags: Geographic Information System +#define ICON_MD_LAYERS_PLUS "\xf3\xb0\xb9\x8d" // U+F0E4D layers-plus, tags: Geographic Information System +#define ICON_MD_LAYERS_REMOVE "\xf3\xb0\xb9\x8e" // U+F0E4E layers-remove, tags: Geographic Information System +#define ICON_MD_LAYERS_SEARCH "\xf3\xb1\x88\x86" // U+F1206 layers-search, tags: Geographic Information System +#define ICON_MD_LAYERS_SEARCH_OUTLINE "\xf3\xb1\x88\x87" // U+F1207 layers-search-outline, tags: Geographic Information System +#define ICON_MD_LAYERS_TRIPLE "\xf3\xb0\xbd\x98" // U+F0F58 layers-triple +#define ICON_MD_LAYERS_TRIPLE_OUTLINE "\xf3\xb0\xbd\x99" // U+F0F59 layers-triple-outline +#define ICON_MD_LEAD_PENCIL "\xf3\xb0\x99\x8f" // U+F064F lead-pencil, tags: Drawing / Art +#define ICON_MD_LEAF "\xf3\xb0\x8c\xaa" // U+F032A leaf, tags: Nature, Food / Drink, Agriculture +#define ICON_MD_LEAF_CIRCLE "\xf3\xb1\xa4\x85" // U+F1905 leaf-circle, aliases: green-circle, tags: Nature, Agriculture +#define ICON_MD_LEAF_CIRCLE_OUTLINE "\xf3\xb1\xa4\x86" // U+F1906 leaf-circle-outline, aliases: green-circle-outline, tags: Agriculture, Nature +#define ICON_MD_LEAF_MAPLE "\xf3\xb0\xb2\x93" // U+F0C93 leaf-maple, tags: Nature +#define ICON_MD_LEAF_MAPLE_OFF "\xf3\xb1\x8b\x9a" // U+F12DA leaf-maple-off, tags: Nature +#define ICON_MD_LEAF_OFF "\xf3\xb1\x8b\x99" // U+F12D9 leaf-off, tags: Nature, Food / Drink, Agriculture +#define ICON_MD_LEAK "\xf3\xb0\xb7\x97" // U+F0DD7 leak, aliases: proximity-sensor +#define ICON_MD_LEAK_OFF "\xf3\xb0\xb7\x98" // U+F0DD8 leak-off, aliases: proximity-sensor-off +#define ICON_MD_LECTERN "\xf3\xb1\xab\xb0" // U+F1AF0 lectern, aliases: podium, dais, rostrum, lecturn +#define ICON_MD_LED_OFF "\xf3\xb0\x8c\xab" // U+F032B led-off, tags: Home Automation +#define ICON_MD_LED_ON "\xf3\xb0\x8c\xac" // U+F032C led-on, tags: Home Automation +#define ICON_MD_LED_OUTLINE "\xf3\xb0\x8c\xad" // U+F032D led-outline, tags: Home Automation +#define ICON_MD_LED_STRIP "\xf3\xb0\x9f\x96" // U+F07D6 led-strip, aliases: light-strip, tags: Home Automation +#define ICON_MD_LED_STRIP_VARIANT "\xf3\xb1\x81\x91" // U+F1051 led-strip-variant, aliases: light-strip-variant, tags: Home Automation +#define ICON_MD_LED_STRIP_VARIANT_OFF "\xf3\xb1\xa9\x8b" // U+F1A4B led-strip-variant-off, aliases: light-strip-variant-off, tags: Home Automation +#define ICON_MD_LED_VARIANT_OFF "\xf3\xb0\x8c\xae" // U+F032E led-variant-off, tags: Home Automation +#define ICON_MD_LED_VARIANT_ON "\xf3\xb0\x8c\xaf" // U+F032F led-variant-on, tags: Home Automation +#define ICON_MD_LED_VARIANT_OUTLINE "\xf3\xb0\x8c\xb0" // U+F0330 led-variant-outline, tags: Home Automation +#define ICON_MD_LEEK "\xf3\xb1\x85\xbd" // U+F117D leek, tags: Food / Drink +#define ICON_MD_LESS_THAN "\xf3\xb0\xa5\xbc" // U+F097C less-than, tags: Math +#define ICON_MD_LESS_THAN_OR_EQUAL "\xf3\xb0\xa5\xbd" // U+F097D less-than-or-equal, tags: Math +#define ICON_MD_LIBRARY "\xf3\xb0\x8c\xb1" // U+F0331 library, aliases: local-library, tags: Places +#define ICON_MD_LIBRARY_OUTLINE "\xf3\xb1\xa8\xa2" // U+F1A22 library-outline, aliases: local-library-outline, tags: Places +#define ICON_MD_LIBRARY_SHELVES "\xf3\xb0\xae\xa9" // U+F0BA9 library-shelves +#define ICON_MD_LICENSE "\xf3\xb0\xbf\x83" // U+F0FC3 license, aliases: ribbon, prize, award, seal +#define ICON_MD_LIFEBUOY \ + "\xf3\xb0\xa1\xbe" // U+F087E lifebuoy, aliases: life-preserver, support, help, overboard, tags: Transportation + + // Water +#define ICON_MD_LIGHT_FLOOD_DOWN "\xf3\xb1\xa6\x87" // U+F1987 light-flood-down, aliases: floodlight-down, tags: Home Automation +#define ICON_MD_LIGHT_FLOOD_UP "\xf3\xb1\xa6\x88" // U+F1988 light-flood-up, aliases: floodlight-up, tags: Home Automation +#define ICON_MD_LIGHT_RECESSED \ + "\xf3\xb1\x9e\x9b" // U+F179B light-recessed, aliases: can-light, pot-light, high-hat-light, hi-hat-light, + // downlight, tags: Home Automation +#define ICON_MD_LIGHT_SWITCH "\xf3\xb0\xa5\xbe" // U+F097E light-switch, aliases: toggle-switch, rocker-switch, tags: Home Automation +#define ICON_MD_LIGHT_SWITCH_OFF "\xf3\xb1\xa8\xa4" // U+F1A24 light-switch-off, aliases: toggle-switch-off, rocker-switch-off, tags: Home Automation +#define ICON_MD_LIGHTBULB "\xf3\xb0\x8c\xb5" // U+F0335 lightbulb, aliases: idea, bulb, tags: Home Automation +#define ICON_MD_LIGHTBULB_ALERT "\xf3\xb1\xa7\xa1" // U+F19E1 lightbulb-alert, aliases: lightbulb-error, tags: Home Automation, Alert / Error +#define ICON_MD_LIGHTBULB_ALERT_OUTLINE \ + "\xf3\xb1\xa7\xa2" // U+F19E2 lightbulb-alert-outline, aliases: lightbulb-error-outline, tags: Home Automation, + // Alert / Error +#define ICON_MD_LIGHTBULB_AUTO "\xf3\xb1\xa0\x80" // U+F1800 lightbulb-auto, aliases: lightbulb-automatic, lightbulb-motion, tags: Home Automation +#define ICON_MD_LIGHTBULB_AUTO_OUTLINE \ + "\xf3\xb1\xa0\x81" // U+F1801 lightbulb-auto-outline, aliases: lightbulb-automatic-outline, + // lightbulb-motion-outline, tags: Home Automation +#define ICON_MD_LIGHTBULB_CFL "\xf3\xb1\x88\x88" // U+F1208 lightbulb-cfl, aliases: bulb-cfl, tags: Home Automation +#define ICON_MD_LIGHTBULB_CFL_OFF "\xf3\xb1\x88\x89" // U+F1209 lightbulb-cfl-off, aliases: bulb-cfl-off, tags: Home Automation +#define ICON_MD_LIGHTBULB_CFL_SPIRAL "\xf3\xb1\x89\xb5" // U+F1275 lightbulb-cfl-spiral, aliases: bulb-cfl-spiral, tags: Home Automation +#define ICON_MD_LIGHTBULB_CFL_SPIRAL_OFF "\xf3\xb1\x8b\x83" // U+F12C3 lightbulb-cfl-spiral-off, aliases: bulb-cfl-spiral-off, tags: Home Automation +#define ICON_MD_LIGHTBULB_FLUORESCENT_TUBE "\xf3\xb1\xa0\x84" // U+F1804 lightbulb-fluorescent-tube, tags: Home Automation +#define ICON_MD_LIGHTBULB_FLUORESCENT_TUBE_OUTLINE "\xf3\xb1\xa0\x85" // U+F1805 lightbulb-fluorescent-tube-outline, tags: Home Automation +#define ICON_MD_LIGHTBULB_GROUP "\xf3\xb1\x89\x93" // U+F1253 lightbulb-group, aliases: bulb-group, tags: Home Automation +#define ICON_MD_LIGHTBULB_GROUP_OFF "\xf3\xb1\x8b\x8d" // U+F12CD lightbulb-group-off, aliases: bulb-group-off, tags: Home Automation +#define ICON_MD_LIGHTBULB_GROUP_OFF_OUTLINE "\xf3\xb1\x8b\x8e" // U+F12CE lightbulb-group-off-outline, aliases: bulb-group-off-outline, tags: Home Automation +#define ICON_MD_LIGHTBULB_GROUP_OUTLINE "\xf3\xb1\x89\x94" // U+F1254 lightbulb-group-outline, aliases: bulb-group-outline, tags: Home Automation +#define ICON_MD_LIGHTBULB_MULTIPLE "\xf3\xb1\x89\x95" // U+F1255 lightbulb-multiple, aliases: lightbulbs, bulb-multiple, bulbs, tags: Home Automation +#define ICON_MD_LIGHTBULB_MULTIPLE_OFF \ + "\xf3\xb1\x8b\x8f" // U+F12CF lightbulb-multiple-off, aliases: lightbulbs-off, bulb-multiple-off, bulbs-off, tags: + // Home Automation +#define ICON_MD_LIGHTBULB_MULTIPLE_OFF_OUTLINE \ + "\xf3\xb1\x8b\x90" // U+F12D0 lightbulb-multiple-off-outline, aliases: lightbulbs-off-outline, + // bulb-multiple-off-outline, bulbs-off-outline, tags: Home Automation +#define ICON_MD_LIGHTBULB_MULTIPLE_OUTLINE \ + "\xf3\xb1\x89\x96" // U+F1256 lightbulb-multiple-outline, aliases: lightbulbs-outline, bulb-multiple-outline, + // bulbs-outline, tags: Home Automation +#define ICON_MD_LIGHTBULB_NIGHT \ + "\xf3\xb1\xa9\x8c" // U+F1A4C lightbulb-night, aliases: night-light, nite-light, lightbulb-moon-star, tags: Home + // Automation +#define ICON_MD_LIGHTBULB_NIGHT_OUTLINE \ + "\xf3\xb1\xa9\x8d" // U+F1A4D lightbulb-night-outline, aliases: night-light-outline, nite-light-outline, + // lightbulb-moon-star-outline, tags: Home Automation +#define ICON_MD_LIGHTBULB_OFF "\xf3\xb0\xb9\x8f" // U+F0E4F lightbulb-off, aliases: bulb-off, tags: Home Automation +#define ICON_MD_LIGHTBULB_OFF_OUTLINE "\xf3\xb0\xb9\x90" // U+F0E50 lightbulb-off-outline, aliases: bulb-off-outline, tags: Home Automation +#define ICON_MD_LIGHTBULB_ON "\xf3\xb0\x9b\xa8" // U+F06E8 lightbulb-on, aliases: idea, bulb-on, lightbulb-dimmer-100, tags: Home Automation +#define ICON_MD_LIGHTBULB_ON_10 "\xf3\xb1\xa9\x8e" // U+F1A4E lightbulb-on-10, aliases: lightbulb-dimmer-10, tags: Home Automation +#define ICON_MD_LIGHTBULB_ON_20 "\xf3\xb1\xa9\x8f" // U+F1A4F lightbulb-on-20, aliases: lightbulb-dimmer-20, tags: Home Automation +#define ICON_MD_LIGHTBULB_ON_30 "\xf3\xb1\xa9\x90" // U+F1A50 lightbulb-on-30, aliases: lightbulb-dimmer-30, tags: Home Automation +#define ICON_MD_LIGHTBULB_ON_40 "\xf3\xb1\xa9\x91" // U+F1A51 lightbulb-on-40, aliases: lightbulb-dimmer-40, tags: Home Automation +#define ICON_MD_LIGHTBULB_ON_50 "\xf3\xb1\xa9\x92" // U+F1A52 lightbulb-on-50, aliases: lightbulb-dimmer-50, tags: Home Automation +#define ICON_MD_LIGHTBULB_ON_60 "\xf3\xb1\xa9\x93" // U+F1A53 lightbulb-on-60, aliases: lightbulb-dimmer-60, tags: Home Automation +#define ICON_MD_LIGHTBULB_ON_70 "\xf3\xb1\xa9\x94" // U+F1A54 lightbulb-on-70, aliases: lightbulb-dimmer-70, tags: Home Automation +#define ICON_MD_LIGHTBULB_ON_80 "\xf3\xb1\xa9\x95" // U+F1A55 lightbulb-on-80, aliases: lightbulb-dimmer-80, tags: Home Automation +#define ICON_MD_LIGHTBULB_ON_90 "\xf3\xb1\xa9\x96" // U+F1A56 lightbulb-on-90, aliases: lightbulb-dimmer-90, tags: Home Automation +#define ICON_MD_LIGHTBULB_ON_OUTLINE "\xf3\xb0\x9b\xa9" // U+F06E9 lightbulb-on-outline, aliases: idea, bulb-on-outline, tags: Home Automation +#define ICON_MD_LIGHTBULB_OUTLINE "\xf3\xb0\x8c\xb6" // U+F0336 lightbulb-outline, aliases: idea, bulb-outline, tags: Home Automation +#define ICON_MD_LIGHTBULB_QUESTION "\xf3\xb1\xa7\xa3" // U+F19E3 lightbulb-question, aliases: lightbulb-help, tags: Home Automation +#define ICON_MD_LIGHTBULB_QUESTION_OUTLINE "\xf3\xb1\xa7\xa4" // U+F19E4 lightbulb-question-outline, aliases: lightbulb-help-outline, tags: Home Automation +#define ICON_MD_LIGHTBULB_SPOT "\xf3\xb1\x9f\xb4" // U+F17F4 lightbulb-spot, aliases: lightbulb-halogen, lightbulb-gu10, tags: Home Automation +#define ICON_MD_LIGHTBULB_SPOT_OFF \ + "\xf3\xb1\x9f\xb5" // U+F17F5 lightbulb-spot-off, aliases: lightbulb-halogen-off, lightbulb-gu10-off, tags: Home + // Automation +#define ICON_MD_LIGHTBULB_VARIANT \ + "\xf3\xb1\xa0\x82" // U+F1802 lightbulb-variant, aliases: lightbulb-edison, lightbulb-filament, tags: Home + // Automation +#define ICON_MD_LIGHTBULB_VARIANT_OUTLINE \ + "\xf3\xb1\xa0\x83" // U+F1803 lightbulb-variant-outline, aliases: lightbulb-edison-outline, + // lightbulb-filament-outline, tags: Home Automation +#define ICON_MD_LIGHTHOUSE "\xf3\xb0\xa7\xbf" // U+F09FF lighthouse, aliases: beacon +#define ICON_MD_LIGHTHOUSE_ON "\xf3\xb0\xa8\x80" // U+F0A00 lighthouse-on, aliases: beacon +#define ICON_MD_LIGHTNING_BOLT \ + "\xf3\xb1\x90\x8b" // U+F140B lightning-bolt, aliases: thunder, storm, energy, electricity, tags: Home Automation, + // Weather +#define ICON_MD_LIGHTNING_BOLT_CIRCLE \ + "\xf3\xb0\xa0\xa0" // U+F0820 lightning-bolt-circle, aliases: amp, offline-bolt, flash-circle, electricity-circle, + // energy-circle, thunder-circle, storm-circle, tags: Home Automation +#define ICON_MD_LIGHTNING_BOLT_OUTLINE \ + "\xf3\xb1\x90\x8c" // U+F140C lightning-bolt-outline, aliases: thunder-outline, storm-outline, energy-outline, + // electricity-outline, tags: Home Automation, Weather +#define ICON_MD_LINE_SCAN "\xf3\xb0\x98\xa4" // U+F0624 line-scan +#define ICON_MD_LINGERIE "\xf3\xb1\x91\xb6" // U+F1476 lingerie, aliases: underwear, bra, panties, tags: Clothing +#define ICON_MD_LINK "\xf3\xb0\x8c\xb7" // U+F0337 link, aliases: insert-link +#define ICON_MD_LINK_BOX "\xf3\xb0\xb4\x9a" // U+F0D1A link-box +#define ICON_MD_LINK_BOX_OUTLINE "\xf3\xb0\xb4\x9b" // U+F0D1B link-box-outline +#define ICON_MD_LINK_BOX_VARIANT "\xf3\xb0\xb4\x9c" // U+F0D1C link-box-variant +#define ICON_MD_LINK_BOX_VARIANT_OUTLINE "\xf3\xb0\xb4\x9d" // U+F0D1D link-box-variant-outline +#define ICON_MD_LINK_LOCK "\xf3\xb1\x82\xba" // U+F10BA link-lock, aliases: block-chain, tags: Lock +#define ICON_MD_LINK_OFF "\xf3\xb0\x8c\xb8" // U+F0338 link-off +#define ICON_MD_LINK_PLUS "\xf3\xb0\xb2\x94" // U+F0C94 link-plus, aliases: link-add +#define ICON_MD_LINK_VARIANT "\xf3\xb0\x8c\xb9" // U+F0339 link-variant +#define ICON_MD_LINK_VARIANT_MINUS "\xf3\xb1\x83\xbf" // U+F10FF link-variant-minus +#define ICON_MD_LINK_VARIANT_OFF "\xf3\xb0\x8c\xba" // U+F033A link-variant-off +#define ICON_MD_LINK_VARIANT_PLUS "\xf3\xb1\x84\x80" // U+F1100 link-variant-plus +#define ICON_MD_LINK_VARIANT_REMOVE "\xf3\xb1\x84\x81" // U+F1101 link-variant-remove +#define ICON_MD_LINKEDIN "\xf3\xb0\x8c\xbb" // U+F033B linkedin, tags: Brand / Logo, Social Media +#define ICON_MD_LINUX "\xf3\xb0\x8c\xbd" // U+F033D linux, aliases: tux, tags: Animal, Brand / Logo +#define ICON_MD_LINUX_MINT "\xf3\xb0\xa3\xad" // U+F08ED linux-mint, tags: Brand / Logo +#define ICON_MD_LIPSTICK "\xf3\xb1\x8e\xb5" // U+F13B5 lipstick, tags: Health / Beauty +#define ICON_MD_LIQUID_SPOT \ + "\xf3\xb1\xa0\xa6" // U+F1826 liquid-spot, aliases: ink-spot, puddle, water, blood, spill, oil, dirty, tags: + // Automotive, Medical / Hospital +#define ICON_MD_LIQUOR \ + "\xf3\xb1\xa4\x9e" // U+F191E liquor, aliases: booze, alcohol, beverages, whiskey, rum, wine, tequila, beer, + // spirits, tags: Food / Drink +#define ICON_MD_LIST_BOX "\xf3\xb1\xad\xbb" // U+F1B7B list-box, aliases: form +#define ICON_MD_LIST_BOX_OUTLINE "\xf3\xb1\xad\xbc" // U+F1B7C list-box-outline, aliases: form-outline +#define ICON_MD_LIST_STATUS "\xf3\xb1\x96\xab" // U+F15AB list-status, tags: Text / Content / Format +#define ICON_MD_LITECOIN "\xf3\xb0\xa9\xa1" // U+F0A61 litecoin, tags: Banking, Brand / Logo, Currency +#define ICON_MD_LOADING "\xf3\xb0\x9d\xb2" // U+F0772 loading +#define ICON_MD_LOCATION_ENTER "\xf3\xb0\xbf\x84" // U+F0FC4 location-enter, aliases: presence-enter, tags: Home Automation +#define ICON_MD_LOCATION_EXIT "\xf3\xb0\xbf\x85" // U+F0FC5 location-exit, aliases: presence-exit, tags: Home Automation +#define ICON_MD_LOCK \ + "\xf3\xb0\x8c\xbe" // U+F033E lock, aliases: https, password, secure, protected, encryption, tags: Lock, Home + // Automation, Automotive +#define ICON_MD_LOCK_ALERT \ + "\xf3\xb0\xa3\xae" // U+F08EE lock-alert, aliases: lock-warning, password-alert, encryption-alert, password-warning, + // encryption-warning, tags: Lock, Alert / Error, Home Automation +#define ICON_MD_LOCK_ALERT_OUTLINE \ + "\xf3\xb1\x97\x91" // U+F15D1 lock-alert-outline, aliases: lock-warning-outline, password-alert-outline, + // encryption-alert-outline, password-warning-outline, encryption-warning-outline, tags: Home + // Automation, Alert / Error, Lock +#define ICON_MD_LOCK_CHECK \ + "\xf3\xb1\x8e\x9a" // U+F139A lock-check, aliases: password-check, password-secure, encryption-check, + // encryption-secure, password-verified, encryption-verified, tags: Lock +#define ICON_MD_LOCK_CHECK_OUTLINE \ + "\xf3\xb1\x9a\xa8" // U+F16A8 lock-check-outline, aliases: password-check-outline, password-secure-outline, + // encryption-check-outline, encryption-secure-outline, password-verified-outline, + // encryption-verified-outline, tags: Lock +#define ICON_MD_LOCK_CLOCK \ + "\xf3\xb0\xa5\xbf" // U+F097F lock-clock, aliases: confidential-mode, password-clock, password-expiration, + // encryption-expiration, tags: Lock, Date / Time +#define ICON_MD_LOCK_MINUS "\xf3\xb1\x9a\xa9" // U+F16A9 lock-minus, aliases: password-minus, encryption-minus, tags: Lock +#define ICON_MD_LOCK_MINUS_OUTLINE "\xf3\xb1\x9a\xaa" // U+F16AA lock-minus-outline, aliases: password-minus-outline, encryption-minus, tags: Lock +#define ICON_MD_LOCK_OFF "\xf3\xb1\x99\xb1" // U+F1671 lock-off, aliases: password-off, not-protected, unsecure, encryption-off, tags: Lock +#define ICON_MD_LOCK_OFF_OUTLINE \ + "\xf3\xb1\x99\xb2" // U+F1672 lock-off-outline, aliases: password-off-outline, unsecure-outline, + // not-protected-outline, encryption-off-outline, tags: Lock +#define ICON_MD_LOCK_OPEN "\xf3\xb0\x8c\xbf" // U+F033F lock-open, aliases: unlocked, decrypted, tags: Lock, Home Automation, Automotive +#define ICON_MD_LOCK_OPEN_ALERT \ + "\xf3\xb1\x8e\x9b" // U+F139B lock-open-alert, aliases: unlocked-alert, decrypted-alert, lock-open-warning, + // unlocked-warning, decrypted-warning, tags: Alert / Error, Home Automation, Lock +#define ICON_MD_LOCK_OPEN_ALERT_OUTLINE \ + "\xf3\xb1\x97\x92" // U+F15D2 lock-open-alert-outline, aliases: unlocked-alert-outline, lock-open-warning-outline, + // decrypted-alert-outline, unlocked-warning-outline, decrypted-warning-outline, tags: Home + // Automation, Alert / Error, Lock +#define ICON_MD_LOCK_OPEN_CHECK "\xf3\xb1\x8e\x9c" // U+F139C lock-open-check, aliases: unlocked-check, decrypted-check, tags: Lock +#define ICON_MD_LOCK_OPEN_CHECK_OUTLINE \ + "\xf3\xb1\x9a\xab" // U+F16AB lock-open-check-outline, aliases: unlocked-check-outline, decrypted-check-outline, + // tags: Lock +#define ICON_MD_LOCK_OPEN_MINUS "\xf3\xb1\x9a\xac" // U+F16AC lock-open-minus, aliases: unlocked-minus, decrypted-minus, tags: Lock +#define ICON_MD_LOCK_OPEN_MINUS_OUTLINE \ + "\xf3\xb1\x9a\xad" // U+F16AD lock-open-minus-outline, aliases: unlocked-minus-outline, decrypted-minus-outline, + // tags: Lock +#define ICON_MD_LOCK_OPEN_OUTLINE \ + "\xf3\xb0\x8d\x80" // U+F0340 lock-open-outline, aliases: unlocked-outline, decrypted-outline, tags: Lock, Home + // Automation, Automotive +#define ICON_MD_LOCK_OPEN_PLUS \ + "\xf3\xb1\x9a\xae" // U+F16AE lock-open-plus, aliases: unlocked-plus, decrypted-plus, lock-open-add, unlocked-add, + // decrypted-add, tags: Lock +#define ICON_MD_LOCK_OPEN_PLUS_OUTLINE \ + "\xf3\xb1\x9a\xaf" // U+F16AF lock-open-plus-outline, aliases: unlocked-plus-outline, lock-open-add-outline, + // unlocked-add-outline, decrypted-plus-outline, decrypted-add-outline, tags: Lock +#define ICON_MD_LOCK_OPEN_REMOVE "\xf3\xb1\x9a\xb0" // U+F16B0 lock-open-remove, aliases: unlocked-remove, decrypted-remove, tags: Lock +#define ICON_MD_LOCK_OPEN_REMOVE_OUTLINE \ + "\xf3\xb1\x9a\xb1" // U+F16B1 lock-open-remove-outline, aliases: unlocked-remove-outline, decrypted-remove-outline, + // tags: Lock +#define ICON_MD_LOCK_OPEN_VARIANT \ + "\xf3\xb0\xbf\x86" // U+F0FC6 lock-open-variant, aliases: unlocked-variant, decrypted-variant, tags: Lock, Home + // Automation +#define ICON_MD_LOCK_OPEN_VARIANT_OUTLINE \ + "\xf3\xb0\xbf\x87" // U+F0FC7 lock-open-variant-outline, aliases: unlocked-variant-outline, + // decrypted-variant-outline, tags: Lock, Home Automation +#define ICON_MD_LOCK_OUTLINE \ + "\xf3\xb0\x8d\x81" // U+F0341 lock-outline, aliases: password-outline, secure-outline, https-outline, + // protected-outline, encryption-outline, tags: Lock, Home Automation, Automotive +#define ICON_MD_LOCK_PATTERN "\xf3\xb0\x9b\xaa" // U+F06EA lock-pattern +#define ICON_MD_LOCK_PLUS \ + "\xf3\xb0\x97\xbb" // U+F05FB lock-plus, aliases: enhanced-encryption, lock-add, encryption-add, password-add, + // password-plus, encryption-plus, tags: Lock +#define ICON_MD_LOCK_PLUS_OUTLINE \ + "\xf3\xb1\x9a\xb2" // U+F16B2 lock-plus-outline, aliases: lock-add-outline, password-plus-outline, + // password-add-outline, encryption-plus-outline, encryption-add-outline, tags: Lock +#define ICON_MD_LOCK_QUESTION \ + "\xf3\xb0\xa3\xaf" // U+F08EF lock-question, aliases: forgot-password, password-question, encryption-question, tags: + // Lock +#define ICON_MD_LOCK_REMOVE "\xf3\xb1\x9a\xb3" // U+F16B3 lock-remove, aliases: password-remove, encryption-remove, tags: Lock +#define ICON_MD_LOCK_REMOVE_OUTLINE \ + "\xf3\xb1\x9a\xb4" // U+F16B4 lock-remove-outline, aliases: password-remove-outline, encryption-remove-outline, + // tags: Lock +#define ICON_MD_LOCK_RESET "\xf3\xb0\x9d\xb3" // U+F0773 lock-reset, aliases: password-reset, encryption-reset, tags: Lock +#define ICON_MD_LOCK_SMART "\xf3\xb0\xa2\xb2" // U+F08B2 lock-smart, tags: Home Automation +#define ICON_MD_LOCKER "\xf3\xb0\x9f\x97" // U+F07D7 locker +#define ICON_MD_LOCKER_MULTIPLE "\xf3\xb0\x9f\x98" // U+F07D8 locker-multiple, aliases: lockers +#define ICON_MD_LOGIN "\xf3\xb0\x8d\x82" // U+F0342 login, aliases: log-in, sign-in +#define ICON_MD_LOGIN_VARIANT "\xf3\xb0\x97\xbc" // U+F05FC login-variant, aliases: log-in-variant, sign-in-variant +#define ICON_MD_LOGOUT "\xf3\xb0\x8d\x83" // U+F0343 logout, aliases: log-out, sign-out +#define ICON_MD_LOGOUT_VARIANT "\xf3\xb0\x97\xbd" // U+F05FD logout-variant, aliases: log-out-variant, sign-out-variant +#define ICON_MD_LONGITUDE "\xf3\xb0\xbd\x9a" // U+F0F5A longitude, tags: Navigation, Geographic Information System +#define ICON_MD_LOOKS "\xf3\xb0\x8d\x84" // U+F0344 looks, aliases: rainbow, tags: Weather, Color +#define ICON_MD_LOTION "\xf3\xb1\x96\x82" // U+F1582 lotion, tags: Medical / Hospital, Health / Beauty +#define ICON_MD_LOTION_OUTLINE "\xf3\xb1\x96\x83" // U+F1583 lotion-outline, tags: Medical / Hospital, Health / Beauty +#define ICON_MD_LOTION_PLUS "\xf3\xb1\x96\x84" // U+F1584 lotion-plus, aliases: hand-sanitizer, tags: Medical / Hospital +#define ICON_MD_LOTION_PLUS_OUTLINE "\xf3\xb1\x96\x85" // U+F1585 lotion-plus-outline, aliases: hand-sanitizer-outline, tags: Medical / Hospital +#define ICON_MD_LOUPE "\xf3\xb0\x8d\x85" // U+F0345 loupe, aliases: zoom-plus, circle-plus-outline, magnify +#define ICON_MD_LUMX "\xf3\xb0\x8d\x86" // U+F0346 lumx, tags: Brand / Logo +#define ICON_MD_LUNGS "\xf3\xb1\x82\x84" // U+F1084 lungs, tags: Medical / Hospital +#define ICON_MD_MACE "\xf3\xb1\xa1\x83" // U+F1843 mace, tags: Gaming / RPG +#define ICON_MD_MAGAZINE_PISTOL "\xf3\xb0\x8c\xa4" // U+F0324 magazine-pistol, aliases: ammunition-pistol +#define ICON_MD_MAGAZINE_RIFLE "\xf3\xb0\x8c\xa3" // U+F0323 magazine-rifle, aliases: ammunition-rifle +#define ICON_MD_MAGIC_STAFF "\xf3\xb1\xa1\x84" // U+F1844 magic-staff, aliases: staff-shimmer, magic-wand, tags: Gaming / RPG +#define ICON_MD_MAGNET "\xf3\xb0\x8d\x87" // U+F0347 magnet +#define ICON_MD_MAGNET_ON "\xf3\xb0\x8d\x88" // U+F0348 magnet-on +#define ICON_MD_MAGNIFY "\xf3\xb0\x8d\x89" // U+F0349 magnify, aliases: search, tags: Geographic Information System +#define ICON_MD_MAGNIFY_CLOSE "\xf3\xb0\xa6\x80" // U+F0980 magnify-close +#define ICON_MD_MAGNIFY_EXPAND "\xf3\xb1\xa1\xb4" // U+F1874 magnify-expand, aliases: search-expand, tags: Geographic Information System +#define ICON_MD_MAGNIFY_MINUS "\xf3\xb0\x8d\x8a" // U+F034A magnify-minus, aliases: zoom-out, search-minus +#define ICON_MD_MAGNIFY_MINUS_CURSOR "\xf3\xb0\xa9\xa2" // U+F0A62 magnify-minus-cursor, aliases: zoom-out-cursor +#define ICON_MD_MAGNIFY_MINUS_OUTLINE \ + "\xf3\xb0\x9b\xac" // U+F06EC magnify-minus-outline, aliases: zoom-out-outline, search-minus-outline, tags: + // Geographic Information System +#define ICON_MD_MAGNIFY_PLUS "\xf3\xb0\x8d\x8b" // U+F034B magnify-plus, aliases: zoom-in, magnify-add, search-plus, search-add +#define ICON_MD_MAGNIFY_PLUS_CURSOR "\xf3\xb0\xa9\xa3" // U+F0A63 magnify-plus-cursor, aliases: zoom-in-cursor, magnify-add-cursor +#define ICON_MD_MAGNIFY_PLUS_OUTLINE \ + "\xf3\xb0\x9b\xad" // U+F06ED magnify-plus-outline, aliases: zoom-in-outline, magnify-add-outline, + // search-plus-outline, search-add-outline, tags: Geographic Information System +#define ICON_MD_MAGNIFY_REMOVE_CURSOR "\xf3\xb1\x88\x8c" // U+F120C magnify-remove-cursor +#define ICON_MD_MAGNIFY_REMOVE_OUTLINE "\xf3\xb1\x88\x8d" // U+F120D magnify-remove-outline, tags: Geographic Information System +#define ICON_MD_MAGNIFY_SCAN "\xf3\xb1\x89\xb6" // U+F1276 magnify-scan +#define ICON_MD_MAIL "\xf3\xb0\xba\xbb" // U+F0EBB mail +#define ICON_MD_MAILBOX "\xf3\xb0\x9b\xae" // U+F06EE mailbox +#define ICON_MD_MAILBOX_OPEN "\xf3\xb0\xb6\x88" // U+F0D88 mailbox-open +#define ICON_MD_MAILBOX_OPEN_OUTLINE "\xf3\xb0\xb6\x89" // U+F0D89 mailbox-open-outline +#define ICON_MD_MAILBOX_OPEN_UP "\xf3\xb0\xb6\x8a" // U+F0D8A mailbox-open-up +#define ICON_MD_MAILBOX_OPEN_UP_OUTLINE "\xf3\xb0\xb6\x8b" // U+F0D8B mailbox-open-up-outline +#define ICON_MD_MAILBOX_OUTLINE "\xf3\xb0\xb6\x8c" // U+F0D8C mailbox-outline +#define ICON_MD_MAILBOX_UP "\xf3\xb0\xb6\x8d" // U+F0D8D mailbox-up +#define ICON_MD_MAILBOX_UP_OUTLINE "\xf3\xb0\xb6\x8e" // U+F0D8E mailbox-up-outline +#define ICON_MD_MANJARO "\xf3\xb1\x98\x8a" // U+F160A manjaro, tags: Brand / Logo +#define ICON_MD_MAP "\xf3\xb0\x8d\x8d" // U+F034D map, tags: Navigation, Geographic Information System +#define ICON_MD_MAP_CHECK "\xf3\xb0\xba\xbc" // U+F0EBC map-check, aliases: map-tick, tags: Navigation, Geographic Information System +#define ICON_MD_MAP_CHECK_OUTLINE \ + "\xf3\xb0\xba\xbd" // U+F0EBD map-check-outline, aliases: map-tick-outline, tags: Navigation, Geographic Information + // System +#define ICON_MD_MAP_CLOCK \ + "\xf3\xb0\xb4\x9e" // U+F0D1E map-clock, aliases: timezone, tags: Navigation, Geographic Information System, Date / + // Time +#define ICON_MD_MAP_CLOCK_OUTLINE \ + "\xf3\xb0\xb4\x9f" // U+F0D1F map-clock-outline, aliases: timezone-outline, tags: Navigation, Geographic Information + // System, Date / Time +#define ICON_MD_MAP_LEGEND "\xf3\xb0\xa8\x81" // U+F0A01 map-legend, tags: Navigation, Geographic Information System +#define ICON_MD_MAP_MARKER \ + "\xf3\xb0\x8d\x8e" // U+F034E map-marker, aliases: location, address-marker, location-on, place, room, tags: + // Navigation, Geographic Information System +#define ICON_MD_MAP_MARKER_ACCOUNT "\xf3\xb1\xa3\xa3" // U+F18E3 map-marker-account, tags: Navigation, Account / User +#define ICON_MD_MAP_MARKER_ACCOUNT_OUTLINE "\xf3\xb1\xa3\xa4" // U+F18E4 map-marker-account-outline, tags: Navigation, Account / User +#define ICON_MD_MAP_MARKER_ALERT \ + "\xf3\xb0\xbc\x85" // U+F0F05 map-marker-alert, aliases: location-alert, location-warning, tags: Navigation, Alert / + // Error, Geographic Information System +#define ICON_MD_MAP_MARKER_ALERT_OUTLINE \ + "\xf3\xb0\xbc\x86" // U+F0F06 map-marker-alert-outline, aliases: location-alert-outline, location-warning-outline, + // tags: Navigation, Alert / Error, Geographic Information System +#define ICON_MD_MAP_MARKER_CHECK \ + "\xf3\xb0\xb2\x95" // U+F0C95 map-marker-check, aliases: map-marker-tick, where-to-vote, location-check, tags: + // Navigation, Geographic Information System +#define ICON_MD_MAP_MARKER_CHECK_OUTLINE \ + "\xf3\xb1\x8b\xbb" // U+F12FB map-marker-check-outline, aliases: location-check-outline, where-to-vote-outline, + // tags: Navigation, Geographic Information System +#define ICON_MD_MAP_MARKER_CIRCLE \ + "\xf3\xb0\x8d\x8f" // U+F034F map-marker-circle, aliases: explore-nearby, location-circle, tags: Navigation, + // Geographic Information System +#define ICON_MD_MAP_MARKER_DISTANCE \ + "\xf3\xb0\xa3\xb0" // U+F08F0 map-marker-distance, aliases: location-distance, tags: Navigation, Geographic + // Information System +#define ICON_MD_MAP_MARKER_DOWN \ + "\xf3\xb1\x84\x82" // U+F1102 map-marker-down, aliases: location-down, tags: Navigation, Geographic Information + // System +#define ICON_MD_MAP_MARKER_LEFT \ + "\xf3\xb1\x8b\x9b" // U+F12DB map-marker-left, aliases: location-left, tags: Navigation, Geographic Information + // System +#define ICON_MD_MAP_MARKER_LEFT_OUTLINE \ + "\xf3\xb1\x8b\x9d" // U+F12DD map-marker-left-outline, aliases: location-left-outline, tags: Navigation, Geographic + // Information System +#define ICON_MD_MAP_MARKER_MINUS \ + "\xf3\xb0\x99\x90" // U+F0650 map-marker-minus, aliases: location-minus, tags: Navigation, Geographic Information + // System +#define ICON_MD_MAP_MARKER_MINUS_OUTLINE \ + "\xf3\xb1\x8b\xb9" // U+F12F9 map-marker-minus-outline, aliases: location-minus-outline, tags: Geographic + // Information System, Navigation +#define ICON_MD_MAP_MARKER_MULTIPLE \ + "\xf3\xb0\x8d\x90" // U+F0350 map-marker-multiple, aliases: map-markers, location-multiple, locations, tags: + // Navigation, Geographic Information System +#define ICON_MD_MAP_MARKER_MULTIPLE_OUTLINE \ + "\xf3\xb1\x89\xb7" // U+F1277 map-marker-multiple-outline, aliases: locations-outline, location-multiple-outline, + // map-markers-outline, tags: Navigation, Geographic Information System +#define ICON_MD_MAP_MARKER_OFF "\xf3\xb0\x8d\x91" // U+F0351 map-marker-off, aliases: location-off, tags: Navigation, Geographic Information System +#define ICON_MD_MAP_MARKER_OFF_OUTLINE \ + "\xf3\xb1\x8b\xbd" // U+F12FD map-marker-off-outline, aliases: location-off-outline, tags: Navigation, Geographic + // Information System +#define ICON_MD_MAP_MARKER_OUTLINE \ + "\xf3\xb0\x9f\x99" // U+F07D9 map-marker-outline, aliases: location-outline, address-marker-outline, + // location-on-outline, place-outline, tags: Navigation, Geographic Information System +#define ICON_MD_MAP_MARKER_PATH \ + "\xf3\xb0\xb4\xa0" // U+F0D20 map-marker-path, aliases: location-path, tags: Navigation, Geographic Information + // System +#define ICON_MD_MAP_MARKER_PLUS \ + "\xf3\xb0\x99\x91" // U+F0651 map-marker-plus, aliases: location-plus, map-marker-add, location-add, tags: + // Navigation, Geographic Information System +#define ICON_MD_MAP_MARKER_PLUS_OUTLINE \ + "\xf3\xb1\x8b\xb8" // U+F12F8 map-marker-plus-outline, aliases: map-marker-add-outline, location-plus-outline, + // location-add-outline, tags: Geographic Information System, Navigation +#define ICON_MD_MAP_MARKER_QUESTION \ + "\xf3\xb0\xbc\x87" // U+F0F07 map-marker-question, aliases: location-question, tags: Navigation, Geographic + // Information System +#define ICON_MD_MAP_MARKER_QUESTION_OUTLINE \ + "\xf3\xb0\xbc\x88" // U+F0F08 map-marker-question-outline, aliases: location-question-outline, tags: Navigation, + // Geographic Information System +#define ICON_MD_MAP_MARKER_RADIUS \ + "\xf3\xb0\x8d\x92" // U+F0352 map-marker-radius, aliases: location-radius, tags: Navigation, Geographic Information + // System, Home Automation +#define ICON_MD_MAP_MARKER_RADIUS_OUTLINE \ + "\xf3\xb1\x8b\xbc" // U+F12FC map-marker-radius-outline, aliases: location-radius-outline, tags: Navigation, + // Geographic Information System, Home Automation +#define ICON_MD_MAP_MARKER_REMOVE \ + "\xf3\xb0\xbc\x89" // U+F0F09 map-marker-remove, aliases: location-remove, tags: Navigation, Geographic Information + // System +#define ICON_MD_MAP_MARKER_REMOVE_OUTLINE \ + "\xf3\xb1\x8b\xba" // U+F12FA map-marker-remove-outline, aliases: location-remove-outline, tags: Geographic + // Information System, Navigation +#define ICON_MD_MAP_MARKER_REMOVE_VARIANT \ + "\xf3\xb0\xbc\x8a" // U+F0F0A map-marker-remove-variant, aliases: location-remove-variant-outline, tags: Navigation, + // Geographic Information System +#define ICON_MD_MAP_MARKER_RIGHT \ + "\xf3\xb1\x8b\x9c" // U+F12DC map-marker-right, aliases: location-right, tags: Navigation, Geographic Information + // System +#define ICON_MD_MAP_MARKER_RIGHT_OUTLINE \ + "\xf3\xb1\x8b\x9e" // U+F12DE map-marker-right-outline, aliases: location-right-outline, tags: Navigation, + // Geographic Information System +#define ICON_MD_MAP_MARKER_STAR \ + "\xf3\xb1\x98\x88" // U+F1608 map-marker-star, aliases: map-marker-favorite, location-star, location-favorite, tags: + // Navigation +#define ICON_MD_MAP_MARKER_STAR_OUTLINE \ + "\xf3\xb1\x98\x89" // U+F1609 map-marker-star-outline, aliases: map-marker-favorite-outline, location-star-outline, + // location-favorite-outline, tags: Navigation +#define ICON_MD_MAP_MARKER_UP "\xf3\xb1\x84\x83" // U+F1103 map-marker-up, aliases: location-up, tags: Navigation, Geographic Information System +#define ICON_MD_MAP_MINUS "\xf3\xb0\xa6\x81" // U+F0981 map-minus, tags: Navigation, Geographic Information System +#define ICON_MD_MAP_OUTLINE "\xf3\xb0\xa6\x82" // U+F0982 map-outline, tags: Navigation, Geographic Information System +#define ICON_MD_MAP_PLUS "\xf3\xb0\xa6\x83" // U+F0983 map-plus, aliases: map-add, tags: Navigation, Geographic Information System +#define ICON_MD_MAP_SEARCH "\xf3\xb0\xa6\x84" // U+F0984 map-search, tags: Navigation, Geographic Information System +#define ICON_MD_MAP_SEARCH_OUTLINE "\xf3\xb0\xa6\x85" // U+F0985 map-search-outline, tags: Navigation, Geographic Information System +#define ICON_MD_MAPBOX "\xf3\xb0\xae\xaa" // U+F0BAA mapbox, tags: Brand / Logo +#define ICON_MD_MARGIN "\xf3\xb0\x8d\x93" // U+F0353 margin +#define ICON_MD_MARKER "\xf3\xb0\x99\x92" // U+F0652 marker, aliases: highlighter, tags: Text / Content / Format +#define ICON_MD_MARKER_CANCEL "\xf3\xb0\xb7\x99" // U+F0DD9 marker-cancel, tags: Text / Content / Format +#define ICON_MD_MARKER_CHECK "\xf3\xb0\x8d\x95" // U+F0355 marker-check, aliases: beenhere, marker-tick +#define ICON_MD_MASTODON "\xf3\xb0\xab\x91" // U+F0AD1 mastodon, tags: Brand / Logo +#define ICON_MD_MATERIAL_DESIGN "\xf3\xb0\xa6\x86" // U+F0986 material-design, tags: Brand / Logo +#define ICON_MD_MATERIAL_UI "\xf3\xb0\x8d\x97" // U+F0357 material-ui, tags: Brand / Logo +#define ICON_MD_MATH_COMPASS "\xf3\xb0\x8d\x98" // U+F0358 math-compass, aliases: maths-compass, tags: Math, Drawing / Art, Navigation +#define ICON_MD_MATH_COS "\xf3\xb0\xb2\x96" // U+F0C96 math-cos, aliases: math-cosine, maths-cos, tags: Math +#define ICON_MD_MATH_INTEGRAL "\xf3\xb0\xbf\x88" // U+F0FC8 math-integral, tags: Math +#define ICON_MD_MATH_INTEGRAL_BOX "\xf3\xb0\xbf\x89" // U+F0FC9 math-integral-box, tags: Math +#define ICON_MD_MATH_LOG "\xf3\xb1\x82\x85" // U+F1085 math-log, tags: Math +#define ICON_MD_MATH_NORM "\xf3\xb0\xbf\x8a" // U+F0FCA math-norm, aliases: code-or, parallel, tags: Math, Developer / Languages +#define ICON_MD_MATH_NORM_BOX "\xf3\xb0\xbf\x8b" // U+F0FCB math-norm-box, aliases: code-or-box, parallel-box, tags: Math, Developer / Languages +#define ICON_MD_MATH_SIN "\xf3\xb0\xb2\x97" // U+F0C97 math-sin, aliases: math-sine, maths-sin, tags: Math +#define ICON_MD_MATH_TAN "\xf3\xb0\xb2\x98" // U+F0C98 math-tan, aliases: math-tangent, maths-tan, tags: Math +#define ICON_MD_MATRIX "\xf3\xb0\x98\xa8" // U+F0628 matrix +#define ICON_MD_MEDAL "\xf3\xb0\xa6\x87" // U+F0987 medal, aliases: award, tags: Gaming / RPG, Sport +#define ICON_MD_MEDAL_OUTLINE "\xf3\xb1\x8c\xa6" // U+F1326 medal-outline, tags: Sport +#define ICON_MD_MEDICAL_BAG "\xf3\xb0\x9b\xaf" // U+F06EF medical-bag, aliases: first-aid-kit, medicine, tags: Medical / Hospital +#define ICON_MD_MEDICAL_COTTON_SWAB "\xf3\xb1\xaa\xb8" // U+F1AB8 medical-cotton-swab, aliases: covid-test, medicine, tags: Medical / Hospital +#define ICON_MD_MEDICATION \ + "\xf3\xb1\xac\x94" // U+F1B14 medication, aliases: pill-bottle, medicine-bottle, bottle-plus, tags: Health / Beauty, + // Medical / Hospital +#define ICON_MD_MEDICATION_OUTLINE \ + "\xf3\xb1\xac\x95" // U+F1B15 medication-outline, aliases: pill-bottle-outline, medicine-bottle-outline, + // bottle-plus-outline, tags: Health / Beauty, Medical / Hospital +#define ICON_MD_MEDITATION "\xf3\xb1\x85\xbb" // U+F117B meditation, aliases: human-meditation, tags: Sport, People / Family +#define ICON_MD_MEMORY "\xf3\xb0\x8d\x9b" // U+F035B memory, aliases: chip +#define ICON_MD_MENORAH "\xf3\xb1\x9f\x94" // U+F17D4 menorah, aliases: candelabrum, candelabra, candle, tags: Religion, Holiday +#define ICON_MD_MENORAH_FIRE \ + "\xf3\xb1\x9f\x95" // U+F17D5 menorah-fire, aliases: menorah-flame, candle-flame, candelabra-flame, candelabra-fire, + // candle-fire, candelabrum-fire, candelabrum-flame, tags: Religion, Holiday +#define ICON_MD_MENU "\xf3\xb0\x8d\x9c" // U+F035C menu, aliases: hamburger-menu +#define ICON_MD_MENU_DOWN "\xf3\xb0\x8d\x9d" // U+F035D menu-down, aliases: arrow-drop-down, caret-down, tags: Arrow +#define ICON_MD_MENU_DOWN_OUTLINE "\xf3\xb0\x9a\xb6" // U+F06B6 menu-down-outline, aliases: caret-down-outline, tags: Arrow +#define ICON_MD_MENU_LEFT "\xf3\xb0\x8d\x9e" // U+F035E menu-left, aliases: arrow-left, tags: Arrow +#define ICON_MD_MENU_LEFT_OUTLINE "\xf3\xb0\xa8\x82" // U+F0A02 menu-left-outline +#define ICON_MD_MENU_OPEN "\xf3\xb0\xae\xab" // U+F0BAB menu-open +#define ICON_MD_MENU_RIGHT "\xf3\xb0\x8d\x9f" // U+F035F menu-right, aliases: arrow-right, tags: Arrow +#define ICON_MD_MENU_RIGHT_OUTLINE "\xf3\xb0\xa8\x83" // U+F0A03 menu-right-outline +#define ICON_MD_MENU_SWAP "\xf3\xb0\xa9\xa4" // U+F0A64 menu-swap, tags: Arrow +#define ICON_MD_MENU_SWAP_OUTLINE "\xf3\xb0\xa9\xa5" // U+F0A65 menu-swap-outline, tags: Arrow +#define ICON_MD_MENU_UP "\xf3\xb0\x8d\xa0" // U+F0360 menu-up, aliases: arrow-drop-up, caret-up, tags: Arrow +#define ICON_MD_MENU_UP_OUTLINE "\xf3\xb0\x9a\xb7" // U+F06B7 menu-up-outline, aliases: caret-up-outline, tags: Arrow +#define ICON_MD_MERGE "\xf3\xb0\xbd\x9c" // U+F0F5C merge +#define ICON_MD_MESSAGE "\xf3\xb0\x8d\xa1" // U+F0361 message, aliases: chat-bubble +#define ICON_MD_MESSAGE_ALERT \ + "\xf3\xb0\x8d\xa2" // U+F0362 message-alert, aliases: feedback, message-warning, announcement, sms-failed, tags: + // Alert / Error +#define ICON_MD_MESSAGE_ALERT_OUTLINE \ + "\xf3\xb0\xa8\x84" // U+F0A04 message-alert-outline, aliases: announcement-outline, feedback-outline, + // message-warning-outline, sms-failed-outline, tags: Alert / Error +#define ICON_MD_MESSAGE_ARROW_LEFT "\xf3\xb1\x8b\xb2" // U+F12F2 message-arrow-left +#define ICON_MD_MESSAGE_ARROW_LEFT_OUTLINE "\xf3\xb1\x8b\xb3" // U+F12F3 message-arrow-left-outline +#define ICON_MD_MESSAGE_ARROW_RIGHT "\xf3\xb1\x8b\xb4" // U+F12F4 message-arrow-right +#define ICON_MD_MESSAGE_ARROW_RIGHT_OUTLINE "\xf3\xb1\x8b\xb5" // U+F12F5 message-arrow-right-outline +#define ICON_MD_MESSAGE_BADGE "\xf3\xb1\xa5\x81" // U+F1941 message-badge, aliases: message-unread, message-notification, tags: Notification +#define ICON_MD_MESSAGE_BADGE_OUTLINE \ + "\xf3\xb1\xa5\x82" // U+F1942 message-badge-outline, aliases: message-unread-outline, message-notification-outline, + // tags: Notification +#define ICON_MD_MESSAGE_BOOKMARK "\xf3\xb1\x96\xac" // U+F15AC message-bookmark +#define ICON_MD_MESSAGE_BOOKMARK_OUTLINE "\xf3\xb1\x96\xad" // U+F15AD message-bookmark-outline +#define ICON_MD_MESSAGE_BULLETED "\xf3\xb0\x9a\xa2" // U+F06A2 message-bulleted, aliases: speaker-notes +#define ICON_MD_MESSAGE_BULLETED_OFF "\xf3\xb0\x9a\xa3" // U+F06A3 message-bulleted-off, aliases: speaker-notes-off +#define ICON_MD_MESSAGE_CHECK "\xf3\xb1\xae\x8a" // U+F1B8A message-check +#define ICON_MD_MESSAGE_CHECK_OUTLINE "\xf3\xb1\xae\x8b" // U+F1B8B message-check-outline +#define ICON_MD_MESSAGE_COG "\xf3\xb0\x9b\xb1" // U+F06F1 message-cog, tags: Settings +#define ICON_MD_MESSAGE_COG_OUTLINE "\xf3\xb1\x85\xb2" // U+F1172 message-cog-outline, tags: Settings +#define ICON_MD_MESSAGE_DRAW "\xf3\xb0\x8d\xa3" // U+F0363 message-draw, aliases: rate-review +#define ICON_MD_MESSAGE_FAST "\xf3\xb1\xa7\x8c" // U+F19CC message-fast +#define ICON_MD_MESSAGE_FAST_OUTLINE "\xf3\xb1\xa7\x8d" // U+F19CD message-fast-outline +#define ICON_MD_MESSAGE_FLASH "\xf3\xb1\x96\xa9" // U+F15A9 message-flash, aliases: message-quick +#define ICON_MD_MESSAGE_FLASH_OUTLINE "\xf3\xb1\x96\xaa" // U+F15AA message-flash-outline, aliases: message-quick-outline +#define ICON_MD_MESSAGE_IMAGE "\xf3\xb0\x8d\xa4" // U+F0364 message-image, aliases: mms +#define ICON_MD_MESSAGE_IMAGE_OUTLINE "\xf3\xb1\x85\xac" // U+F116C message-image-outline +#define ICON_MD_MESSAGE_LOCK "\xf3\xb0\xbf\x8c" // U+F0FCC message-lock, aliases: message-secure, tags: Lock +#define ICON_MD_MESSAGE_LOCK_OUTLINE "\xf3\xb1\x85\xad" // U+F116D message-lock-outline, tags: Lock +#define ICON_MD_MESSAGE_MINUS "\xf3\xb1\x85\xae" // U+F116E message-minus +#define ICON_MD_MESSAGE_MINUS_OUTLINE "\xf3\xb1\x85\xaf" // U+F116F message-minus-outline +#define ICON_MD_MESSAGE_OFF "\xf3\xb1\x99\x8d" // U+F164D message-off +#define ICON_MD_MESSAGE_OFF_OUTLINE "\xf3\xb1\x99\x8e" // U+F164E message-off-outline +#define ICON_MD_MESSAGE_OUTLINE "\xf3\xb0\x8d\xa5" // U+F0365 message-outline, aliases: chat-bubble-outline +#define ICON_MD_MESSAGE_PLUS "\xf3\xb0\x99\x93" // U+F0653 message-plus, aliases: message-add +#define ICON_MD_MESSAGE_PLUS_OUTLINE "\xf3\xb1\x82\xbb" // U+F10BB message-plus-outline +#define ICON_MD_MESSAGE_PROCESSING "\xf3\xb0\x8d\xa6" // U+F0366 message-processing, aliases: sms, textsms +#define ICON_MD_MESSAGE_PROCESSING_OUTLINE "\xf3\xb1\x85\xb0" // U+F1170 message-processing-outline +#define ICON_MD_MESSAGE_QUESTION "\xf3\xb1\x9c\xba" // U+F173A message-question +#define ICON_MD_MESSAGE_QUESTION_OUTLINE "\xf3\xb1\x9c\xbb" // U+F173B message-question-outline +#define ICON_MD_MESSAGE_REPLY "\xf3\xb0\x8d\xa7" // U+F0367 message-reply, aliases: mode-comment +#define ICON_MD_MESSAGE_REPLY_OUTLINE "\xf3\xb1\x9c\xbd" // U+F173D message-reply-outline +#define ICON_MD_MESSAGE_REPLY_TEXT "\xf3\xb0\x8d\xa8" // U+F0368 message-reply-text, aliases: comment, insert-comment +#define ICON_MD_MESSAGE_REPLY_TEXT_OUTLINE "\xf3\xb1\x9c\xbe" // U+F173E message-reply-text-outline +#define ICON_MD_MESSAGE_SETTINGS "\xf3\xb0\x9b\xb0" // U+F06F0 message-settings, tags: Settings +#define ICON_MD_MESSAGE_SETTINGS_OUTLINE "\xf3\xb1\x85\xb1" // U+F1171 message-settings-outline, tags: Settings +#define ICON_MD_MESSAGE_STAR "\xf3\xb0\x9a\x9a" // U+F069A message-star +#define ICON_MD_MESSAGE_STAR_OUTLINE "\xf3\xb1\x89\x90" // U+F1250 message-star-outline +#define ICON_MD_MESSAGE_TEXT "\xf3\xb0\x8d\xa9" // U+F0369 message-text, aliases: chat +#define ICON_MD_MESSAGE_TEXT_CLOCK "\xf3\xb1\x85\xb3" // U+F1173 message-text-clock, tags: Date / Time +#define ICON_MD_MESSAGE_TEXT_CLOCK_OUTLINE "\xf3\xb1\x85\xb4" // U+F1174 message-text-clock-outline, tags: Date / Time +#define ICON_MD_MESSAGE_TEXT_FAST "\xf3\xb1\xa7\x8e" // U+F19CE message-text-fast +#define ICON_MD_MESSAGE_TEXT_FAST_OUTLINE "\xf3\xb1\xa7\x8f" // U+F19CF message-text-fast-outline +#define ICON_MD_MESSAGE_TEXT_LOCK "\xf3\xb0\xbf\x8d" // U+F0FCD message-text-lock, aliases: message-text-secure, tags: Lock +#define ICON_MD_MESSAGE_TEXT_LOCK_OUTLINE "\xf3\xb1\x85\xb5" // U+F1175 message-text-lock-outline, tags: Lock +#define ICON_MD_MESSAGE_TEXT_OUTLINE "\xf3\xb0\x8d\xaa" // U+F036A message-text-outline +#define ICON_MD_MESSAGE_VIDEO "\xf3\xb0\x8d\xab" // U+F036B message-video, aliases: voice-chat, tags: Video / Movie +#define ICON_MD_METEOR "\xf3\xb0\x98\xa9" // U+F0629 meteor, tags: Brand / Logo +#define ICON_MD_METER_ELECTRIC "\xf3\xb1\xa9\x97" // U+F1A57 meter-electric, aliases: power-meter, electricity, tags: Home Automation +#define ICON_MD_METER_ELECTRIC_OUTLINE \ + "\xf3\xb1\xa9\x98" // U+F1A58 meter-electric-outline, aliases: power-meter-outline, electricity-outline, tags: Home + // Automation +#define ICON_MD_METER_GAS "\xf3\xb1\xa9\x99" // U+F1A59 meter-gas, aliases: natural-gas, tags: Home Automation +#define ICON_MD_METER_GAS_OUTLINE "\xf3\xb1\xa9\x9a" // U+F1A5A meter-gas-outline, aliases: natural-gas-outline, tags: Home Automation +#define ICON_MD_METRONOME "\xf3\xb0\x9f\x9a" // U+F07DA metronome, aliases: tempo, bpm, beats-per-minute, tags: Music +#define ICON_MD_METRONOME_TICK "\xf3\xb0\x9f\x9b" // U+F07DB metronome-tick, aliases: tempo-tick, bpm-tick, beats-per-minute-tick, tags: Music +#define ICON_MD_MICRO_SD "\xf3\xb0\x9f\x9c" // U+F07DC micro-sd +#define ICON_MD_MICROPHONE "\xf3\xb0\x8d\xac" // U+F036C microphone, aliases: keyboard-voice, tags: Music +#define ICON_MD_MICROPHONE_MESSAGE "\xf3\xb0\x94\x8a" // U+F050A microphone-message, aliases: tts, text-to-speech +#define ICON_MD_MICROPHONE_MESSAGE_OFF "\xf3\xb0\x94\x8b" // U+F050B microphone-message-off, aliases: tts-off, text-to-speech-off +#define ICON_MD_MICROPHONE_MINUS "\xf3\xb0\xa2\xb3" // U+F08B3 microphone-minus, aliases: microphone-remove +#define ICON_MD_MICROPHONE_OFF "\xf3\xb0\x8d\xad" // U+F036D microphone-off, aliases: mic-off, tags: Music +#define ICON_MD_MICROPHONE_OUTLINE "\xf3\xb0\x8d\xae" // U+F036E microphone-outline, aliases: mic-none, tags: Music +#define ICON_MD_MICROPHONE_PLUS "\xf3\xb0\xa2\xb4" // U+F08B4 microphone-plus, aliases: microphone-add +#define ICON_MD_MICROPHONE_QUESTION "\xf3\xb1\xa6\x89" // U+F1989 microphone-question, aliases: microphone-help, tags: Audio, Music +#define ICON_MD_MICROPHONE_QUESTION_OUTLINE "\xf3\xb1\xa6\x8a" // U+F198A microphone-question-outline, aliases: microphone-help-outline, tags: Audio, Music +#define ICON_MD_MICROPHONE_SETTINGS "\xf3\xb0\x8d\xaf" // U+F036F microphone-settings, aliases: settings-voice, tags: Settings +#define ICON_MD_MICROPHONE_VARIANT "\xf3\xb0\x8d\xb0" // U+F0370 microphone-variant, tags: Music +#define ICON_MD_MICROPHONE_VARIANT_OFF "\xf3\xb0\x8d\xb1" // U+F0371 microphone-variant-off, tags: Music +#define ICON_MD_MICROSCOPE "\xf3\xb0\x99\x94" // U+F0654 microscope, tags: Science +#define ICON_MD_MICROSOFT "\xf3\xb0\x8d\xb2" // U+F0372 microsoft, tags: Brand / Logo +#define ICON_MD_MICROSOFT_ACCESS "\xf3\xb1\x8e\x8e" // U+F138E microsoft-access, tags: Brand / Logo +#define ICON_MD_MICROSOFT_AZURE "\xf3\xb0\xa0\x85" // U+F0805 microsoft-azure, tags: Brand / Logo +#define ICON_MD_MICROSOFT_AZURE_DEVOPS "\xf3\xb0\xbf\x95" // U+F0FD5 microsoft-azure-devops, tags: Brand / Logo +#define ICON_MD_MICROSOFT_BING "\xf3\xb0\x82\xa4" // U+F00A4 microsoft-bing, tags: Brand / Logo +#define ICON_MD_MICROSOFT_DYNAMICS_365 "\xf3\xb0\xa6\x88" // U+F0988 microsoft-dynamics-365, tags: Brand / Logo +#define ICON_MD_MICROSOFT_EDGE "\xf3\xb0\x87\xa9" // U+F01E9 microsoft-edge, aliases: microsoft-edge, tags: Brand / Logo +#define ICON_MD_MICROSOFT_EXCEL "\xf3\xb1\x8e\x8f" // U+F138F microsoft-excel, tags: Brand / Logo +#define ICON_MD_MICROSOFT_INTERNET_EXPLORER "\xf3\xb0\x8c\x80" // U+F0300 microsoft-internet-explorer, tags: Brand / Logo +#define ICON_MD_MICROSOFT_OFFICE "\xf3\xb0\x8f\x86" // U+F03C6 microsoft-office, tags: Brand / Logo +#define ICON_MD_MICROSOFT_ONEDRIVE "\xf3\xb0\x8f\x8a" // U+F03CA microsoft-onedrive, tags: Brand / Logo +#define ICON_MD_MICROSOFT_ONENOTE "\xf3\xb0\x9d\x87" // U+F0747 microsoft-onenote, tags: Brand / Logo +#define ICON_MD_MICROSOFT_OUTLOOK "\xf3\xb0\xb4\xa2" // U+F0D22 microsoft-outlook, tags: Brand / Logo +#define ICON_MD_MICROSOFT_POWERPOINT "\xf3\xb1\x8e\x90" // U+F1390 microsoft-powerpoint, tags: Brand / Logo +#define ICON_MD_MICROSOFT_SHAREPOINT "\xf3\xb1\x8e\x91" // U+F1391 microsoft-sharepoint, tags: Brand / Logo +#define ICON_MD_MICROSOFT_TEAMS "\xf3\xb0\x8a\xbb" // U+F02BB microsoft-teams, tags: Brand / Logo +#define ICON_MD_MICROSOFT_VISUAL_STUDIO "\xf3\xb0\x98\x90" // U+F0610 microsoft-visual-studio, aliases: visualstudio, tags: Brand / Logo +#define ICON_MD_MICROSOFT_VISUAL_STUDIO_CODE \ + "\xf3\xb0\xa8\x9e" // U+F0A1E microsoft-visual-studio-code, aliases: vs-code, tags: Developer / Languages, Brand / + // Logo +#define ICON_MD_MICROSOFT_WINDOWS "\xf3\xb0\x96\xb3" // U+F05B3 microsoft-windows, aliases: microsoft-windows, tags: Brand / Logo, Gaming / RPG +#define ICON_MD_MICROSOFT_WINDOWS_CLASSIC "\xf3\xb0\xa8\xa1" // U+F0A21 microsoft-windows-classic, tags: Brand / Logo +#define ICON_MD_MICROSOFT_WORD "\xf3\xb1\x8e\x92" // U+F1392 microsoft-word, tags: Brand / Logo +#define ICON_MD_MICROSOFT_XBOX \ + "\xf3\xb0\x96\xb9" // U+F05B9 microsoft-xbox, aliases: xbox-live, microsoft, tags: Social Media, Brand / Logo, + // Gaming / RPG +#define ICON_MD_MICROSOFT_XBOX_CONTROLLER "\xf3\xb0\x96\xba" // U+F05BA microsoft-xbox-controller, aliases: microsoft-xbox-gamepad, tags: Gaming / RPG +#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_BATTERY_ALERT \ + "\xf3\xb0\x9d\x8b" // U+F074B microsoft-xbox-controller-battery-alert, aliases: xbox-controller-battery-warning, + // microsoft-xbox-gamepad-battery-alert, tags: Battery, Gaming / RPG, Alert / Error +#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_BATTERY_CHARGING \ + "\xf3\xb0\xa8\xa2" // U+F0A22 microsoft-xbox-controller-battery-charging, aliases: + // microsoft-xbox-gamepad-battery-charging, tags: Gaming / RPG, Battery +#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_BATTERY_EMPTY \ + "\xf3\xb0\x9d\x8c" // U+F074C microsoft-xbox-controller-battery-empty, aliases: + // microsoft-xbox-gamepad-battery-empty, tags: Battery, Gaming / RPG +#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_BATTERY_FULL \ + "\xf3\xb0\x9d\x8d" // U+F074D microsoft-xbox-controller-battery-full, aliases: microsoft-xbox-gamepad-battery-full, + // tags: Battery, Gaming / RPG +#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_BATTERY_LOW \ + "\xf3\xb0\x9d\x8e" // U+F074E microsoft-xbox-controller-battery-low, aliases: microsoft-xbox-gamepad-battery-low, + // tags: Battery, Gaming / RPG +#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_BATTERY_MEDIUM \ + "\xf3\xb0\x9d\x8f" // U+F074F microsoft-xbox-controller-battery-medium, aliases: + // microsoft-xbox-gamepad-battery-medium, tags: Battery, Gaming / RPG +#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_BATTERY_UNKNOWN \ + "\xf3\xb0\x9d\x90" // U+F0750 microsoft-xbox-controller-battery-unknown, aliases: + // microsoft-xbox-gamepad-battery-unknown, tags: Battery, Gaming / RPG +#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_MENU "\xf3\xb0\xb9\xaf" // U+F0E6F microsoft-xbox-controller-menu, tags: Gaming / RPG +#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_OFF "\xf3\xb0\x96\xbb" // U+F05BB microsoft-xbox-controller-off, aliases: microsoft-xbox-gamepad-off, tags: Gaming / RPG +#define ICON_MD_MICROSOFT_XBOX_CONTROLLER_VIEW "\xf3\xb0\xb9\xb0" // U+F0E70 microsoft-xbox-controller-view, tags: Gaming / RPG +#define ICON_MD_MICROWAVE "\xf3\xb0\xb2\x99" // U+F0C99 microwave, aliases: microwave-oven, tags: Home Automation, Food / Drink +#define ICON_MD_MICROWAVE_OFF "\xf3\xb1\x90\xa3" // U+F1423 microwave-off, tags: Home Automation +#define ICON_MD_MIDDLEWARE "\xf3\xb0\xbd\x9d" // U+F0F5D middleware, tags: Arrow +#define ICON_MD_MIDDLEWARE_OUTLINE "\xf3\xb0\xbd\x9e" // U+F0F5E middleware-outline, tags: Arrow +#define ICON_MD_MIDI "\xf3\xb0\xa3\xb1" // U+F08F1 midi, tags: Brand / Logo, Music +#define ICON_MD_MIDI_PORT "\xf3\xb0\xa3\xb2" // U+F08F2 midi-port, tags: Music +#define ICON_MD_MINE "\xf3\xb0\xb7\x9a" // U+F0DDA mine +#define ICON_MD_MINECRAFT "\xf3\xb0\x8d\xb3" // U+F0373 minecraft, aliases: microsoft-minecraft, tags: Brand / Logo +#define ICON_MD_MINI_SD "\xf3\xb0\xa8\x85" // U+F0A05 mini-sd +#define ICON_MD_MINIDISC "\xf3\xb0\xa8\x86" // U+F0A06 minidisc +#define ICON_MD_MINUS "\xf3\xb0\x8d\xb4" // U+F0374 minus, aliases: remove, horizontal-line, minimize, tags: Math +#define ICON_MD_MINUS_BOX "\xf3\xb0\x8d\xb5" // U+F0375 minus-box, aliases: indeterminate-check-box, tags: Math +#define ICON_MD_MINUS_BOX_MULTIPLE "\xf3\xb1\x85\x81" // U+F1141 minus-box-multiple, aliases: library-minus +#define ICON_MD_MINUS_BOX_MULTIPLE_OUTLINE "\xf3\xb1\x85\x82" // U+F1142 minus-box-multiple-outline, aliases: library-minus-outline +#define ICON_MD_MINUS_BOX_OUTLINE "\xf3\xb0\x9b\xb2" // U+F06F2 minus-box-outline, aliases: checkbox-indeterminate-outline, tags: Math +#define ICON_MD_MINUS_CIRCLE \ + "\xf3\xb0\x8d\xb6" // U+F0376 minus-circle, aliases: do-not-disturb-on, remove-circle, do-not-enter, pill-tablet, + // medicine, pharmaceutical, tags: Transportation + Road, Medical / Hospital +#define ICON_MD_MINUS_CIRCLE_MULTIPLE "\xf3\xb0\x8d\x9a" // U+F035A minus-circle-multiple, aliases: coins-minus +#define ICON_MD_MINUS_CIRCLE_MULTIPLE_OUTLINE "\xf3\xb0\xab\x93" // U+F0AD3 minus-circle-multiple-outline, aliases: coins-minus-outline +#define ICON_MD_MINUS_CIRCLE_OFF "\xf3\xb1\x91\x99" // U+F1459 minus-circle-off, aliases: do-not-disturb-off, remove-circle-off, do-not-enter-off +#define ICON_MD_MINUS_CIRCLE_OFF_OUTLINE \ + "\xf3\xb1\x91\x9a" // U+F145A minus-circle-off-outline, aliases: do-not-disturb-off-outline, + // remove-circle-off-outline, do-not-enter-off-outline +#define ICON_MD_MINUS_CIRCLE_OUTLINE \ + "\xf3\xb0\x8d\xb7" // U+F0377 minus-circle-outline, aliases: remove-circle-outline, do-not-enter-outline, + // do-not-disturb-outline, pill-tablet-outline, medicine-outline, pharmaceutical, tags: + // Transportation + Road, Medical / Hospital +#define ICON_MD_MINUS_NETWORK "\xf3\xb0\x8d\xb8" // U+F0378 minus-network +#define ICON_MD_MINUS_NETWORK_OUTLINE "\xf3\xb0\xb2\x9a" // U+F0C9A minus-network-outline +#define ICON_MD_MINUS_THICK "\xf3\xb1\x98\xb9" // U+F1639 minus-thick +#define ICON_MD_MIRROR "\xf3\xb1\x87\xbd" // U+F11FD mirror, tags: Home Automation +#define ICON_MD_MIRROR_RECTANGLE "\xf3\xb1\x9e\x9f" // U+F179F mirror-rectangle, tags: Home Automation +#define ICON_MD_MIRROR_VARIANT "\xf3\xb1\x9e\xa0" // U+F17A0 mirror-variant, tags: Home Automation +#define ICON_MD_MIXED_MARTIAL_ARTS "\xf3\xb0\xb6\x8f" // U+F0D8F mixed-martial-arts, aliases: mma, glove, tags: Sport +#define ICON_MD_MIXED_REALITY "\xf3\xb0\xa1\xbf" // U+F087F mixed-reality +#define ICON_MD_MOLECULE "\xf3\xb0\xae\xac" // U+F0BAC molecule, tags: Science +#define ICON_MD_MOLECULE_CO "\xf3\xb1\x8b\xbe" // U+F12FE molecule-co, aliases: carbon-monoxide, gas-co, tags: Home Automation, Science +#define ICON_MD_MOLECULE_CO2 \ + "\xf3\xb0\x9f\xa4" // U+F07E4 molecule-co2, aliases: periodic-table-carbon-dioxide, gas-co2, tags: Science, Home + // Automation +#define ICON_MD_MONITOR "\xf3\xb0\x8d\xb9" // U+F0379 monitor, aliases: desktop-windows, tags: Device / Tech +#define ICON_MD_MONITOR_ACCOUNT \ + "\xf3\xb1\xa9\x9b" // U+F1A5B monitor-account, aliases: teleconference, virtual-meeting, video-chat, tags: Account / + // User, Device / Tech +#define ICON_MD_MONITOR_ARROW_DOWN "\xf3\xb1\xa7\x90" // U+F19D0 monitor-arrow-down, aliases: monitor-download, tags: Device / Tech +#define ICON_MD_MONITOR_ARROW_DOWN_VARIANT "\xf3\xb1\xa7\x91" // U+F19D1 monitor-arrow-down-variant, aliases: monitor-download, tags: Device / Tech +#define ICON_MD_MONITOR_CELLPHONE \ + "\xf3\xb0\xa6\x89" // U+F0989 monitor-cellphone, aliases: monitor-mobile-phone, monitor-smartphone, tags: Cellphone + // / Phone, Device / Tech +#define ICON_MD_MONITOR_CELLPHONE_STAR \ + "\xf3\xb0\xa6\x8a" // U+F098A monitor-cellphone-star, aliases: important-devices, monitor-mobile-phone-star, + // monitor-smartphone-star, monitor-cellphone-favorite, tags: Cellphone / Phone, Device / Tech +#define ICON_MD_MONITOR_DASHBOARD "\xf3\xb0\xa8\x87" // U+F0A07 monitor-dashboard, tags: Device / Tech +#define ICON_MD_MONITOR_EDIT "\xf3\xb1\x8b\x86" // U+F12C6 monitor-edit, tags: Edit / Modify +#define ICON_MD_MONITOR_EYE "\xf3\xb1\x8e\xb4" // U+F13B4 monitor-eye +#define ICON_MD_MONITOR_LOCK "\xf3\xb0\xb7\x9b" // U+F0DDB monitor-lock, tags: Device / Tech, Lock +#define ICON_MD_MONITOR_MULTIPLE "\xf3\xb0\x8d\xba" // U+F037A monitor-multiple, aliases: monitors, tags: Device / Tech +#define ICON_MD_MONITOR_OFF "\xf3\xb0\xb6\x90" // U+F0D90 monitor-off, tags: Device / Tech +#define ICON_MD_MONITOR_SCREENSHOT "\xf3\xb0\xb9\x91" // U+F0E51 monitor-screenshot, tags: Device / Tech +#define ICON_MD_MONITOR_SHARE "\xf3\xb1\x92\x83" // U+F1483 monitor-share +#define ICON_MD_MONITOR_SHIMMER "\xf3\xb1\x84\x84" // U+F1104 monitor-shimmer, aliases: monitor-clean, tags: Device / Tech +#define ICON_MD_MONITOR_SMALL "\xf3\xb1\xa1\xb6" // U+F1876 monitor-small, aliases: monitor-crt, tags: Device / Tech +#define ICON_MD_MONITOR_SPEAKER "\xf3\xb0\xbd\x9f" // U+F0F5F monitor-speaker, tags: Device / Tech +#define ICON_MD_MONITOR_SPEAKER_OFF "\xf3\xb0\xbd\xa0" // U+F0F60 monitor-speaker-off, tags: Device / Tech +#define ICON_MD_MONITOR_STAR "\xf3\xb0\xb7\x9c" // U+F0DDC monitor-star, aliases: monitor-favorite, tags: Device / Tech +#define ICON_MD_MOON_FIRST_QUARTER "\xf3\xb0\xbd\xa1" // U+F0F61 moon-first-quarter, tags: Weather +#define ICON_MD_MOON_FULL "\xf3\xb0\xbd\xa2" // U+F0F62 moon-full, tags: Weather +#define ICON_MD_MOON_LAST_QUARTER "\xf3\xb0\xbd\xa3" // U+F0F63 moon-last-quarter, tags: Weather +#define ICON_MD_MOON_NEW "\xf3\xb0\xbd\xa4" // U+F0F64 moon-new, tags: Weather +#define ICON_MD_MOON_WANING_CRESCENT "\xf3\xb0\xbd\xa5" // U+F0F65 moon-waning-crescent, tags: Weather +#define ICON_MD_MOON_WANING_GIBBOUS "\xf3\xb0\xbd\xa6" // U+F0F66 moon-waning-gibbous, tags: Weather +#define ICON_MD_MOON_WAXING_CRESCENT "\xf3\xb0\xbd\xa7" // U+F0F67 moon-waxing-crescent, tags: Weather +#define ICON_MD_MOON_WAXING_GIBBOUS "\xf3\xb0\xbd\xa8" // U+F0F68 moon-waxing-gibbous, tags: Weather +#define ICON_MD_MOPED \ + "\xf3\xb1\x82\x86" // U+F1086 moped, aliases: scooter, vespa, delivery-dining, tags: Transportation + Road, + // Transportation + Other +#define ICON_MD_MOPED_ELECTRIC \ + "\xf3\xb1\x96\xb7" // U+F15B7 moped-electric, aliases: scooter-electric, vespa-electric, delivery-dining-electric, + // tags: Transportation + Road +#define ICON_MD_MOPED_ELECTRIC_OUTLINE \ + "\xf3\xb1\x96\xb8" // U+F15B8 moped-electric-outline, aliases: scooter-electric-outline, vespa-electric-outline, + // delivery-dining-electric-outline, tags: Transportation + Road +#define ICON_MD_MOPED_OUTLINE \ + "\xf3\xb1\x96\xb9" // U+F15B9 moped-outline, aliases: scooter-outline, vespa-outline, delivery-dining-outline, tags: + // Transportation + Road +#define ICON_MD_MORE "\xf3\xb0\x8d\xbb" // U+F037B more +#define ICON_MD_MORTAR_PESTLE "\xf3\xb1\x9d\x88" // U+F1748 mortar-pestle +#define ICON_MD_MORTAR_PESTLE_PLUS \ + "\xf3\xb0\x8f\xb1" // U+F03F1 mortar-pestle-plus, aliases: chemist, local-pharmacy, mortar-pestle, pharmaceutical, + // tags: Medical / Hospital +#define ICON_MD_MOSQUE "\xf3\xb0\xb5\x85" // U+F0D45 mosque, aliases: islam, muslim, tags: Religion +#define ICON_MD_MOSQUE_OUTLINE "\xf3\xb1\xa0\xa7" // U+F1827 mosque-outline, aliases: islam, muslim, tags: Places, Religion +#define ICON_MD_MOTHER_HEART "\xf3\xb1\x8c\x94" // U+F1314 mother-heart, tags: People / Family +#define ICON_MD_MOTHER_NURSE "\xf3\xb0\xb4\xa1" // U+F0D21 mother-nurse, aliases: breast-feed, tags: Medical / Hospital, People / Family +#define ICON_MD_MOTION "\xf3\xb1\x96\xb2" // U+F15B2 motion +#define ICON_MD_MOTION_OUTLINE "\xf3\xb1\x96\xb3" // U+F15B3 motion-outline +#define ICON_MD_MOTION_PAUSE "\xf3\xb1\x96\x90" // U+F1590 motion-pause, tags: Video / Movie +#define ICON_MD_MOTION_PAUSE_OUTLINE "\xf3\xb1\x96\x92" // U+F1592 motion-pause-outline, tags: Video / Movie +#define ICON_MD_MOTION_PLAY "\xf3\xb1\x96\x8f" // U+F158F motion-play, tags: Video / Movie +#define ICON_MD_MOTION_PLAY_OUTLINE "\xf3\xb1\x96\x91" // U+F1591 motion-play-outline, tags: Video / Movie +#define ICON_MD_MOTION_SENSOR "\xf3\xb0\xb6\x91" // U+F0D91 motion-sensor, aliases: motion-detector, tags: Home Automation +#define ICON_MD_MOTION_SENSOR_OFF "\xf3\xb1\x90\xb5" // U+F1435 motion-sensor-off, tags: Home Automation +#define ICON_MD_MOTORBIKE "\xf3\xb0\x8d\xbc" // U+F037C motorbike, aliases: motorcycle, tags: Transportation + Road, Sport +#define ICON_MD_MOTORBIKE_ELECTRIC "\xf3\xb1\x96\xba" // U+F15BA motorbike-electric, aliases: motorcycle-electric, tags: Transportation + Road +#define ICON_MD_MOTORBIKE_OFF "\xf3\xb1\xac\x96" // U+F1B16 motorbike-off, aliases: motorcycle-off, tags: Transportation + Road +#define ICON_MD_MOUSE "\xf3\xb0\x8d\xbd" // U+F037D mouse +#define ICON_MD_MOUSE_BLUETOOTH "\xf3\xb0\xa6\x8b" // U+F098B mouse-bluetooth +#define ICON_MD_MOUSE_MOVE_DOWN "\xf3\xb1\x95\x90" // U+F1550 mouse-move-down +#define ICON_MD_MOUSE_MOVE_UP "\xf3\xb1\x95\x91" // U+F1551 mouse-move-up +#define ICON_MD_MOUSE_MOVE_VERTICAL "\xf3\xb1\x95\x92" // U+F1552 mouse-move-vertical +#define ICON_MD_MOUSE_OFF "\xf3\xb0\x8d\xbe" // U+F037E mouse-off +#define ICON_MD_MOUSE_VARIANT "\xf3\xb0\x8d\xbf" // U+F037F mouse-variant +#define ICON_MD_MOUSE_VARIANT_OFF "\xf3\xb0\x8e\x80" // U+F0380 mouse-variant-off +#define ICON_MD_MOVE_RESIZE "\xf3\xb0\x99\x95" // U+F0655 move-resize +#define ICON_MD_MOVE_RESIZE_VARIANT "\xf3\xb0\x99\x96" // U+F0656 move-resize-variant +#define ICON_MD_MOVIE "\xf3\xb0\x8e\x81" // U+F0381 movie, aliases: slate, clapperboard, film, movie-creation, tags: Video / Movie +#define ICON_MD_MOVIE_CHECK "\xf3\xb1\x9b\xb3" // U+F16F3 movie-check, aliases: slate-check, clapperboard-check, film-check, tags: Video / Movie +#define ICON_MD_MOVIE_CHECK_OUTLINE \ + "\xf3\xb1\x9b\xb4" // U+F16F4 movie-check-outline, aliases: slate-check-outline, clapperboard-check-outline, + // film-check-outline, tags: Video / Movie +#define ICON_MD_MOVIE_COG "\xf3\xb1\x9b\xb5" // U+F16F5 movie-cog, aliases: slate-cog, clapperboard-cog, film-cog, tags: Video / Movie +#define ICON_MD_MOVIE_COG_OUTLINE \ + "\xf3\xb1\x9b\xb6" // U+F16F6 movie-cog-outline, aliases: slate-cog-outline, clapperboard-cog-outline, + // film-cog-outline, tags: Video / Movie +#define ICON_MD_MOVIE_EDIT \ + "\xf3\xb1\x84\xa2" // U+F1122 movie-edit, aliases: slate-edit, clapperboard-edit, film-edit, tags: Video / Movie, + // Edit / Modify +#define ICON_MD_MOVIE_EDIT_OUTLINE \ + "\xf3\xb1\x84\xa3" // U+F1123 movie-edit-outline, aliases: slate-edit-outline, clapperboard-edit-outline, + // film-edit-outline, tags: Video / Movie, Edit / Modify +#define ICON_MD_MOVIE_FILTER "\xf3\xb1\x84\xa4" // U+F1124 movie-filter, tags: Video / Movie +#define ICON_MD_MOVIE_FILTER_OUTLINE "\xf3\xb1\x84\xa5" // U+F1125 movie-filter-outline, tags: Video / Movie +#define ICON_MD_MOVIE_MINUS "\xf3\xb1\x9b\xb7" // U+F16F7 movie-minus, aliases: slate-minus, clapperboard-minus, film-minus, tags: Video / Movie +#define ICON_MD_MOVIE_MINUS_OUTLINE \ + "\xf3\xb1\x9b\xb8" // U+F16F8 movie-minus-outline, aliases: slate-minus-outline, clapperboard-minus-outline, + // film-minus-outline, tags: Video / Movie +#define ICON_MD_MOVIE_OFF "\xf3\xb1\x9b\xb9" // U+F16F9 movie-off, aliases: slate-off, clapperboard-off, film-off, tags: Video / Movie +#define ICON_MD_MOVIE_OFF_OUTLINE \ + "\xf3\xb1\x9b\xba" // U+F16FA movie-off-outline, aliases: slate-off-outline, clapperboard-off-outline, + // film-off-outline, tags: Video / Movie +#define ICON_MD_MOVIE_OPEN \ + "\xf3\xb0\xbf\x8e" // U+F0FCE movie-open, aliases: slate-open, clapperboard-open, film-open, movie-creation, tags: + // Video / Movie +#define ICON_MD_MOVIE_OPEN_CHECK \ + "\xf3\xb1\x9b\xbb" // U+F16FB movie-open-check, aliases: slate-open-check, clapperboard-open-check, film-open-check, + // tags: Video / Movie +#define ICON_MD_MOVIE_OPEN_CHECK_OUTLINE \ + "\xf3\xb1\x9b\xbc" // U+F16FC movie-open-check-outline, aliases: slate-open-check-outline, + // clapperboard-open-check-outline, film-open-check-outline, tags: Video / Movie +#define ICON_MD_MOVIE_OPEN_COG \ + "\xf3\xb1\x9b\xbd" // U+F16FD movie-open-cog, aliases: slate-open-cog, clapperboard-open-cog, film-open-cog, tags: + // Video / Movie +#define ICON_MD_MOVIE_OPEN_COG_OUTLINE \ + "\xf3\xb1\x9b\xbe" // U+F16FE movie-open-cog-outline, aliases: slate-open-cog-outline, + // clapperboard-open-cog-outline, film-open-cog-outline, tags: Video / Movie +#define ICON_MD_MOVIE_OPEN_EDIT \ + "\xf3\xb1\x9b\xbf" // U+F16FF movie-open-edit, aliases: slate-open-edit, clapperboard-open-edit, film-open-edit, + // tags: Video / Movie, Edit / Modify +#define ICON_MD_MOVIE_OPEN_EDIT_OUTLINE \ + "\xf3\xb1\x9c\x80" // U+F1700 movie-open-edit-outline, aliases: slate-open-edit-outline, + // clapperboard-open-edit-outline, film-open-edit-outline, tags: Video / Movie, Edit / Modify +#define ICON_MD_MOVIE_OPEN_MINUS \ + "\xf3\xb1\x9c\x81" // U+F1701 movie-open-minus, aliases: slate-open-minus, clapperboard-open-minus, film-open-minus, + // tags: Video / Movie +#define ICON_MD_MOVIE_OPEN_MINUS_OUTLINE \ + "\xf3\xb1\x9c\x82" // U+F1702 movie-open-minus-outline, aliases: slate-open-minus-outline, + // clapperboard-open-minus-outline, film-open-minus-outline, tags: Video / Movie +#define ICON_MD_MOVIE_OPEN_OFF \ + "\xf3\xb1\x9c\x83" // U+F1703 movie-open-off, aliases: slate-open-off, clapperboard-open-off, film-open-off, tags: + // Video / Movie +#define ICON_MD_MOVIE_OPEN_OFF_OUTLINE \ + "\xf3\xb1\x9c\x84" // U+F1704 movie-open-off-outline, aliases: slate-open-off-outline, + // clapperboard-open-off-outline, film-open-off-outline, tags: Video / Movie +#define ICON_MD_MOVIE_OPEN_OUTLINE \ + "\xf3\xb0\xbf\x8f" // U+F0FCF movie-open-outline, aliases: slate-open-outline, clapperboard-open-outline, + // film-open-outline, movie-creation, tags: Video / Movie +#define ICON_MD_MOVIE_OPEN_PLAY \ + "\xf3\xb1\x9c\x85" // U+F1705 movie-open-play, aliases: slate-open-play, clapperboard-open-play, film-open-play, + // tags: Video / Movie +#define ICON_MD_MOVIE_OPEN_PLAY_OUTLINE \ + "\xf3\xb1\x9c\x86" // U+F1706 movie-open-play-outline, aliases: slate-open-play-outline, + // clapperboard-open-play-outline, film-open-play-outline, tags: Video / Movie +#define ICON_MD_MOVIE_OPEN_PLUS \ + "\xf3\xb1\x9c\x87" // U+F1707 movie-open-plus, aliases: clapperboard-open-plus, slate-open-plus, flim-open-plus, + // tags: Video / Movie +#define ICON_MD_MOVIE_OPEN_PLUS_OUTLINE \ + "\xf3\xb1\x9c\x88" // U+F1708 movie-open-plus-outline, aliases: slate-open-plus-outline, + // clapperboard-open-plus-outline, film-open-plus-outline, tags: Video / Movie +#define ICON_MD_MOVIE_OPEN_REMOVE \ + "\xf3\xb1\x9c\x89" // U+F1709 movie-open-remove, aliases: slate-open-remove, clapperboard-open-remove, + // film-open-remove, tags: Video / Movie +#define ICON_MD_MOVIE_OPEN_REMOVE_OUTLINE \ + "\xf3\xb1\x9c\x8a" // U+F170A movie-open-remove-outline, aliases: slate-open-remove-outline, + // clapperboard-open-remove-outline, film-open-remove-outline, tags: Video / Movie +#define ICON_MD_MOVIE_OPEN_SETTINGS \ + "\xf3\xb1\x9c\x8b" // U+F170B movie-open-settings, aliases: slate-open-settings, clapperboard-open-settings, + // film-open-settings, tags: Video / Movie, Settings +#define ICON_MD_MOVIE_OPEN_SETTINGS_OUTLINE \ + "\xf3\xb1\x9c\x8c" // U+F170C movie-open-settings-outline, aliases: slate-open-settings-outline, + // clapperboard-open-settings-outline, film-open-settings-outline, tags: Video / Movie, Settings +#define ICON_MD_MOVIE_OPEN_STAR \ + "\xf3\xb1\x9c\x8d" // U+F170D movie-open-star, aliases: slate-open-star, clapperboard-open-star, film-open-star, + // movie-open-favorite, tags: Video / Movie +#define ICON_MD_MOVIE_OPEN_STAR_OUTLINE \ + "\xf3\xb1\x9c\x8e" // U+F170E movie-open-star-outline, aliases: slate-open-star-outline, + // clapperboard-open-star-outline, film-open-star-outline, movie-open-favorite-outline, tags: + // Video / Movie +#define ICON_MD_MOVIE_OUTLINE \ + "\xf3\xb0\xb7\x9d" // U+F0DDD movie-outline, aliases: slate-outline, clapperboard-outline, film-outline, tags: Video + // / Movie +#define ICON_MD_MOVIE_PLAY "\xf3\xb1\x9c\x8f" // U+F170F movie-play, aliases: slate-play, clapperboard-play, film-play, tags: Video / Movie +#define ICON_MD_MOVIE_PLAY_OUTLINE \ + "\xf3\xb1\x9c\x90" // U+F1710 movie-play-outline, aliases: slate-play-outline, clapperboard-play-outline, + // film-play-outline, tags: Video / Movie +#define ICON_MD_MOVIE_PLUS "\xf3\xb1\x9c\x91" // U+F1711 movie-plus, aliases: slate-plus, clapperboard-plus, film-plus, tags: Video / Movie +#define ICON_MD_MOVIE_PLUS_OUTLINE \ + "\xf3\xb1\x9c\x92" // U+F1712 movie-plus-outline, aliases: slate-plus-outline, clapperboard-plus-outline, + // film-plus-outline, tags: Video / Movie +#define ICON_MD_MOVIE_REMOVE \ + "\xf3\xb1\x9c\x93" // U+F1713 movie-remove, aliases: slate-remove, clapperboard-remove, film-remove, tags: Video / + // Movie +#define ICON_MD_MOVIE_REMOVE_OUTLINE \ + "\xf3\xb1\x9c\x94" // U+F1714 movie-remove-outline, aliases: slate-remove-outline, clapperboard-remove-outline, + // film-remove-outline, tags: Video / Movie +#define ICON_MD_MOVIE_ROLL "\xf3\xb0\x9f\x9e" // U+F07DE movie-roll, aliases: film-reel, tags: Video / Movie +#define ICON_MD_MOVIE_SEARCH "\xf3\xb1\x87\x92" // U+F11D2 movie-search, tags: Video / Movie +#define ICON_MD_MOVIE_SEARCH_OUTLINE "\xf3\xb1\x87\x93" // U+F11D3 movie-search-outline, tags: Video / Movie +#define ICON_MD_MOVIE_SETTINGS \ + "\xf3\xb1\x9c\x95" // U+F1715 movie-settings, aliases: slate-settings, clapperboard-settings, film-settings, tags: + // Video / Movie, Settings +#define ICON_MD_MOVIE_SETTINGS_OUTLINE \ + "\xf3\xb1\x9c\x96" // U+F1716 movie-settings-outline, aliases: slate-settings-outline, + // clapperboard-settings-outline, film-settings-outline, tags: Video / Movie, Settings +#define ICON_MD_MOVIE_STAR \ + "\xf3\xb1\x9c\x97" // U+F1717 movie-star, aliases: slate-star, clapperboard-star, film-star, movie-favorite, tags: + // Video / Movie +#define ICON_MD_MOVIE_STAR_OUTLINE \ + "\xf3\xb1\x9c\x98" // U+F1718 movie-star-outline, aliases: slate-star-outline, clapperboard-star-outline, + // film-star-outline, movie-favorite-outline, tags: Video / Movie +#define ICON_MD_MOWER "\xf3\xb1\x99\xaf" // U+F166F mower, tags: Hardware / Tools, Home Automation +#define ICON_MD_MOWER_BAG "\xf3\xb1\x99\xb0" // U+F1670 mower-bag, tags: Hardware / Tools, Home Automation +#define ICON_MD_MOWER_BAG_ON "\xf3\xb1\xad\xa0" // U+F1B60 mower-bag-on, tags: Hardware / Tools, Home Automation +#define ICON_MD_MOWER_ON "\xf3\xb1\xad\x9f" // U+F1B5F mower-on, tags: Hardware / Tools, Home Automation +#define ICON_MD_MUFFIN "\xf3\xb0\xa6\x8c" // U+F098C muffin, tags: Food / Drink +#define ICON_MD_MULTICAST "\xf3\xb1\xa2\x93" // U+F1893 multicast, aliases: multiplex, broadcast +#define ICON_MD_MULTIMEDIA \ + "\xf3\xb1\xae\x97" // U+F1B97 multimedia, aliases: audio, video, image, music, movie, picture, tags: Audio, Video / + // Movie, Photography +#define ICON_MD_MULTIPLICATION "\xf3\xb0\x8e\x82" // U+F0382 multiplication, tags: Math +#define ICON_MD_MULTIPLICATION_BOX "\xf3\xb0\x8e\x83" // U+F0383 multiplication-box, tags: Math +#define ICON_MD_MUSHROOM "\xf3\xb0\x9f\x9f" // U+F07DF mushroom, aliases: fungus, tags: Nature, Food / Drink, Agriculture +#define ICON_MD_MUSHROOM_OFF "\xf3\xb1\x8f\xba" // U+F13FA mushroom-off, tags: Food / Drink, Nature, Agriculture +#define ICON_MD_MUSHROOM_OFF_OUTLINE "\xf3\xb1\x8f\xbb" // U+F13FB mushroom-off-outline, tags: Food / Drink, Nature, Agriculture +#define ICON_MD_MUSHROOM_OUTLINE "\xf3\xb0\x9f\xa0" // U+F07E0 mushroom-outline, aliases: fungus-outline, tags: Nature, Food / Drink, Agriculture +#define ICON_MD_MUSIC "\xf3\xb0\x9d\x9a" // U+F075A music, tags: Audio, Music +#define ICON_MD_MUSIC_ACCIDENTAL_DOUBLE_FLAT "\xf3\xb0\xbd\xa9" // U+F0F69 music-accidental-double-flat, tags: Music +#define ICON_MD_MUSIC_ACCIDENTAL_DOUBLE_SHARP "\xf3\xb0\xbd\xaa" // U+F0F6A music-accidental-double-sharp, tags: Music +#define ICON_MD_MUSIC_ACCIDENTAL_FLAT "\xf3\xb0\xbd\xab" // U+F0F6B music-accidental-flat, tags: Music +#define ICON_MD_MUSIC_ACCIDENTAL_NATURAL "\xf3\xb0\xbd\xac" // U+F0F6C music-accidental-natural, tags: Music +#define ICON_MD_MUSIC_ACCIDENTAL_SHARP "\xf3\xb0\xbd\xad" // U+F0F6D music-accidental-sharp, tags: Music +#define ICON_MD_MUSIC_BOX "\xf3\xb0\x8e\x84" // U+F0384 music-box, tags: Audio, Music +#define ICON_MD_MUSIC_BOX_MULTIPLE "\xf3\xb0\x8c\xb3" // U+F0333 music-box-multiple, aliases: library-music, tags: Music +#define ICON_MD_MUSIC_BOX_MULTIPLE_OUTLINE "\xf3\xb0\xbc\x84" // U+F0F04 music-box-multiple-outline, aliases: library-music-outline, tags: Music +#define ICON_MD_MUSIC_BOX_OUTLINE "\xf3\xb0\x8e\x85" // U+F0385 music-box-outline, tags: Audio, Music +#define ICON_MD_MUSIC_CIRCLE "\xf3\xb0\x8e\x86" // U+F0386 music-circle, aliases: note-circle, tags: Audio, Music +#define ICON_MD_MUSIC_CIRCLE_OUTLINE "\xf3\xb0\xab\x94" // U+F0AD4 music-circle-outline, aliases: note-circle-outline, tags: Music, Audio +#define ICON_MD_MUSIC_CLEF_ALTO \ + "\xf3\xb0\xbd\xae" // U+F0F6E music-clef-alto, aliases: music-c-clef, music-clef-tenor, music-clef-soprano, + // music-clef-baritone, tags: Music +#define ICON_MD_MUSIC_CLEF_BASS "\xf3\xb0\xbd\xaf" // U+F0F6F music-clef-bass, aliases: music-f-clef, tags: Music +#define ICON_MD_MUSIC_CLEF_TREBLE "\xf3\xb0\xbd\xb0" // U+F0F70 music-clef-treble, aliases: music-g-clef, tags: Music +#define ICON_MD_MUSIC_NOTE "\xf3\xb0\x8e\x87" // U+F0387 music-note, tags: Audio, Music +#define ICON_MD_MUSIC_NOTE_BLUETOOTH "\xf3\xb0\x97\xbe" // U+F05FE music-note-bluetooth, tags: Audio, Music +#define ICON_MD_MUSIC_NOTE_BLUETOOTH_OFF "\xf3\xb0\x97\xbf" // U+F05FF music-note-bluetooth-off, tags: Audio, Music +#define ICON_MD_MUSIC_NOTE_EIGHTH "\xf3\xb0\x8e\x88" // U+F0388 music-note-eighth, tags: Audio, Music +#define ICON_MD_MUSIC_NOTE_EIGHTH_DOTTED "\xf3\xb0\xbd\xb1" // U+F0F71 music-note-eighth-dotted, tags: Music +#define ICON_MD_MUSIC_NOTE_HALF "\xf3\xb0\x8e\x89" // U+F0389 music-note-half, tags: Audio, Music +#define ICON_MD_MUSIC_NOTE_HALF_DOTTED "\xf3\xb0\xbd\xb2" // U+F0F72 music-note-half-dotted, tags: Music +#define ICON_MD_MUSIC_NOTE_MINUS "\xf3\xb1\xae\x89" // U+F1B89 music-note-minus +#define ICON_MD_MUSIC_NOTE_OFF "\xf3\xb0\x8e\x8a" // U+F038A music-note-off, tags: Audio, Music +#define ICON_MD_MUSIC_NOTE_OFF_OUTLINE "\xf3\xb0\xbd\xb3" // U+F0F73 music-note-off-outline, tags: Music +#define ICON_MD_MUSIC_NOTE_OUTLINE "\xf3\xb0\xbd\xb4" // U+F0F74 music-note-outline, tags: Music +#define ICON_MD_MUSIC_NOTE_PLUS "\xf3\xb0\xb7\x9e" // U+F0DDE music-note-plus, aliases: music-note-add, tags: Audio, Music +#define ICON_MD_MUSIC_NOTE_QUARTER "\xf3\xb0\x8e\x8b" // U+F038B music-note-quarter, tags: Audio, Music +#define ICON_MD_MUSIC_NOTE_QUARTER_DOTTED "\xf3\xb0\xbd\xb5" // U+F0F75 music-note-quarter-dotted, tags: Music +#define ICON_MD_MUSIC_NOTE_SIXTEENTH "\xf3\xb0\x8e\x8c" // U+F038C music-note-sixteenth, tags: Audio, Music +#define ICON_MD_MUSIC_NOTE_SIXTEENTH_DOTTED "\xf3\xb0\xbd\xb6" // U+F0F76 music-note-sixteenth-dotted, tags: Music +#define ICON_MD_MUSIC_NOTE_WHOLE "\xf3\xb0\x8e\x8d" // U+F038D music-note-whole, tags: Audio, Music +#define ICON_MD_MUSIC_NOTE_WHOLE_DOTTED "\xf3\xb0\xbd\xb7" // U+F0F77 music-note-whole-dotted, tags: Music +#define ICON_MD_MUSIC_OFF "\xf3\xb0\x9d\x9b" // U+F075B music-off, tags: Audio, Music +#define ICON_MD_MUSIC_REST_EIGHTH "\xf3\xb0\xbd\xb8" // U+F0F78 music-rest-eighth, tags: Music +#define ICON_MD_MUSIC_REST_HALF "\xf3\xb0\xbd\xb9" // U+F0F79 music-rest-half, tags: Music +#define ICON_MD_MUSIC_REST_QUARTER "\xf3\xb0\xbd\xba" // U+F0F7A music-rest-quarter, tags: Music +#define ICON_MD_MUSIC_REST_SIXTEENTH "\xf3\xb0\xbd\xbb" // U+F0F7B music-rest-sixteenth, tags: Music +#define ICON_MD_MUSIC_REST_WHOLE "\xf3\xb0\xbd\xbc" // U+F0F7C music-rest-whole, tags: Music +#define ICON_MD_MUSTACHE "\xf3\xb1\x97\x9e" // U+F15DE mustache +#define ICON_MD_NAIL "\xf3\xb0\xb7\x9f" // U+F0DDF nail, tags: Hardware / Tools +#define ICON_MD_NAS "\xf3\xb0\xa3\xb3" // U+F08F3 nas, aliases: network-attached-storage +#define ICON_MD_NATIVESCRIPT "\xf3\xb0\xa2\x80" // U+F0880 nativescript, tags: Brand / Logo +#define ICON_MD_NATURE "\xf3\xb0\x8e\x8e" // U+F038E nature, aliases: plant, tags: Nature +#define ICON_MD_NATURE_PEOPLE "\xf3\xb0\x8e\x8f" // U+F038F nature-people, aliases: plant, tags: Account / User +#define ICON_MD_NAVIGATION "\xf3\xb0\x8e\x90" // U+F0390 navigation, aliases: arrow-compass, tags: Navigation +#define ICON_MD_NAVIGATION_OUTLINE "\xf3\xb1\x98\x87" // U+F1607 navigation-outline, tags: Navigation +#define ICON_MD_NAVIGATION_VARIANT "\xf3\xb1\xa3\xb0" // U+F18F0 navigation-variant, tags: Navigation +#define ICON_MD_NAVIGATION_VARIANT_OUTLINE "\xf3\xb1\xa3\xb1" // U+F18F1 navigation-variant-outline, tags: Navigation +#define ICON_MD_NEAR_ME "\xf3\xb0\x97\x8d" // U+F05CD near-me +#define ICON_MD_NECKLACE "\xf3\xb0\xbc\x8b" // U+F0F0B necklace, tags: Clothing +#define ICON_MD_NEEDLE \ + "\xf3\xb0\x8e\x91" // U+F0391 needle, aliases: syringe, injection, medicine, shot, drug, immunization, + // pharmaceutical, tags: Medical / Hospital +#define ICON_MD_NEEDLE_OFF \ + "\xf3\xb1\xa7\x92" // U+F19D2 needle-off, aliases: syringe-off, injection-off, medicine-off, shot-off, drug-off, + // immunization-off, pharmaceutical-off, tags: Medical / Hospital +#define ICON_MD_NETFLIX "\xf3\xb0\x9d\x86" // U+F0746 netflix, tags: Brand / Logo +#define ICON_MD_NETWORK "\xf3\xb0\x9b\xb3" // U+F06F3 network +#define ICON_MD_NETWORK_OFF "\xf3\xb0\xb2\x9b" // U+F0C9B network-off +#define ICON_MD_NETWORK_OFF_OUTLINE "\xf3\xb0\xb2\x9c" // U+F0C9C network-off-outline +#define ICON_MD_NETWORK_OUTLINE "\xf3\xb0\xb2\x9d" // U+F0C9D network-outline +#define ICON_MD_NETWORK_POS "\xf3\xb1\xab\x8b" // U+F1ACB network-pos, aliases: network-point-of-sale, network-cash-box, tags: Banking +#define ICON_MD_NETWORK_STRENGTH_1 "\xf3\xb0\xa3\xb4" // U+F08F4 network-strength-1, tags: Cellphone / Phone +#define ICON_MD_NETWORK_STRENGTH_1_ALERT \ + "\xf3\xb0\xa3\xb5" // U+F08F5 network-strength-1-alert, aliases: network-strength-1-warning, tags: Cellphone / + // Phone, Alert / Error +#define ICON_MD_NETWORK_STRENGTH_2 "\xf3\xb0\xa3\xb6" // U+F08F6 network-strength-2, tags: Cellphone / Phone +#define ICON_MD_NETWORK_STRENGTH_2_ALERT \ + "\xf3\xb0\xa3\xb7" // U+F08F7 network-strength-2-alert, aliases: network-strength-2-warning, tags: Cellphone / + // Phone, Alert / Error +#define ICON_MD_NETWORK_STRENGTH_3 "\xf3\xb0\xa3\xb8" // U+F08F8 network-strength-3, tags: Cellphone / Phone +#define ICON_MD_NETWORK_STRENGTH_3_ALERT \ + "\xf3\xb0\xa3\xb9" // U+F08F9 network-strength-3-alert, aliases: network-strength-3-warning, tags: Cellphone / + // Phone, Alert / Error +#define ICON_MD_NETWORK_STRENGTH_4 "\xf3\xb0\xa3\xba" // U+F08FA network-strength-4, tags: Cellphone / Phone +#define ICON_MD_NETWORK_STRENGTH_4_ALERT \ + "\xf3\xb0\xa3\xbb" // U+F08FB network-strength-4-alert, aliases: network-strength-4-warning, tags: Cellphone / + // Phone, Alert / Error +#define ICON_MD_NETWORK_STRENGTH_4_COG \ + "\xf3\xb1\xa4\x9a" // U+F191A network-strength-4-cog, aliases: network-strength-4-settings, data-settings, tags: + // Settings +#define ICON_MD_NETWORK_STRENGTH_OFF "\xf3\xb0\xa3\xbc" // U+F08FC network-strength-off, tags: Cellphone / Phone +#define ICON_MD_NETWORK_STRENGTH_OFF_OUTLINE "\xf3\xb0\xa3\xbd" // U+F08FD network-strength-off-outline, tags: Cellphone / Phone +#define ICON_MD_NETWORK_STRENGTH_OUTLINE "\xf3\xb0\xa3\xbe" // U+F08FE network-strength-outline, aliases: network-strength-0, tags: Cellphone / Phone +#define ICON_MD_NEW_BOX "\xf3\xb0\x8e\x94" // U+F0394 new-box, aliases: fiber-new +#define ICON_MD_NEWSPAPER "\xf3\xb0\x8e\x95" // U+F0395 newspaper +#define ICON_MD_NEWSPAPER_CHECK "\xf3\xb1\xa5\x83" // U+F1943 newspaper-check +#define ICON_MD_NEWSPAPER_MINUS "\xf3\xb0\xbc\x8c" // U+F0F0C newspaper-minus +#define ICON_MD_NEWSPAPER_PLUS "\xf3\xb0\xbc\x8d" // U+F0F0D newspaper-plus +#define ICON_MD_NEWSPAPER_REMOVE "\xf3\xb1\xa5\x84" // U+F1944 newspaper-remove +#define ICON_MD_NEWSPAPER_VARIANT "\xf3\xb1\x80\x81" // U+F1001 newspaper-variant +#define ICON_MD_NEWSPAPER_VARIANT_MULTIPLE "\xf3\xb1\x80\x82" // U+F1002 newspaper-variant-multiple +#define ICON_MD_NEWSPAPER_VARIANT_MULTIPLE_OUTLINE "\xf3\xb1\x80\x83" // U+F1003 newspaper-variant-multiple-outline +#define ICON_MD_NEWSPAPER_VARIANT_OUTLINE "\xf3\xb1\x80\x84" // U+F1004 newspaper-variant-outline +#define ICON_MD_NFC "\xf3\xb0\x8e\x96" // U+F0396 nfc, aliases: near-field-communication, tags: Brand / Logo +#define ICON_MD_NFC_SEARCH_VARIANT "\xf3\xb0\xb9\x93" // U+F0E53 nfc-search-variant +#define ICON_MD_NFC_TAP "\xf3\xb0\x8e\x97" // U+F0397 nfc-tap, aliases: near-field-communication-tap +#define ICON_MD_NFC_VARIANT "\xf3\xb0\x8e\x98" // U+F0398 nfc-variant, aliases: near-field-communication-variant, tags: Home Automation +#define ICON_MD_NFC_VARIANT_OFF "\xf3\xb0\xb9\x94" // U+F0E54 nfc-variant-off, aliases: near-field-communication-off, tags: Home Automation +#define ICON_MD_NINJA "\xf3\xb0\x9d\xb4" // U+F0774 ninja +#define ICON_MD_NINTENDO_GAME_BOY "\xf3\xb1\x8e\x93" // U+F1393 nintendo-game-boy, tags: Gaming / RPG +#define ICON_MD_NINTENDO_SWITCH "\xf3\xb0\x9f\xa1" // U+F07E1 nintendo-switch, aliases: nintendo-switch-online, tags: Brand / Logo +#define ICON_MD_NINTENDO_WII "\xf3\xb0\x96\xab" // U+F05AB nintendo-wii, aliases: nintendo-wii, tags: Brand / Logo, Gaming / RPG +#define ICON_MD_NINTENDO_WIIU "\xf3\xb0\x9c\xad" // U+F072D nintendo-wiiu, aliases: nintendo-wiiu, tags: Brand / Logo, Gaming / RPG +#define ICON_MD_NIX "\xf3\xb1\x84\x85" // U+F1105 nix, tags: Developer / Languages, Brand / Logo +#define ICON_MD_NODEJS "\xf3\xb0\x8e\x99" // U+F0399 nodejs, tags: Brand / Logo +#define ICON_MD_NOODLES "\xf3\xb1\x85\xbe" // U+F117E noodles, aliases: food-ramen, asian-noodles, tags: Food / Drink +#define ICON_MD_NOT_EQUAL "\xf3\xb0\xa6\x8d" // U+F098D not-equal +#define ICON_MD_NOT_EQUAL_VARIANT "\xf3\xb0\xa6\x8e" // U+F098E not-equal-variant, tags: Math +#define ICON_MD_NOTE "\xf3\xb0\x8e\x9a" // U+F039A note, aliases: paper, sticky-note, post-it-note +#define ICON_MD_NOTE_ALERT \ + "\xf3\xb1\x9d\xbd" // U+F177D note-alert, aliases: paper-alert, sticky-note-alert, post-it-note-alert, tags: Alert / + // Error +#define ICON_MD_NOTE_ALERT_OUTLINE \ + "\xf3\xb1\x9d\xbe" // U+F177E note-alert-outline, aliases: paper-alert-outline, post-it-note-alert-outline, + // sticky-note-alert-outline, tags: Alert / Error +#define ICON_MD_NOTE_CHECK "\xf3\xb1\x9d\xbf" // U+F177F note-check, aliases: paper-check, sticky-note-check, post-it-note-check +#define ICON_MD_NOTE_CHECK_OUTLINE \ + "\xf3\xb1\x9e\x80" // U+F1780 note-check-outline, aliases: paper-check-outline, sticky-note-check-outline, + // post-it-note-check-outline +#define ICON_MD_NOTE_EDIT \ + "\xf3\xb1\x9e\x81" // U+F1781 note-edit, aliases: paper-edit, sticky-note-edit, post-it-note-edit, tags: Edit / + // Modify +#define ICON_MD_NOTE_EDIT_OUTLINE \ + "\xf3\xb1\x9e\x82" // U+F1782 note-edit-outline, aliases: paper-edit-outline, sticky-note-edit-outline, + // post-it-note-edit-outline, tags: Edit / Modify +#define ICON_MD_NOTE_MINUS "\xf3\xb1\x99\x8f" // U+F164F note-minus, aliases: paper-minus, sticky-note-minus, post-it-note-minus +#define ICON_MD_NOTE_MINUS_OUTLINE \ + "\xf3\xb1\x99\x90" // U+F1650 note-minus-outline, aliases: paper-minus-outline, sticky-note-minus-outline, + // post-it-note-minus-outline +#define ICON_MD_NOTE_MULTIPLE "\xf3\xb0\x9a\xb8" // U+F06B8 note-multiple, aliases: notes, papers, sticky-notes, post-it-notes +#define ICON_MD_NOTE_MULTIPLE_OUTLINE \ + "\xf3\xb0\x9a\xb9" // U+F06B9 note-multiple-outline, aliases: notes-outline, papers-outline, sticky-notes-outline, + // post-it-notes-outline +#define ICON_MD_NOTE_OFF "\xf3\xb1\x9e\x83" // U+F1783 note-off, aliases: paper-off, sticky-note-off, post-it-note-off +#define ICON_MD_NOTE_OFF_OUTLINE \ + "\xf3\xb1\x9e\x84" // U+F1784 note-off-outline, aliases: paper-off-outline, sticky-note-off-outline, + // post-it-note-off-outline +#define ICON_MD_NOTE_OUTLINE "\xf3\xb0\x8e\x9b" // U+F039B note-outline, aliases: paper-outline, sticky-note-outline, post-it-note-outline +#define ICON_MD_NOTE_PLUS \ + "\xf3\xb0\x8e\x9c" // U+F039C note-plus, aliases: note-add, paper-plus, paper-add, sticky-note-plus, + // sticky-note-add, post-it-note-plus, post-it-note-add +#define ICON_MD_NOTE_PLUS_OUTLINE \ + "\xf3\xb0\x8e\x9d" // U+F039D note-plus-outline, aliases: note-add-outline, paper-plus-outline, paper-add-outline, + // sticky-note-plus-outline, sticky-note-add-outline, post-it-note-plus-outline, + // post-it-note-add-outline +#define ICON_MD_NOTE_REMOVE "\xf3\xb1\x99\x91" // U+F1651 note-remove, aliases: paper-remove, sticky-note-remove, post-it-note-remove +#define ICON_MD_NOTE_REMOVE_OUTLINE "\xf3\xb1\x99\x92" // U+F1652 note-remove-outline +#define ICON_MD_NOTE_SEARCH "\xf3\xb1\x99\x93" // U+F1653 note-search, aliases: paper-search, sticky-note-search, post-it-note-search +#define ICON_MD_NOTE_SEARCH_OUTLINE \ + "\xf3\xb1\x99\x94" // U+F1654 note-search-outline, aliases: paper-search-outline, sticky-note-search-outline, + // post-it-note-search-outline +#define ICON_MD_NOTE_TEXT "\xf3\xb0\x8e\x9e" // U+F039E note-text, aliases: paper-text, sticky-note-text, post-it-note-text +#define ICON_MD_NOTE_TEXT_OUTLINE \ + "\xf3\xb1\x87\x97" // U+F11D7 note-text-outline, aliases: paper-text-outline, sticky-note-text-outline, + // post-it-note-text-outline +#define ICON_MD_NOTEBOOK "\xf3\xb0\xa0\xae" // U+F082E notebook, aliases: journal, planner, diary +#define ICON_MD_NOTEBOOK_CHECK "\xf3\xb1\x93\xb5" // U+F14F5 notebook-check +#define ICON_MD_NOTEBOOK_CHECK_OUTLINE "\xf3\xb1\x93\xb6" // U+F14F6 notebook-check-outline +#define ICON_MD_NOTEBOOK_EDIT "\xf3\xb1\x93\xa7" // U+F14E7 notebook-edit, tags: Edit / Modify +#define ICON_MD_NOTEBOOK_EDIT_OUTLINE "\xf3\xb1\x93\xa9" // U+F14E9 notebook-edit-outline, tags: Edit / Modify +#define ICON_MD_NOTEBOOK_HEART "\xf3\xb1\xa8\x8b" // U+F1A0B notebook-heart, aliases: notebook-favorite, notebook-love +#define ICON_MD_NOTEBOOK_HEART_OUTLINE "\xf3\xb1\xa8\x8c" // U+F1A0C notebook-heart-outline, aliases: notebook-favorite-outline, notebook-love-outline +#define ICON_MD_NOTEBOOK_MINUS "\xf3\xb1\x98\x90" // U+F1610 notebook-minus +#define ICON_MD_NOTEBOOK_MINUS_OUTLINE "\xf3\xb1\x98\x91" // U+F1611 notebook-minus-outline +#define ICON_MD_NOTEBOOK_MULTIPLE "\xf3\xb0\xb9\x95" // U+F0E55 notebook-multiple, aliases: journal-multiple, planner-multiple +#define ICON_MD_NOTEBOOK_OUTLINE "\xf3\xb0\xba\xbf" // U+F0EBF notebook-outline, aliases: journal-outline, planner-outline +#define ICON_MD_NOTEBOOK_PLUS "\xf3\xb1\x98\x92" // U+F1612 notebook-plus +#define ICON_MD_NOTEBOOK_PLUS_OUTLINE "\xf3\xb1\x98\x93" // U+F1613 notebook-plus-outline +#define ICON_MD_NOTEBOOK_REMOVE "\xf3\xb1\x98\x94" // U+F1614 notebook-remove +#define ICON_MD_NOTEBOOK_REMOVE_OUTLINE "\xf3\xb1\x98\x95" // U+F1615 notebook-remove-outline +#define ICON_MD_NOTIFICATION_CLEAR_ALL "\xf3\xb0\x8e\x9f" // U+F039F notification-clear-all, tags: Notification +#define ICON_MD_NPM "\xf3\xb0\x9b\xb7" // U+F06F7 npm, tags: Brand / Logo +#define ICON_MD_NUKE "\xf3\xb0\x9a\xa4" // U+F06A4 nuke, aliases: nuclear, atomic-bomb +#define ICON_MD_NULL "\xf3\xb0\x9f\xa2" // U+F07E2 null +#define ICON_MD_NUMERIC "\xf3\xb0\x8e\xa0" // U+F03A0 numeric, aliases: numbers, 1-2-3, one-two-three, 123, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_0 "\xf3\xb0\xac\xb9" // U+F0B39 numeric-0, aliases: number-0, numeric-zero, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_0_BOX "\xf3\xb0\x8e\xa1" // U+F03A1 numeric-0-box, aliases: numeric-zero-box, number-0-box, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_0_BOX_MULTIPLE "\xf3\xb0\xbc\x8e" // U+F0F0E numeric-0-box-multiple, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_0_BOX_MULTIPLE_OUTLINE \ + "\xf3\xb0\x8e\xa2" // U+F03A2 numeric-0-box-multiple-outline, aliases: numeric-zero-box-multiple-outline, + // numeric-0-boxes-outline, number-0-box-multiple-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_0_BOX_OUTLINE \ + "\xf3\xb0\x8e\xa3" // U+F03A3 numeric-0-box-outline, aliases: numeric-zero-box-outline, number-0-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_NUMERIC_0_CIRCLE \ + "\xf3\xb0\xb2\x9e" // U+F0C9E numeric-0-circle, aliases: numeric-zero-circle, number-0-circle, number-zero-circle, + // tags: Alpha / Numeric +#define ICON_MD_NUMERIC_0_CIRCLE_OUTLINE \ + "\xf3\xb0\xb2\x9f" // U+F0C9F numeric-0-circle-outline, aliases: numeric-zero-circle-outline, + // number-0-circle-outline, number-zero-circle-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_1 "\xf3\xb0\xac\xba" // U+F0B3A numeric-1, aliases: number-1, numeric-one, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_1_BOX \ + "\xf3\xb0\x8e\xa4" // U+F03A4 numeric-1-box, aliases: looks-one, numeric-one-box, number-1-box, tags: Alpha / + // Numeric +#define ICON_MD_NUMERIC_1_BOX_MULTIPLE "\xf3\xb0\xbc\x8f" // U+F0F0F numeric-1-box-multiple, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_1_BOX_MULTIPLE_OUTLINE \ + "\xf3\xb0\x8e\xa5" // U+F03A5 numeric-1-box-multiple-outline, aliases: filter-1, numeric-one-box-multiple-outline, + // numeric-1-boxes-outline, number-1-box-multiple-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_1_BOX_OUTLINE \ + "\xf3\xb0\x8e\xa6" // U+F03A6 numeric-1-box-outline, aliases: numeric-one-box-outline, number-1-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_NUMERIC_1_CIRCLE \ + "\xf3\xb0\xb2\xa0" // U+F0CA0 numeric-1-circle, aliases: numeric-one-circle, number-1-circle, number-one-circle, + // tags: Alpha / Numeric +#define ICON_MD_NUMERIC_1_CIRCLE_OUTLINE \ + "\xf3\xb0\xb2\xa1" // U+F0CA1 numeric-1-circle-outline, aliases: numeric-one-circle-outline, + // number-1-circle-outline, number-one-circle-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_10 "\xf3\xb0\xbf\xa9" // U+F0FE9 numeric-10, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_10_BOX "\xf3\xb0\xbd\xbd" // U+F0F7D numeric-10-box, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_10_BOX_MULTIPLE "\xf3\xb0\xbf\xaa" // U+F0FEA numeric-10-box-multiple, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_10_BOX_MULTIPLE_OUTLINE "\xf3\xb0\xbf\xab" // U+F0FEB numeric-10-box-multiple-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_10_BOX_OUTLINE "\xf3\xb0\xbd\xbe" // U+F0F7E numeric-10-box-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_10_CIRCLE "\xf3\xb0\xbf\xac" // U+F0FEC numeric-10-circle, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_10_CIRCLE_OUTLINE "\xf3\xb0\xbf\xad" // U+F0FED numeric-10-circle-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_2 "\xf3\xb0\xac\xbb" // U+F0B3B numeric-2, aliases: number-2, numeric-two, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_2_BOX \ + "\xf3\xb0\x8e\xa7" // U+F03A7 numeric-2-box, aliases: looks-two, numeric-two-box, number-2-box, tags: Alpha / + // Numeric +#define ICON_MD_NUMERIC_2_BOX_MULTIPLE "\xf3\xb0\xbc\x90" // U+F0F10 numeric-2-box-multiple, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_2_BOX_MULTIPLE_OUTLINE \ + "\xf3\xb0\x8e\xa8" // U+F03A8 numeric-2-box-multiple-outline, aliases: filter-2, numeric-two-box-multiple-outline, + // numeric-2-boxes-outline, number-2-box-multiple-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_2_BOX_OUTLINE \ + "\xf3\xb0\x8e\xa9" // U+F03A9 numeric-2-box-outline, aliases: numeric-two-box-outline, number-2-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_NUMERIC_2_CIRCLE \ + "\xf3\xb0\xb2\xa2" // U+F0CA2 numeric-2-circle, aliases: numeric-two-circle, number-2-circle, number-two-circle, + // tags: Alpha / Numeric +#define ICON_MD_NUMERIC_2_CIRCLE_OUTLINE \ + "\xf3\xb0\xb2\xa3" // U+F0CA3 numeric-2-circle-outline, aliases: numeric-two-circle-outline, + // number-2-circle-outline, number-two-circle-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_3 "\xf3\xb0\xac\xbc" // U+F0B3C numeric-3, aliases: number-3, numeric-three, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_3_BOX \ + "\xf3\xb0\x8e\xaa" // U+F03AA numeric-3-box, aliases: looks-3, numeric-three-box, number-3-box, tags: Alpha / + // Numeric +#define ICON_MD_NUMERIC_3_BOX_MULTIPLE "\xf3\xb0\xbc\x91" // U+F0F11 numeric-3-box-multiple, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_3_BOX_MULTIPLE_OUTLINE \ + "\xf3\xb0\x8e\xab" // U+F03AB numeric-3-box-multiple-outline, aliases: filter-3, numeric-three-box-multiple-outline, + // numeric-3-boxes-outline, number-3-box-multiple-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_3_BOX_OUTLINE \ + "\xf3\xb0\x8e\xac" // U+F03AC numeric-3-box-outline, aliases: numeric-three-box-outline, number-3-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_NUMERIC_3_CIRCLE \ + "\xf3\xb0\xb2\xa4" // U+F0CA4 numeric-3-circle, aliases: numeric-three-circle, number-3-circle, number-three-circle, + // tags: Alpha / Numeric +#define ICON_MD_NUMERIC_3_CIRCLE_OUTLINE \ + "\xf3\xb0\xb2\xa5" // U+F0CA5 numeric-3-circle-outline, aliases: numeric-three-circle-outline, + // number-3-circle-outline, number-three-circle-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_4 "\xf3\xb0\xac\xbd" // U+F0B3D numeric-4, aliases: number-4, numeric-four, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_4_BOX "\xf3\xb0\x8e\xad" // U+F03AD numeric-4-box, aliases: looks-4, numeric-four-box, number-4-box, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_4_BOX_MULTIPLE "\xf3\xb0\xbc\x92" // U+F0F12 numeric-4-box-multiple, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_4_BOX_MULTIPLE_OUTLINE \ + "\xf3\xb0\x8e\xb2" // U+F03B2 numeric-4-box-multiple-outline, aliases: filter-4, numeric-four-box-multiple-outline, + // numeric-4-boxes-outline, number-4-box-multiple-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_4_BOX_OUTLINE \ + "\xf3\xb0\x8e\xae" // U+F03AE numeric-4-box-outline, aliases: numeric-four-box-outline, number-4-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_NUMERIC_4_CIRCLE \ + "\xf3\xb0\xb2\xa6" // U+F0CA6 numeric-4-circle, aliases: numeric-four-circle, number-4-circle, number-four-circle, + // tags: Alpha / Numeric +#define ICON_MD_NUMERIC_4_CIRCLE_OUTLINE \ + "\xf3\xb0\xb2\xa7" // U+F0CA7 numeric-4-circle-outline, aliases: numeric-four-circle-outline, + // number-4-circle-outline, number-four-circle-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_5 "\xf3\xb0\xac\xbe" // U+F0B3E numeric-5, aliases: number-5, numeric-five, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_5_BOX "\xf3\xb0\x8e\xb1" // U+F03B1 numeric-5-box, aliases: looks-5, numeric-five-box, number-5-box, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_5_BOX_MULTIPLE "\xf3\xb0\xbc\x93" // U+F0F13 numeric-5-box-multiple, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_5_BOX_MULTIPLE_OUTLINE \ + "\xf3\xb0\x8e\xaf" // U+F03AF numeric-5-box-multiple-outline, aliases: filter-5, numeric-five-box-multiple-outline, + // numeric-5-boxes-outline, number-5-box-multiple-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_5_BOX_OUTLINE \ + "\xf3\xb0\x8e\xb0" // U+F03B0 numeric-5-box-outline, aliases: numeric-five-box-outline, number-5-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_NUMERIC_5_CIRCLE \ + "\xf3\xb0\xb2\xa8" // U+F0CA8 numeric-5-circle, aliases: numeric-five-circle, number-5-circle, number-five-circle, + // tags: Alpha / Numeric +#define ICON_MD_NUMERIC_5_CIRCLE_OUTLINE \ + "\xf3\xb0\xb2\xa9" // U+F0CA9 numeric-5-circle-outline, aliases: numeric-five-circle-outline, + // number-5-circle-outline, number-five-circle-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_6 "\xf3\xb0\xac\xbf" // U+F0B3F numeric-6, aliases: number-6, numeric-six, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_6_BOX "\xf3\xb0\x8e\xb3" // U+F03B3 numeric-6-box, aliases: looks-6, numeric-six-box, number-6-box, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_6_BOX_MULTIPLE "\xf3\xb0\xbc\x94" // U+F0F14 numeric-6-box-multiple, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_6_BOX_MULTIPLE_OUTLINE \ + "\xf3\xb0\x8e\xb4" // U+F03B4 numeric-6-box-multiple-outline, aliases: filter-6, numeric-six-box-multiple-outline, + // numeric-6-boxes-outline, number-6-box-multiple-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_6_BOX_OUTLINE \ + "\xf3\xb0\x8e\xb5" // U+F03B5 numeric-6-box-outline, aliases: numeric-six-box-outline, number-6-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_NUMERIC_6_CIRCLE \ + "\xf3\xb0\xb2\xaa" // U+F0CAA numeric-6-circle, aliases: numeric-six-circle, number-6-circle, number-six-circle, + // tags: Alpha / Numeric +#define ICON_MD_NUMERIC_6_CIRCLE_OUTLINE \ + "\xf3\xb0\xb2\xab" // U+F0CAB numeric-6-circle-outline, aliases: numeric-six-circle-outline, + // number-6-circle-outline, number-six-circle-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_7 "\xf3\xb0\xad\x80" // U+F0B40 numeric-7, aliases: number-7, numeric-seven, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_7_BOX "\xf3\xb0\x8e\xb6" // U+F03B6 numeric-7-box, aliases: numeric-seven-box, number-7-box, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_7_BOX_MULTIPLE "\xf3\xb0\xbc\x95" // U+F0F15 numeric-7-box-multiple, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_7_BOX_MULTIPLE_OUTLINE \ + "\xf3\xb0\x8e\xb7" // U+F03B7 numeric-7-box-multiple-outline, aliases: filter-7, numeric-seven-box-multiple-outline, + // numeric-7-boxes-outline, number-7-box-multiple-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_7_BOX_OUTLINE \ + "\xf3\xb0\x8e\xb8" // U+F03B8 numeric-7-box-outline, aliases: numeric-seven-box-outline, number-7-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_NUMERIC_7_CIRCLE \ + "\xf3\xb0\xb2\xac" // U+F0CAC numeric-7-circle, aliases: numeric-seven-circle, number-7-circle, number-seven-circle, + // tags: Alpha / Numeric +#define ICON_MD_NUMERIC_7_CIRCLE_OUTLINE \ + "\xf3\xb0\xb2\xad" // U+F0CAD numeric-7-circle-outline, aliases: numeric-seven-circle-outline, + // number-7-circle-outline, number-seven-circle-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_8 "\xf3\xb0\xad\x81" // U+F0B41 numeric-8, aliases: number-8, numeric-eight, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_8_BOX "\xf3\xb0\x8e\xb9" // U+F03B9 numeric-8-box, aliases: numeric-eight-box, number-8-box, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_8_BOX_MULTIPLE "\xf3\xb0\xbc\x96" // U+F0F16 numeric-8-box-multiple, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_8_BOX_MULTIPLE_OUTLINE \ + "\xf3\xb0\x8e\xba" // U+F03BA numeric-8-box-multiple-outline, aliases: filter-8, numeric-eight-box-multiple-outline, + // numeric-8-boxes-outline, number-8-box-multiple-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_8_BOX_OUTLINE \ + "\xf3\xb0\x8e\xbb" // U+F03BB numeric-8-box-outline, aliases: numeric-eight-box-outline, number-8-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_NUMERIC_8_CIRCLE \ + "\xf3\xb0\xb2\xae" // U+F0CAE numeric-8-circle, aliases: numeric-eight-circle, number-8-circle, number-eight-circle, + // tags: Alpha / Numeric +#define ICON_MD_NUMERIC_8_CIRCLE_OUTLINE \ + "\xf3\xb0\xb2\xaf" // U+F0CAF numeric-8-circle-outline, aliases: numeric-eight-circle-outline, + // number-8-circle-outline, number-eight-circle-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_9 "\xf3\xb0\xad\x82" // U+F0B42 numeric-9, aliases: number-9, numeric-nine, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_9_BOX "\xf3\xb0\x8e\xbc" // U+F03BC numeric-9-box, aliases: numeric-nine-box, number-9-box, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_9_BOX_MULTIPLE "\xf3\xb0\xbc\x97" // U+F0F17 numeric-9-box-multiple, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_9_BOX_MULTIPLE_OUTLINE \ + "\xf3\xb0\x8e\xbd" // U+F03BD numeric-9-box-multiple-outline, aliases: filter-9, numeric-nine-box-multiple-outline, + // numeric-9-boxes-outline, number-9-box-multiple-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_9_BOX_OUTLINE \ + "\xf3\xb0\x8e\xbe" // U+F03BE numeric-9-box-outline, aliases: numeric-nine-box-outline, number-9-box-outline, tags: + // Alpha / Numeric +#define ICON_MD_NUMERIC_9_CIRCLE \ + "\xf3\xb0\xb2\xb0" // U+F0CB0 numeric-9-circle, aliases: numeric-nine-circle, number-9-circle, number-nine-circle, + // tags: Alpha / Numeric +#define ICON_MD_NUMERIC_9_CIRCLE_OUTLINE \ + "\xf3\xb0\xb2\xb1" // U+F0CB1 numeric-9-circle-outline, aliases: numeric-nine-circle-outline, + // number-9-circle-outline, number-nine-circle-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_9_PLUS "\xf3\xb0\xbf\xae" // U+F0FEE numeric-9-plus, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_9_PLUS_BOX \ + "\xf3\xb0\x8e\xbf" // U+F03BF numeric-9-plus-box, aliases: numeric-nine-plus-box, number-9-plus-box, tags: Alpha / + // Numeric +#define ICON_MD_NUMERIC_9_PLUS_BOX_MULTIPLE "\xf3\xb0\xbc\x98" // U+F0F18 numeric-9-plus-box-multiple, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_9_PLUS_BOX_MULTIPLE_OUTLINE \ + "\xf3\xb0\x8f\x80" // U+F03C0 numeric-9-plus-box-multiple-outline, aliases: filter-9-plus, + // numeric-nine-plus-box-multiple-outline, numeric-9-plus-boxes-outline, + // number-9-plus-box-multiple-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_9_PLUS_BOX_OUTLINE \ + "\xf3\xb0\x8f\x81" // U+F03C1 numeric-9-plus-box-outline, aliases: numeric-nine-plus-box-outline, + // number-9-plus-box-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_9_PLUS_CIRCLE \ + "\xf3\xb0\xb2\xb2" // U+F0CB2 numeric-9-plus-circle, aliases: numeric-nine-plus-circle, number-9-plus-circle, + // number-nine-plus-circle, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_9_PLUS_CIRCLE_OUTLINE \ + "\xf3\xb0\xb2\xb3" // U+F0CB3 numeric-9-plus-circle-outline, aliases: numeric-nine-plus-circle-outline, + // number-9-plus-circle-outline, number-nine-plus-circle-outline, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_NEGATIVE_1 "\xf3\xb1\x81\x92" // U+F1052 numeric-negative-1, aliases: decrement, minus-one, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_OFF "\xf3\xb1\xa7\x93" // U+F19D3 numeric-off, aliases: numbers-off, 123-off, one-two-three-off, tags: Alpha / Numeric +#define ICON_MD_NUMERIC_POSITIVE_1 "\xf3\xb1\x97\x8b" // U+F15CB numeric-positive-1, aliases: increment, plus-one, tags: Alpha / Numeric +#define ICON_MD_NUT "\xf3\xb0\x9b\xb8" // U+F06F8 nut, tags: Hardware / Tools +#define ICON_MD_NUTRITION "\xf3\xb0\x8f\x82" // U+F03C2 nutrition, tags: Food / Drink +#define ICON_MD_NUXT "\xf3\xb1\x84\x86" // U+F1106 nuxt, tags: Developer / Languages, Brand / Logo +#define ICON_MD_OAR "\xf3\xb0\x99\xbc" // U+F067C oar +#define ICON_MD_OCARINA "\xf3\xb0\xb7\xa0" // U+F0DE0 ocarina, tags: Music, Gaming / RPG +#define ICON_MD_OCI "\xf3\xb1\x8b\xa9" // U+F12E9 oci, aliases: open-container-initiative, tags: Developer / Languages, Brand / Logo +#define ICON_MD_OCR "\xf3\xb1\x84\xba" // U+F113A ocr, aliases: optical-character-recognition +#define ICON_MD_OCTAGON "\xf3\xb0\x8f\x83" // U+F03C3 octagon, aliases: stop, tags: Shape, Transportation + Road +#define ICON_MD_OCTAGON_OUTLINE "\xf3\xb0\x8f\x84" // U+F03C4 octagon-outline, aliases: stop-outline, tags: Shape, Transportation + Road +#define ICON_MD_OCTAGRAM "\xf3\xb0\x9b\xb9" // U+F06F9 octagram, aliases: starburst, tags: Shape +#define ICON_MD_OCTAGRAM_OUTLINE "\xf3\xb0\x9d\xb5" // U+F0775 octagram-outline, aliases: starburst-outline, tags: Shape +#define ICON_MD_OCTAHEDRON "\xf3\xb1\xa5\x90" // U+F1950 octahedron, tags: Shape +#define ICON_MD_OCTAHEDRON_OFF "\xf3\xb1\xa5\x91" // U+F1951 octahedron-off, tags: Shape +#define ICON_MD_ODNOKLASSNIKI "\xf3\xb0\x8f\x85" // U+F03C5 odnoklassniki, aliases: ok-ru, tags: Brand / Logo +#define ICON_MD_OFFER "\xf3\xb1\x88\x9b" // U+F121B offer +#define ICON_MD_OFFICE_BUILDING "\xf3\xb0\xa6\x91" // U+F0991 office-building, tags: Places +#define ICON_MD_OFFICE_BUILDING_COG "\xf3\xb1\xa5\x89" // U+F1949 office-building-cog, aliases: office-building-settings, tags: Settings, Places +#define ICON_MD_OFFICE_BUILDING_COG_OUTLINE \ + "\xf3\xb1\xa5\x8a" // U+F194A office-building-cog-outline, aliases: office-building-settings-outline, tags: + // Settings, Places +#define ICON_MD_OFFICE_BUILDING_MARKER "\xf3\xb1\x94\xa0" // U+F1520 office-building-marker, aliases: office-building-location, tags: Navigation, Places +#define ICON_MD_OFFICE_BUILDING_MARKER_OUTLINE \ + "\xf3\xb1\x94\xa1" // U+F1521 office-building-marker-outline, aliases: office-building-location-outline, tags: + // Navigation, Places +#define ICON_MD_OFFICE_BUILDING_MINUS "\xf3\xb1\xae\xaa" // U+F1BAA office-building-minus +#define ICON_MD_OFFICE_BUILDING_MINUS_OUTLINE "\xf3\xb1\xae\xab" // U+F1BAB office-building-minus-outline +#define ICON_MD_OFFICE_BUILDING_OUTLINE "\xf3\xb1\x94\x9f" // U+F151F office-building-outline, tags: Places +#define ICON_MD_OFFICE_BUILDING_PLUS "\xf3\xb1\xae\xa8" // U+F1BA8 office-building-plus +#define ICON_MD_OFFICE_BUILDING_PLUS_OUTLINE "\xf3\xb1\xae\xa9" // U+F1BA9 office-building-plus-outline +#define ICON_MD_OFFICE_BUILDING_REMOVE "\xf3\xb1\xae\xac" // U+F1BAC office-building-remove +#define ICON_MD_OFFICE_BUILDING_REMOVE_OUTLINE "\xf3\xb1\xae\xad" // U+F1BAD office-building-remove-outline +#define ICON_MD_OIL "\xf3\xb0\x8f\x87" // U+F03C7 oil, tags: Automotive +#define ICON_MD_OIL_LAMP "\xf3\xb0\xbc\x99" // U+F0F19 oil-lamp, aliases: wish, genie-lamp +#define ICON_MD_OIL_LEVEL "\xf3\xb1\x81\x93" // U+F1053 oil-level, tags: Automotive +#define ICON_MD_OIL_TEMPERATURE "\xf3\xb0\xbf\xb8" // U+F0FF8 oil-temperature, tags: Automotive +#define ICON_MD_OM "\xf3\xb0\xa5\xb3" // U+F0973 om, aliases: religion-hindu, hinduism, tags: Religion +#define ICON_MD_OMEGA "\xf3\xb0\x8f\x89" // U+F03C9 omega, aliases: ohm, electrical-resistance +#define ICON_MD_ONE_UP "\xf3\xb0\xae\xad" // U+F0BAD one-up, aliases: 1up, extra-life, tags: Gaming / RPG +#define ICON_MD_ONEPASSWORD "\xf3\xb0\xa2\x81" // U+F0881 onepassword, aliases: 1password, tags: Brand / Logo +#define ICON_MD_OPACITY "\xf3\xb0\x97\x8c" // U+F05CC opacity +#define ICON_MD_OPEN_IN_APP "\xf3\xb0\x8f\x8b" // U+F03CB open-in-app, aliases: open-in-browser +#define ICON_MD_OPEN_IN_NEW "\xf3\xb0\x8f\x8c" // U+F03CC open-in-new, aliases: external-link +#define ICON_MD_OPEN_SOURCE_INITIATIVE "\xf3\xb0\xae\xae" // U+F0BAE open-source-initiative, tags: Brand / Logo +#define ICON_MD_OPENID "\xf3\xb0\x8f\x8d" // U+F03CD openid, tags: Brand / Logo +#define ICON_MD_OPERA "\xf3\xb0\x8f\x8e" // U+F03CE opera, tags: Brand / Logo +#define ICON_MD_ORBIT "\xf3\xb0\x80\x98" // U+F0018 orbit, tags: Science +#define ICON_MD_ORBIT_VARIANT "\xf3\xb1\x97\x9b" // U+F15DB orbit-variant, aliases: camera-flip, tags: Photography +#define ICON_MD_ORDER_ALPHABETICAL_ASCENDING "\xf3\xb0\x88\x8d" // U+F020D order-alphabetical-ascending, tags: Text / Content / Format +#define ICON_MD_ORDER_ALPHABETICAL_DESCENDING "\xf3\xb0\xb4\x87" // U+F0D07 order-alphabetical-descending, tags: Text / Content / Format +#define ICON_MD_ORDER_BOOL_ASCENDING "\xf3\xb0\x8a\xbe" // U+F02BE order-bool-ascending, tags: Text / Content / Format +#define ICON_MD_ORDER_BOOL_ASCENDING_VARIANT \ + "\xf3\xb0\xa6\x8f" // U+F098F order-bool-ascending-variant, aliases: order-checkbox-ascending, tags: Text / Content + // / Format +#define ICON_MD_ORDER_BOOL_DESCENDING \ + "\xf3\xb1\x8e\x84" // U+F1384 order-bool-descending, aliases: order-checkbox-descending, tags: Text / Content / + // Format +#define ICON_MD_ORDER_BOOL_DESCENDING_VARIANT "\xf3\xb0\xa6\x90" // U+F0990 order-bool-descending-variant, tags: Text / Content / Format +#define ICON_MD_ORDER_NUMERIC_ASCENDING "\xf3\xb0\x95\x85" // U+F0545 order-numeric-ascending, tags: Text / Content / Format +#define ICON_MD_ORDER_NUMERIC_DESCENDING "\xf3\xb0\x95\x86" // U+F0546 order-numeric-descending, tags: Text / Content / Format +#define ICON_MD_ORIGIN "\xf3\xb0\xad\x83" // U+F0B43 origin, tags: Brand / Logo +#define ICON_MD_ORNAMENT "\xf3\xb0\x8f\x8f" // U+F03CF ornament, tags: Holiday +#define ICON_MD_ORNAMENT_VARIANT "\xf3\xb0\x8f\x90" // U+F03D0 ornament-variant, tags: Holiday +#define ICON_MD_OUTDOOR_LAMP "\xf3\xb1\x81\x94" // U+F1054 outdoor-lamp, aliases: outdoor-light, tags: Home Automation +#define ICON_MD_OVERSCAN "\xf3\xb1\x80\x85" // U+F1005 overscan, aliases: fullscreen +#define ICON_MD_OWL "\xf3\xb0\x8f\x92" // U+F03D2 owl, tags: Animal, Holiday +#define ICON_MD_PAC_MAN "\xf3\xb0\xae\xaf" // U+F0BAF pac-man, tags: Gaming / RPG +#define ICON_MD_PACKAGE "\xf3\xb0\x8f\x93" // U+F03D3 package, aliases: box +#define ICON_MD_PACKAGE_CHECK "\xf3\xb1\xad\x91" // U+F1B51 package-check, aliases: package-delivered +#define ICON_MD_PACKAGE_DOWN "\xf3\xb0\x8f\x94" // U+F03D4 package-down, aliases: archive, box-down, this-side-down +#define ICON_MD_PACKAGE_UP "\xf3\xb0\x8f\x95" // U+F03D5 package-up, aliases: unarchive, box-up, this-side-up +#define ICON_MD_PACKAGE_VARIANT "\xf3\xb0\x8f\x96" // U+F03D6 package-variant, aliases: box-variant +#define ICON_MD_PACKAGE_VARIANT_CLOSED "\xf3\xb0\x8f\x97" // U+F03D7 package-variant-closed, aliases: box-variant-closed +#define ICON_MD_PACKAGE_VARIANT_CLOSED_CHECK "\xf3\xb1\xad\x92" // U+F1B52 package-variant-closed-check, aliases: package-variant-closed-delivered +#define ICON_MD_PACKAGE_VARIANT_CLOSED_MINUS \ + "\xf3\xb1\xa7\x94" // U+F19D4 package-variant-closed-minus, aliases: package-variant-closed-subtract, + // box-variant-closed-minus, box-variant-closed-subtract +#define ICON_MD_PACKAGE_VARIANT_CLOSED_PLUS \ + "\xf3\xb1\xa7\x95" // U+F19D5 package-variant-closed-plus, aliases: box-variant-closed-plus, + // package-variant-closed-add, box-variant-closed-add +#define ICON_MD_PACKAGE_VARIANT_CLOSED_REMOVE "\xf3\xb1\xa7\x96" // U+F19D6 package-variant-closed-remove, aliases: box-variant-closed-remove +#define ICON_MD_PACKAGE_VARIANT_MINUS \ + "\xf3\xb1\xa7\x97" // U+F19D7 package-variant-minus, aliases: box-variant-minus, package-variant-subtract, + // box-variant-subtract +#define ICON_MD_PACKAGE_VARIANT_PLUS "\xf3\xb1\xa7\x98" // U+F19D8 package-variant-plus, aliases: box-variant-plus, package-variant-add, box-variant-add +#define ICON_MD_PACKAGE_VARIANT_REMOVE "\xf3\xb1\xa7\x99" // U+F19D9 package-variant-remove, aliases: box-variant-remove +#define ICON_MD_PAGE_FIRST "\xf3\xb0\x98\x80" // U+F0600 page-first, aliases: first-page, chevron-left-first +#define ICON_MD_PAGE_LAST "\xf3\xb0\x98\x81" // U+F0601 page-last, aliases: last-page, chevron-right-last +#define ICON_MD_PAGE_LAYOUT_BODY "\xf3\xb0\x9b\xba" // U+F06FA page-layout-body +#define ICON_MD_PAGE_LAYOUT_FOOTER "\xf3\xb0\x9b\xbb" // U+F06FB page-layout-footer +#define ICON_MD_PAGE_LAYOUT_HEADER "\xf3\xb0\x9b\xbc" // U+F06FC page-layout-header +#define ICON_MD_PAGE_LAYOUT_HEADER_FOOTER "\xf3\xb0\xbd\xbf" // U+F0F7F page-layout-header-footer, aliases: page-layout-marginals +#define ICON_MD_PAGE_LAYOUT_SIDEBAR_LEFT "\xf3\xb0\x9b\xbd" // U+F06FD page-layout-sidebar-left +#define ICON_MD_PAGE_LAYOUT_SIDEBAR_RIGHT "\xf3\xb0\x9b\xbe" // U+F06FE page-layout-sidebar-right +#define ICON_MD_PAGE_NEXT "\xf3\xb0\xae\xb0" // U+F0BB0 page-next, aliases: read-more +#define ICON_MD_PAGE_NEXT_OUTLINE "\xf3\xb0\xae\xb1" // U+F0BB1 page-next-outline, aliases: read-more-outline +#define ICON_MD_PAGE_PREVIOUS "\xf3\xb0\xae\xb2" // U+F0BB2 page-previous +#define ICON_MD_PAGE_PREVIOUS_OUTLINE "\xf3\xb0\xae\xb3" // U+F0BB3 page-previous-outline +#define ICON_MD_PAIL "\xf3\xb1\x90\x97" // U+F1417 pail, aliases: bucket +#define ICON_MD_PAIL_MINUS "\xf3\xb1\x90\xb7" // U+F1437 pail-minus, aliases: bucket-minus +#define ICON_MD_PAIL_MINUS_OUTLINE "\xf3\xb1\x90\xbc" // U+F143C pail-minus-outline, aliases: bucket-minus-outline +#define ICON_MD_PAIL_OFF "\xf3\xb1\x90\xb9" // U+F1439 pail-off, aliases: bucket-off +#define ICON_MD_PAIL_OFF_OUTLINE "\xf3\xb1\x90\xbe" // U+F143E pail-off-outline, aliases: bucket-off-outline +#define ICON_MD_PAIL_OUTLINE "\xf3\xb1\x90\xba" // U+F143A pail-outline, aliases: bucket-outline +#define ICON_MD_PAIL_PLUS "\xf3\xb1\x90\xb6" // U+F1436 pail-plus, aliases: bucket-plus +#define ICON_MD_PAIL_PLUS_OUTLINE "\xf3\xb1\x90\xbb" // U+F143B pail-plus-outline, aliases: bucket-plus-outline +#define ICON_MD_PAIL_REMOVE "\xf3\xb1\x90\xb8" // U+F1438 pail-remove, aliases: bucket-remove +#define ICON_MD_PAIL_REMOVE_OUTLINE "\xf3\xb1\x90\xbd" // U+F143D pail-remove-outline, aliases: bucket-remove-outline +#define ICON_MD_PALETTE \ + "\xf3\xb0\x8f\x98" // U+F03D8 palette, aliases: color-lens, colour-lens, paint, art, color, tags: Color, Drawing / + // Art +#define ICON_MD_PALETTE_ADVANCED "\xf3\xb0\x8f\x99" // U+F03D9 palette-advanced, aliases: paint, tags: Color, Drawing / Art +#define ICON_MD_PALETTE_OUTLINE \ + "\xf3\xb0\xb8\x8c" // U+F0E0C palette-outline, aliases: paint-outline, tags: Drawing / Art, Color, Geographic + // Information System +#define ICON_MD_PALETTE_SWATCH "\xf3\xb0\xa2\xb5" // U+F08B5 palette-swatch, aliases: style, paint, material, tags: Drawing / Art, Color +#define ICON_MD_PALETTE_SWATCH_OUTLINE \ + "\xf3\xb1\x8d\x9c" // U+F135C palette-swatch-outline, aliases: style-outline, paint-outline, tags: Drawing / Art, + // Color +#define ICON_MD_PALETTE_SWATCH_VARIANT "\xf3\xb1\xa5\x9a" // U+F195A palette-swatch-variant, aliases: style, paint, material, tags: Drawing / Art, Color +#define ICON_MD_PALM_TREE "\xf3\xb1\x81\x95" // U+F1055 palm-tree, tags: Nature +#define ICON_MD_PAN "\xf3\xb0\xae\xb4" // U+F0BB4 pan +#define ICON_MD_PAN_BOTTOM_LEFT "\xf3\xb0\xae\xb5" // U+F0BB5 pan-bottom-left, aliases: pan-down-left +#define ICON_MD_PAN_BOTTOM_RIGHT "\xf3\xb0\xae\xb6" // U+F0BB6 pan-bottom-right, aliases: pan-down-right +#define ICON_MD_PAN_DOWN "\xf3\xb0\xae\xb7" // U+F0BB7 pan-down +#define ICON_MD_PAN_HORIZONTAL "\xf3\xb0\xae\xb8" // U+F0BB8 pan-horizontal +#define ICON_MD_PAN_LEFT "\xf3\xb0\xae\xb9" // U+F0BB9 pan-left +#define ICON_MD_PAN_RIGHT "\xf3\xb0\xae\xba" // U+F0BBA pan-right +#define ICON_MD_PAN_TOP_LEFT "\xf3\xb0\xae\xbb" // U+F0BBB pan-top-left, aliases: pan-up-left +#define ICON_MD_PAN_TOP_RIGHT "\xf3\xb0\xae\xbc" // U+F0BBC pan-top-right, aliases: pan-up-right +#define ICON_MD_PAN_UP "\xf3\xb0\xae\xbd" // U+F0BBD pan-up +#define ICON_MD_PAN_VERTICAL "\xf3\xb0\xae\xbe" // U+F0BBE pan-vertical +#define ICON_MD_PANDA "\xf3\xb0\x8f\x9a" // U+F03DA panda, aliases: emoji-panda, emoticon-panda, tags: Animal +#define ICON_MD_PANDORA "\xf3\xb0\x8f\x9b" // U+F03DB pandora, tags: Brand / Logo +#define ICON_MD_PANORAMA "\xf3\xb0\x8f\x9c" // U+F03DC panorama, tags: Photography +#define ICON_MD_PANORAMA_FISHEYE "\xf3\xb0\x8f\x9d" // U+F03DD panorama-fisheye, aliases: panorama-fish-eye +#define ICON_MD_PANORAMA_HORIZONTAL "\xf3\xb1\xa4\xa8" // U+F1928 panorama-horizontal, tags: Photography +#define ICON_MD_PANORAMA_HORIZONTAL_OUTLINE "\xf3\xb0\x8f\x9e" // U+F03DE panorama-horizontal-outline, tags: Photography +#define ICON_MD_PANORAMA_OUTLINE "\xf3\xb1\xa6\x8c" // U+F198C panorama-outline, tags: Photography +#define ICON_MD_PANORAMA_SPHERE "\xf3\xb1\xa6\x8d" // U+F198D panorama-sphere, aliases: panorama-360, tags: Photography +#define ICON_MD_PANORAMA_SPHERE_OUTLINE "\xf3\xb1\xa6\x8e" // U+F198E panorama-sphere-outline, aliases: panorama-360-outline, tags: Photography +#define ICON_MD_PANORAMA_VARIANT \ + "\xf3\xb1\xa6\x8f" // U+F198F panorama-variant, aliases: panorama-vr, image-vr, picture-vr, picture-360, image-360, + // tags: Photography +#define ICON_MD_PANORAMA_VARIANT_OUTLINE \ + "\xf3\xb1\xa6\x90" // U+F1990 panorama-variant-outline, aliases: panorama-vr-outline, image-vr-outline, + // picture-vr-outline, picture-360-outline, image-360-outline, tags: Photography +#define ICON_MD_PANORAMA_VERTICAL "\xf3\xb1\xa4\xa9" // U+F1929 panorama-vertical, tags: Photography +#define ICON_MD_PANORAMA_VERTICAL_OUTLINE "\xf3\xb0\x8f\x9f" // U+F03DF panorama-vertical-outline, tags: Photography +#define ICON_MD_PANORAMA_WIDE_ANGLE "\xf3\xb1\xa5\x9f" // U+F195F panorama-wide-angle, tags: Photography +#define ICON_MD_PANORAMA_WIDE_ANGLE_OUTLINE "\xf3\xb0\x8f\xa0" // U+F03E0 panorama-wide-angle-outline, tags: Photography +#define ICON_MD_PAPER_CUT_VERTICAL "\xf3\xb0\x8f\xa1" // U+F03E1 paper-cut-vertical +#define ICON_MD_PAPER_ROLL \ + "\xf3\xb1\x85\x97" // U+F1157 paper-roll, aliases: lavatory-roll, bathroom-tissue, toilet-paper, kitchen-roll, + // paper-towels, receipt-roll, tags: Home Automation, Printer +#define ICON_MD_PAPER_ROLL_OUTLINE \ + "\xf3\xb1\x85\x98" // U+F1158 paper-roll-outline, aliases: lavatory-roll-outline, bathroom-tissue-outline, + // kitchen-roll-outline, paper-towels-outline, toilet-paper-outline, receipt-roll-outline, tags: + // Home Automation, Printer +#define ICON_MD_PAPERCLIP "\xf3\xb0\x8f\xa2" // U+F03E2 paperclip, aliases: attachment-vertical, attach-file +#define ICON_MD_PAPERCLIP_CHECK "\xf3\xb1\xab\x86" // U+F1AC6 paperclip-check, aliases: paperclip-tick, attachment-check, attachment-tick +#define ICON_MD_PAPERCLIP_LOCK "\xf3\xb1\xa7\x9a" // U+F19DA paperclip-lock, aliases: attachment-lock, tags: Lock +#define ICON_MD_PAPERCLIP_MINUS "\xf3\xb1\xab\x87" // U+F1AC7 paperclip-minus, aliases: paperclip-subtract, attachment-minus, attachment-subtract +#define ICON_MD_PAPERCLIP_OFF "\xf3\xb1\xab\x88" // U+F1AC8 paperclip-off, aliases: attachment-off +#define ICON_MD_PAPERCLIP_PLUS "\xf3\xb1\xab\x89" // U+F1AC9 paperclip-plus, aliases: paperclip-add, attachment-plus, attachment-add +#define ICON_MD_PAPERCLIP_REMOVE "\xf3\xb1\xab\x8a" // U+F1ACA paperclip-remove, aliases: attachment-remove +#define ICON_MD_PARACHUTE "\xf3\xb0\xb2\xb4" // U+F0CB4 parachute, tags: Transportation + Flying +#define ICON_MD_PARACHUTE_OUTLINE "\xf3\xb0\xb2\xb5" // U+F0CB5 parachute-outline, tags: Transportation + Flying +#define ICON_MD_PARAGLIDING "\xf3\xb1\x9d\x85" // U+F1745 paragliding, aliases: parasail, paraglide, tags: Sport +#define ICON_MD_PARKING "\xf3\xb0\x8f\xa3" // U+F03E3 parking, aliases: car-park, local-parking, tags: Places +#define ICON_MD_PARTY_POPPER "\xf3\xb1\x81\x96" // U+F1056 party-popper, aliases: celebration, tags: Holiday +#define ICON_MD_PASSPORT "\xf3\xb0\x9f\xa3" // U+F07E3 passport +#define ICON_MD_PASSPORT_BIOMETRIC "\xf3\xb0\xb7\xa1" // U+F0DE1 passport-biometric, aliases: passport-electronic +#define ICON_MD_PASTA "\xf3\xb1\x85\xa0" // U+F1160 pasta, aliases: food-italian, spaghetti, tags: Food / Drink +#define ICON_MD_PATIO_HEATER "\xf3\xb0\xbe\x80" // U+F0F80 patio-heater, tags: Home Automation +#define ICON_MD_PATREON "\xf3\xb0\xa2\x82" // U+F0882 patreon, tags: Brand / Logo +#define ICON_MD_PAUSE "\xf3\xb0\x8f\xa4" // U+F03E4 pause, tags: Home Automation +#define ICON_MD_PAUSE_BOX "\xf3\xb0\x82\xbc" // U+F00BC pause-box, tags: Audio, Music +#define ICON_MD_PAUSE_BOX_OUTLINE "\xf3\xb1\xad\xba" // U+F1B7A pause-box-outline, tags: Audio, Music +#define ICON_MD_PAUSE_CIRCLE "\xf3\xb0\x8f\xa5" // U+F03E5 pause-circle, aliases: pause-circle-filled +#define ICON_MD_PAUSE_CIRCLE_OUTLINE "\xf3\xb0\x8f\xa6" // U+F03E6 pause-circle-outline +#define ICON_MD_PAUSE_OCTAGON "\xf3\xb0\x8f\xa7" // U+F03E7 pause-octagon, aliases: stop-pause +#define ICON_MD_PAUSE_OCTAGON_OUTLINE "\xf3\xb0\x8f\xa8" // U+F03E8 pause-octagon-outline, aliases: stop-pause-outline +#define ICON_MD_PAW "\xf3\xb0\x8f\xa9" // U+F03E9 paw, aliases: pets, tags: Animal, Nature +#define ICON_MD_PAW_OFF "\xf3\xb0\x99\x97" // U+F0657 paw-off, tags: Animal +#define ICON_MD_PAW_OFF_OUTLINE "\xf3\xb1\x99\xb6" // U+F1676 paw-off-outline, tags: Animal +#define ICON_MD_PAW_OUTLINE "\xf3\xb1\x99\xb5" // U+F1675 paw-outline, tags: Animal +#define ICON_MD_PEACE "\xf3\xb0\xa2\x84" // U+F0884 peace +#define ICON_MD_PEANUT "\xf3\xb0\xbf\xbc" // U+F0FFC peanut, aliases: allergen, food-allergy, tags: Food / Drink, Agriculture +#define ICON_MD_PEANUT_OFF "\xf3\xb0\xbf\xbd" // U+F0FFD peanut-off, aliases: allergen-off, food-allergy-off, tags: Food / Drink, Agriculture +#define ICON_MD_PEANUT_OFF_OUTLINE \ + "\xf3\xb0\xbf\xbf" // U+F0FFF peanut-off-outline, aliases: allergen-off-outline, food-allergy-off-outline, tags: + // Food / Drink, Agriculture +#define ICON_MD_PEANUT_OUTLINE \ + "\xf3\xb0\xbf\xbe" // U+F0FFE peanut-outline, aliases: allergen-outline, food-allergy-outline, tags: Food / Drink, + // Agriculture +#define ICON_MD_PEN "\xf3\xb0\x8f\xaa" // U+F03EA pen, tags: Drawing / Art +#define ICON_MD_PEN_LOCK "\xf3\xb0\xb7\xa2" // U+F0DE2 pen-lock, tags: Lock +#define ICON_MD_PEN_MINUS "\xf3\xb0\xb7\xa3" // U+F0DE3 pen-minus +#define ICON_MD_PEN_OFF "\xf3\xb0\xb7\xa4" // U+F0DE4 pen-off +#define ICON_MD_PEN_PLUS "\xf3\xb0\xb7\xa5" // U+F0DE5 pen-plus, aliases: pen-add +#define ICON_MD_PEN_REMOVE "\xf3\xb0\xb7\xa6" // U+F0DE6 pen-remove +#define ICON_MD_PENCIL "\xf3\xb0\x8f\xab" // U+F03EB pencil, aliases: edit, create, mode-edit, tags: Drawing / Art, Edit / Modify +#define ICON_MD_PENCIL_BOX "\xf3\xb0\x8f\xac" // U+F03EC pencil-box, aliases: edit-box, tags: Drawing / Art +#define ICON_MD_PENCIL_BOX_MULTIPLE "\xf3\xb1\x85\x84" // U+F1144 pencil-box-multiple, aliases: library-edit, tags: Edit / Modify +#define ICON_MD_PENCIL_BOX_MULTIPLE_OUTLINE "\xf3\xb1\x85\x85" // U+F1145 pencil-box-multiple-outline, aliases: library-edit-outline, tags: Edit / Modify +#define ICON_MD_PENCIL_BOX_OUTLINE "\xf3\xb0\x8f\xad" // U+F03ED pencil-box-outline, aliases: edit-box-outline, tags: Drawing / Art +#define ICON_MD_PENCIL_CIRCLE "\xf3\xb0\x9b\xbf" // U+F06FF pencil-circle, aliases: edit-circle, tags: Drawing / Art +#define ICON_MD_PENCIL_CIRCLE_OUTLINE "\xf3\xb0\x9d\xb6" // U+F0776 pencil-circle-outline, aliases: edit-circle-outline, tags: Drawing / Art +#define ICON_MD_PENCIL_LOCK "\xf3\xb0\x8f\xae" // U+F03EE pencil-lock, tags: Lock +#define ICON_MD_PENCIL_LOCK_OUTLINE "\xf3\xb0\xb7\xa7" // U+F0DE7 pencil-lock-outline, tags: Lock +#define ICON_MD_PENCIL_MINUS "\xf3\xb0\xb7\xa8" // U+F0DE8 pencil-minus +#define ICON_MD_PENCIL_MINUS_OUTLINE "\xf3\xb0\xb7\xa9" // U+F0DE9 pencil-minus-outline +#define ICON_MD_PENCIL_OFF "\xf3\xb0\x8f\xaf" // U+F03EF pencil-off, aliases: edit-off +#define ICON_MD_PENCIL_OFF_OUTLINE "\xf3\xb0\xb7\xaa" // U+F0DEA pencil-off-outline, aliases: edit-off-outline +#define ICON_MD_PENCIL_OUTLINE \ + "\xf3\xb0\xb2\xb6" // U+F0CB6 pencil-outline, aliases: edit-outline, create-outline, mode-edit-outline, tags: + // Drawing / Art, Edit / Modify +#define ICON_MD_PENCIL_PLUS "\xf3\xb0\xb7\xab" // U+F0DEB pencil-plus, aliases: pencil-add +#define ICON_MD_PENCIL_PLUS_OUTLINE "\xf3\xb0\xb7\xac" // U+F0DEC pencil-plus-outline, aliases: pencil-add-outline +#define ICON_MD_PENCIL_REMOVE "\xf3\xb0\xb7\xad" // U+F0DED pencil-remove +#define ICON_MD_PENCIL_REMOVE_OUTLINE "\xf3\xb0\xb7\xae" // U+F0DEE pencil-remove-outline +#define ICON_MD_PENCIL_RULER "\xf3\xb1\x8d\x93" // U+F1353 pencil-ruler, aliases: design, tags: Drawing / Art +#define ICON_MD_PENGUIN "\xf3\xb0\xbb\x80" // U+F0EC0 penguin, aliases: emoji-penguin, emoticon-penguin, linux, tags: Animal +#define ICON_MD_PENTAGON "\xf3\xb0\x9c\x81" // U+F0701 pentagon, tags: Shape +#define ICON_MD_PENTAGON_OUTLINE "\xf3\xb0\x9c\x80" // U+F0700 pentagon-outline, tags: Shape +#define ICON_MD_PENTAGRAM "\xf3\xb1\x99\xa7" // U+F1667 pentagram +#define ICON_MD_PERCENT "\xf3\xb0\x8f\xb0" // U+F03F0 percent, aliases: discount, sale, tags: Math, Shopping +#define ICON_MD_PERCENT_BOX "\xf3\xb1\xa8\x82" // U+F1A02 percent-box, aliases: discount-box, sale-box, tags: Math, Shopping +#define ICON_MD_PERCENT_BOX_OUTLINE \ + "\xf3\xb1\xa8\x83" // U+F1A03 percent-box-outline, aliases: discount-box-outline, sale-box-outline, tags: Math, + // Shopping +#define ICON_MD_PERCENT_CIRCLE "\xf3\xb1\xa8\x84" // U+F1A04 percent-circle, aliases: discount-circle, sale-circle, tags: Math, Shopping +#define ICON_MD_PERCENT_CIRCLE_OUTLINE \ + "\xf3\xb1\xa8\x85" // U+F1A05 percent-circle-outline, aliases: discount-circle-outline, sale-circle-outline, tags: + // Math, Shopping +#define ICON_MD_PERCENT_OUTLINE "\xf3\xb1\x89\xb8" // U+F1278 percent-outline, aliases: discount-outline, sale-outline, tags: Math, Shopping +#define ICON_MD_PERIODIC_TABLE "\xf3\xb0\xa2\xb6" // U+F08B6 periodic-table, tags: Science +#define ICON_MD_PERSPECTIVE_LESS "\xf3\xb0\xb4\xa3" // U+F0D23 perspective-less, aliases: perspective-decrease, tags: Math +#define ICON_MD_PERSPECTIVE_MORE "\xf3\xb0\xb4\xa4" // U+F0D24 perspective-more, aliases: perspective-increase, tags: Math +#define ICON_MD_PH \ + "\xf3\xb1\x9f\x85" // U+F17C5 ph, aliases: acid, base, potential-of-hydrogen, power-of-hydrogen, tags: Science, Home + // Automation +#define ICON_MD_PHONE "\xf3\xb0\x8f\xb2" // U+F03F2 phone, aliases: call, local-phone, telephone, tags: Cellphone / Phone +#define ICON_MD_PHONE_ALERT "\xf3\xb0\xbc\x9a" // U+F0F1A phone-alert, tags: Cellphone / Phone, Alert / Error +#define ICON_MD_PHONE_ALERT_OUTLINE "\xf3\xb1\x86\x8e" // U+F118E phone-alert-outline, tags: Cellphone / Phone, Alert / Error +#define ICON_MD_PHONE_BLUETOOTH \ + "\xf3\xb0\x8f\xb3" // U+F03F3 phone-bluetooth, aliases: phone-bluetooth-speaker, telephone-bluetooth, tags: + // Cellphone / Phone +#define ICON_MD_PHONE_BLUETOOTH_OUTLINE "\xf3\xb1\x86\x8f" // U+F118F phone-bluetooth-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_CANCEL "\xf3\xb1\x82\xbc" // U+F10BC phone-cancel, aliases: phone-block, tags: Cellphone / Phone +#define ICON_MD_PHONE_CANCEL_OUTLINE "\xf3\xb1\x86\x90" // U+F1190 phone-cancel-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_CHECK "\xf3\xb1\x86\xa9" // U+F11A9 phone-check, tags: Cellphone / Phone +#define ICON_MD_PHONE_CHECK_OUTLINE "\xf3\xb1\x86\xaa" // U+F11AA phone-check-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_CLASSIC "\xf3\xb0\x98\x82" // U+F0602 phone-classic, tags: Cellphone / Phone +#define ICON_MD_PHONE_CLASSIC_OFF "\xf3\xb1\x89\xb9" // U+F1279 phone-classic-off +#define ICON_MD_PHONE_CLOCK "\xf3\xb1\xa7\x9b" // U+F19DB phone-clock, aliases: phone-schedule, phone-time, tags: Cellphone / Phone, Date / Time +#define ICON_MD_PHONE_DIAL "\xf3\xb1\x95\x99" // U+F1559 phone-dial, aliases: phone-keypad, tags: Cellphone / Phone +#define ICON_MD_PHONE_DIAL_OUTLINE "\xf3\xb1\x95\x9a" // U+F155A phone-dial-outline, aliases: phone-keypad-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_FORWARD "\xf3\xb0\x8f\xb4" // U+F03F4 phone-forward, aliases: phone-forwarded, telephone-forward, tags: Cellphone / Phone +#define ICON_MD_PHONE_FORWARD_OUTLINE "\xf3\xb1\x86\x91" // U+F1191 phone-forward-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_HANGUP "\xf3\xb0\x8f\xb5" // U+F03F5 phone-hangup, aliases: call-end, telephone-hangup, tags: Cellphone / Phone +#define ICON_MD_PHONE_HANGUP_OUTLINE "\xf3\xb1\x86\x92" // U+F1192 phone-hangup-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_IN_TALK "\xf3\xb0\x8f\xb6" // U+F03F6 phone-in-talk, aliases: telephone-in-talk, tags: Cellphone / Phone +#define ICON_MD_PHONE_IN_TALK_OUTLINE "\xf3\xb1\x86\x82" // U+F1182 phone-in-talk-outline, aliases: telephone-in-talk-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_INCOMING "\xf3\xb0\x8f\xb7" // U+F03F7 phone-incoming, aliases: telephone-incoming, tags: Cellphone / Phone +#define ICON_MD_PHONE_INCOMING_OUTGOING "\xf3\xb1\xac\xbf" // U+F1B3F phone-incoming-outgoing, tags: Cellphone / Phone +#define ICON_MD_PHONE_INCOMING_OUTGOING_OUTLINE "\xf3\xb1\xad\x80" // U+F1B40 phone-incoming-outgoing-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_INCOMING_OUTLINE "\xf3\xb1\x86\x93" // U+F1193 phone-incoming-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_LOCK \ + "\xf3\xb0\x8f\xb8" // U+F03F8 phone-lock, aliases: telephone-locked, phone-locked, telephone-lock, tags: Cellphone / + // Phone, Lock +#define ICON_MD_PHONE_LOCK_OUTLINE "\xf3\xb1\x86\x94" // U+F1194 phone-lock-outline, tags: Cellphone / Phone, Lock +#define ICON_MD_PHONE_LOG "\xf3\xb0\x8f\xb9" // U+F03F9 phone-log, tags: Cellphone / Phone +#define ICON_MD_PHONE_LOG_OUTLINE "\xf3\xb1\x86\x95" // U+F1195 phone-log-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_MESSAGE "\xf3\xb1\x86\x96" // U+F1196 phone-message, tags: Cellphone / Phone +#define ICON_MD_PHONE_MESSAGE_OUTLINE "\xf3\xb1\x86\x97" // U+F1197 phone-message-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_MINUS "\xf3\xb0\x99\x98" // U+F0658 phone-minus, tags: Cellphone / Phone +#define ICON_MD_PHONE_MINUS_OUTLINE "\xf3\xb1\x86\x98" // U+F1198 phone-minus-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_MISSED "\xf3\xb0\x8f\xba" // U+F03FA phone-missed, tags: Cellphone / Phone +#define ICON_MD_PHONE_MISSED_OUTLINE "\xf3\xb1\x86\xa5" // U+F11A5 phone-missed-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_OFF "\xf3\xb0\xb7\xaf" // U+F0DEF phone-off, tags: Cellphone / Phone +#define ICON_MD_PHONE_OFF_OUTLINE "\xf3\xb1\x86\xa6" // U+F11A6 phone-off-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_OUTGOING "\xf3\xb0\x8f\xbb" // U+F03FB phone-outgoing, tags: Cellphone / Phone +#define ICON_MD_PHONE_OUTGOING_OUTLINE "\xf3\xb1\x86\x99" // U+F1199 phone-outgoing-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_OUTLINE "\xf3\xb0\xb7\xb0" // U+F0DF0 phone-outline, aliases: telephone-outline, call-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_PAUSED "\xf3\xb0\x8f\xbc" // U+F03FC phone-paused, tags: Cellphone / Phone +#define ICON_MD_PHONE_PAUSED_OUTLINE "\xf3\xb1\x86\x9a" // U+F119A phone-paused-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_PLUS "\xf3\xb0\x99\x99" // U+F0659 phone-plus, aliases: add-call, tags: Cellphone / Phone +#define ICON_MD_PHONE_PLUS_OUTLINE "\xf3\xb1\x86\x9b" // U+F119B phone-plus-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_REFRESH "\xf3\xb1\xa6\x93" // U+F1993 phone-refresh, aliases: phone-redial, tags: Cellphone / Phone +#define ICON_MD_PHONE_REFRESH_OUTLINE "\xf3\xb1\xa6\x94" // U+F1994 phone-refresh-outline, aliases: phone-redial-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_REMOVE "\xf3\xb1\x94\xaf" // U+F152F phone-remove, tags: Cellphone / Phone +#define ICON_MD_PHONE_REMOVE_OUTLINE "\xf3\xb1\x94\xb0" // U+F1530 phone-remove-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_RETURN "\xf3\xb0\xa0\xaf" // U+F082F phone-return, tags: Cellphone / Phone +#define ICON_MD_PHONE_RETURN_OUTLINE "\xf3\xb1\x86\x9c" // U+F119C phone-return-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_RING "\xf3\xb1\x86\xab" // U+F11AB phone-ring, tags: Cellphone / Phone +#define ICON_MD_PHONE_RING_OUTLINE "\xf3\xb1\x86\xac" // U+F11AC phone-ring-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_ROTATE_LANDSCAPE "\xf3\xb0\xa2\x85" // U+F0885 phone-rotate-landscape, tags: Cellphone / Phone +#define ICON_MD_PHONE_ROTATE_PORTRAIT "\xf3\xb0\xa2\x86" // U+F0886 phone-rotate-portrait, tags: Cellphone / Phone +#define ICON_MD_PHONE_SETTINGS "\xf3\xb0\x8f\xbd" // U+F03FD phone-settings, aliases: settings-phone, tags: Settings, Cellphone / Phone +#define ICON_MD_PHONE_SETTINGS_OUTLINE "\xf3\xb1\x86\x9d" // U+F119D phone-settings-outline, tags: Cellphone / Phone, Settings +#define ICON_MD_PHONE_SYNC "\xf3\xb1\xa6\x95" // U+F1995 phone-sync, aliases: phone-redial, tags: Cellphone / Phone +#define ICON_MD_PHONE_SYNC_OUTLINE "\xf3\xb1\xa6\x96" // U+F1996 phone-sync-outline, aliases: phone-redial-outline, tags: Cellphone / Phone +#define ICON_MD_PHONE_VOIP "\xf3\xb0\x8f\xbe" // U+F03FE phone-voip, tags: Cellphone / Phone +#define ICON_MD_PI "\xf3\xb0\x8f\xbf" // U+F03FF pi, tags: Math +#define ICON_MD_PI_BOX "\xf3\xb0\x90\x80" // U+F0400 pi-box, tags: Math +#define ICON_MD_PI_HOLE "\xf3\xb0\xb7\xb1" // U+F0DF1 pi-hole, tags: Brand / Logo +#define ICON_MD_PIANO "\xf3\xb0\x99\xbd" // U+F067D piano, tags: Music +#define ICON_MD_PIANO_OFF "\xf3\xb0\x9a\x98" // U+F0698 piano-off, tags: Music +#define ICON_MD_PICKAXE "\xf3\xb0\xa2\xb7" // U+F08B7 pickaxe +#define ICON_MD_PICTURE_IN_PICTURE_BOTTOM_RIGHT "\xf3\xb0\xb9\x97" // U+F0E57 picture-in-picture-bottom-right +#define ICON_MD_PICTURE_IN_PICTURE_BOTTOM_RIGHT_OUTLINE "\xf3\xb0\xb9\x98" // U+F0E58 picture-in-picture-bottom-right-outline +#define ICON_MD_PICTURE_IN_PICTURE_TOP_RIGHT "\xf3\xb0\xb9\x99" // U+F0E59 picture-in-picture-top-right +#define ICON_MD_PICTURE_IN_PICTURE_TOP_RIGHT_OUTLINE "\xf3\xb0\xb9\x9a" // U+F0E5A picture-in-picture-top-right-outline +#define ICON_MD_PIER "\xf3\xb0\xa2\x87" // U+F0887 pier, tags: Places, Transportation + Water +#define ICON_MD_PIER_CRANE "\xf3\xb0\xa2\x88" // U+F0888 pier-crane, tags: Transportation + Water, Places +#define ICON_MD_PIG "\xf3\xb0\x90\x81" // U+F0401 pig, aliases: emoji-pig, emoticon-pig, tags: Animal, Agriculture +#define ICON_MD_PIG_VARIANT "\xf3\xb1\x80\x86" // U+F1006 pig-variant, tags: Animal, Agriculture +#define ICON_MD_PIG_VARIANT_OUTLINE "\xf3\xb1\x99\xb8" // U+F1678 pig-variant-outline, tags: Agriculture, Animal +#define ICON_MD_PIGGY_BANK "\xf3\xb1\x80\x87" // U+F1007 piggy-bank, tags: Banking +#define ICON_MD_PIGGY_BANK_OUTLINE "\xf3\xb1\x99\xb9" // U+F1679 piggy-bank-outline, tags: Banking +#define ICON_MD_PILL "\xf3\xb0\x90\x82" // U+F0402 pill, aliases: medicine, capsule, drug, pharmaceutical, tags: Medical / Hospital +#define ICON_MD_PILL_MULTIPLE "\xf3\xb1\xad\x8c" // U+F1B4C pill-multiple, aliases: medicine, medication, drugs, tags: Medical / Hospital +#define ICON_MD_PILL_OFF \ + "\xf3\xb1\xa9\x9c" // U+F1A5C pill-off, aliases: medicine-off, capsule-off, drug-off, pharmaceutical-off, tags: + // Medical / Hospital +#define ICON_MD_PILLAR "\xf3\xb0\x9c\x82" // U+F0702 pillar, aliases: historic, column +#define ICON_MD_PIN "\xf3\xb0\x90\x83" // U+F0403 pin, aliases: keep +#define ICON_MD_PIN_OFF "\xf3\xb0\x90\x84" // U+F0404 pin-off, aliases: keep-off +#define ICON_MD_PIN_OFF_OUTLINE "\xf3\xb0\xa4\xb0" // U+F0930 pin-off-outline, aliases: keep-off-outline +#define ICON_MD_PIN_OUTLINE "\xf3\xb0\xa4\xb1" // U+F0931 pin-outline, aliases: keep-outline +#define ICON_MD_PINE_TREE "\xf3\xb0\x90\x85" // U+F0405 pine-tree, aliases: forest, plant, tags: Holiday, Nature, Places +#define ICON_MD_PINE_TREE_BOX "\xf3\xb0\x90\x86" // U+F0406 pine-tree-box, aliases: plant, tags: Holiday, Nature +#define ICON_MD_PINE_TREE_FIRE "\xf3\xb1\x90\x9a" // U+F141A pine-tree-fire, tags: Nature +#define ICON_MD_PINTEREST "\xf3\xb0\x90\x87" // U+F0407 pinterest, tags: Brand / Logo +#define ICON_MD_PINWHEEL "\xf3\xb0\xab\x95" // U+F0AD5 pinwheel, aliases: toys +#define ICON_MD_PINWHEEL_OUTLINE "\xf3\xb0\xab\x96" // U+F0AD6 pinwheel-outline, aliases: toys-outline +#define ICON_MD_PIPE "\xf3\xb0\x9f\xa5" // U+F07E5 pipe, tags: Home Automation +#define ICON_MD_PIPE_DISCONNECTED "\xf3\xb0\x9f\xa6" // U+F07E6 pipe-disconnected, tags: Home Automation +#define ICON_MD_PIPE_LEAK "\xf3\xb0\xa2\x89" // U+F0889 pipe-leak, tags: Home Automation +#define ICON_MD_PIPE_VALVE "\xf3\xb1\xa1\x8d" // U+F184D pipe-valve, tags: Home Automation +#define ICON_MD_PIPE_WRENCH "\xf3\xb1\x8d\x94" // U+F1354 pipe-wrench, aliases: monkey-wrench, tags: Hardware / Tools +#define ICON_MD_PIRATE "\xf3\xb0\xa8\x88" // U+F0A08 pirate +#define ICON_MD_PISTOL "\xf3\xb0\x9c\x83" // U+F0703 pistol, aliases: gun +#define ICON_MD_PISTON "\xf3\xb0\xa2\x8a" // U+F088A piston, tags: Automotive +#define ICON_MD_PITCHFORK "\xf3\xb1\x95\x93" // U+F1553 pitchfork, tags: Hardware / Tools +#define ICON_MD_PIZZA "\xf3\xb0\x90\x89" // U+F0409 pizza, aliases: pizzeria, local-pizza, tags: Food / Drink, Places +#define ICON_MD_PLANE_CAR \ + "\xf3\xb1\xab\xbf" // U+F1AFF plane-car, aliases: airport-shuttle, airport-taxi, airplane-car, tags: Transportation + // + Flying, Transportation + Road +#define ICON_MD_PLANE_TRAIN \ + "\xf3\xb1\xac\x80" // U+F1B00 plane-train, aliases: airport-shuttle, airplane-train, tags: Transportation + Flying, + // Transportation + Other +#define ICON_MD_PLAY "\xf3\xb0\x90\x8a" // U+F040A play, aliases: play-arrow, tags: Home Automation +#define ICON_MD_PLAY_BOX "\xf3\xb1\x89\xba" // U+F127A play-box +#define ICON_MD_PLAY_BOX_LOCK "\xf3\xb1\xa8\x96" // U+F1A16 play-box-lock, tags: Video / Movie, Lock +#define ICON_MD_PLAY_BOX_LOCK_OPEN "\xf3\xb1\xa8\x97" // U+F1A17 play-box-lock-open, tags: Video / Movie, Lock +#define ICON_MD_PLAY_BOX_LOCK_OPEN_OUTLINE "\xf3\xb1\xa8\x98" // U+F1A18 play-box-lock-open-outline, tags: Video / Movie, Lock +#define ICON_MD_PLAY_BOX_LOCK_OUTLINE "\xf3\xb1\xa8\x99" // U+F1A19 play-box-lock-outline, tags: Video / Movie, Lock +#define ICON_MD_PLAY_BOX_MULTIPLE "\xf3\xb0\xb4\x99" // U+F0D19 play-box-multiple +#define ICON_MD_PLAY_BOX_MULTIPLE_OUTLINE "\xf3\xb1\x8f\xa6" // U+F13E6 play-box-multiple-outline +#define ICON_MD_PLAY_BOX_OUTLINE "\xf3\xb0\x90\x8b" // U+F040B play-box-outline, aliases: slideshow +#define ICON_MD_PLAY_CIRCLE "\xf3\xb0\x90\x8c" // U+F040C play-circle, aliases: play-circle-filled +#define ICON_MD_PLAY_CIRCLE_OUTLINE "\xf3\xb0\x90\x8d" // U+F040D play-circle-outline +#define ICON_MD_PLAY_NETWORK "\xf3\xb0\xa2\x8b" // U+F088B play-network, aliases: media-network +#define ICON_MD_PLAY_NETWORK_OUTLINE "\xf3\xb0\xb2\xb7" // U+F0CB7 play-network-outline, aliases: media-network-outline +#define ICON_MD_PLAY_OUTLINE "\xf3\xb0\xbc\x9b" // U+F0F1B play-outline +#define ICON_MD_PLAY_PAUSE "\xf3\xb0\x90\x8e" // U+F040E play-pause, tags: Home Automation +#define ICON_MD_PLAY_PROTECTED_CONTENT "\xf3\xb0\x90\x8f" // U+F040F play-protected-content +#define ICON_MD_PLAY_SPEED "\xf3\xb0\xa3\xbf" // U+F08FF play-speed +#define ICON_MD_PLAYLIST_CHECK "\xf3\xb0\x97\x87" // U+F05C7 playlist-check, aliases: subscriptions, playlist-add-check, playlist-tick +#define ICON_MD_PLAYLIST_EDIT "\xf3\xb0\xa4\x80" // U+F0900 playlist-edit, tags: Edit / Modify +#define ICON_MD_PLAYLIST_MINUS "\xf3\xb0\x90\x90" // U+F0410 playlist-minus +#define ICON_MD_PLAYLIST_MUSIC "\xf3\xb0\xb2\xb8" // U+F0CB8 playlist-music, aliases: playlist-note, queue-music, tags: Music +#define ICON_MD_PLAYLIST_MUSIC_OUTLINE \ + "\xf3\xb0\xb2\xb9" // U+F0CB9 playlist-music-outline, aliases: playlist-note-outline, queue-music-outline, tags: + // Music +#define ICON_MD_PLAYLIST_PLAY "\xf3\xb0\x90\x91" // U+F0411 playlist-play +#define ICON_MD_PLAYLIST_PLUS "\xf3\xb0\x90\x92" // U+F0412 playlist-plus, aliases: playlist-add +#define ICON_MD_PLAYLIST_REMOVE "\xf3\xb0\x90\x93" // U+F0413 playlist-remove +#define ICON_MD_PLAYLIST_STAR "\xf3\xb0\xb7\xb2" // U+F0DF2 playlist-star, aliases: playlist-favorite +#define ICON_MD_PLEX "\xf3\xb0\x9a\xba" // U+F06BA plex, tags: Brand / Logo +#define ICON_MD_PLIERS "\xf3\xb1\xa6\xa4" // U+F19A4 pliers, tags: Hardware / Tools +#define ICON_MD_PLUS "\xf3\xb0\x90\x95" // U+F0415 plus, aliases: add, tags: Math +#define ICON_MD_PLUS_BOX "\xf3\xb0\x90\x96" // U+F0416 plus-box, aliases: add-box, tags: Math +#define ICON_MD_PLUS_BOX_MULTIPLE "\xf3\xb0\x8c\xb4" // U+F0334 plus-box-multiple, aliases: add-to-photos, library-add, queue, library-plus +#define ICON_MD_PLUS_BOX_MULTIPLE_OUTLINE "\xf3\xb1\x85\x83" // U+F1143 plus-box-multiple-outline +#define ICON_MD_PLUS_BOX_OUTLINE "\xf3\xb0\x9c\x84" // U+F0704 plus-box-outline, tags: Math +#define ICON_MD_PLUS_CIRCLE "\xf3\xb0\x90\x97" // U+F0417 plus-circle, aliases: add-circle +#define ICON_MD_PLUS_CIRCLE_MULTIPLE "\xf3\xb0\x8d\x8c" // U+F034C plus-circle-multiple, aliases: coins-plus +#define ICON_MD_PLUS_CIRCLE_MULTIPLE_OUTLINE \ + "\xf3\xb0\x90\x98" // U+F0418 plus-circle-multiple-outline, aliases: control-point-duplicate, plus-circles-outline, + // coins-plus-outline +#define ICON_MD_PLUS_CIRCLE_OUTLINE "\xf3\xb0\x90\x99" // U+F0419 plus-circle-outline, aliases: add-circle-outline, control-point, circles-add +#define ICON_MD_PLUS_LOCK "\xf3\xb1\xa9\x9d" // U+F1A5D plus-lock, aliases: plus-secure, tags: Lock +#define ICON_MD_PLUS_LOCK_OPEN "\xf3\xb1\xa9\x9e" // U+F1A5E plus-lock-open, tags: Lock +#define ICON_MD_PLUS_MINUS "\xf3\xb0\xa6\x92" // U+F0992 plus-minus, tags: Math +#define ICON_MD_PLUS_MINUS_BOX "\xf3\xb0\xa6\x93" // U+F0993 plus-minus-box, tags: Math +#define ICON_MD_PLUS_MINUS_VARIANT "\xf3\xb1\x93\x89" // U+F14C9 plus-minus-variant, tags: Math +#define ICON_MD_PLUS_NETWORK "\xf3\xb0\x90\x9a" // U+F041A plus-network, aliases: add-network +#define ICON_MD_PLUS_NETWORK_OUTLINE "\xf3\xb0\xb2\xba" // U+F0CBA plus-network-outline, aliases: add-network-outline +#define ICON_MD_PLUS_OUTLINE "\xf3\xb0\x9c\x85" // U+F0705 plus-outline +#define ICON_MD_PLUS_THICK "\xf3\xb1\x87\xac" // U+F11EC plus-thick, aliases: add-thick, add-bold, plus-bold, tags: Math +#define ICON_MD_PODCAST "\xf3\xb0\xa6\x94" // U+F0994 podcast +#define ICON_MD_PODIUM "\xf3\xb0\xb4\xa5" // U+F0D25 podium, tags: Sport +#define ICON_MD_PODIUM_BRONZE "\xf3\xb0\xb4\xa6" // U+F0D26 podium-bronze, aliases: podium-third, tags: Sport +#define ICON_MD_PODIUM_GOLD "\xf3\xb0\xb4\xa7" // U+F0D27 podium-gold, aliases: podium-first, tags: Sport +#define ICON_MD_PODIUM_SILVER "\xf3\xb0\xb4\xa8" // U+F0D28 podium-silver, aliases: podium-second, tags: Sport +#define ICON_MD_POINT_OF_SALE "\xf3\xb0\xb6\x92" // U+F0D92 point-of-sale +#define ICON_MD_POKEBALL "\xf3\xb0\x90\x9d" // U+F041D pokeball, tags: Gaming / RPG +#define ICON_MD_POKEMON_GO "\xf3\xb0\xa8\x89" // U+F0A09 pokemon-go, tags: Gaming / RPG, Brand / Logo +#define ICON_MD_POKER_CHIP "\xf3\xb0\xa0\xb0" // U+F0830 poker-chip, aliases: casino-chip, gambling-chip, tags: Gaming / RPG +#define ICON_MD_POLAROID "\xf3\xb0\x90\x9e" // U+F041E polaroid +#define ICON_MD_POLICE_BADGE "\xf3\xb1\x85\xa7" // U+F1167 police-badge +#define ICON_MD_POLICE_BADGE_OUTLINE "\xf3\xb1\x85\xa8" // U+F1168 police-badge-outline +#define ICON_MD_POLICE_STATION "\xf3\xb1\xa0\xb9" // U+F1839 police-station, tags: Places +#define ICON_MD_POLL "\xf3\xb0\x90\x9f" // U+F041F poll, aliases: bar-chart, report, performance, analytics +#define ICON_MD_POLO "\xf3\xb1\x93\x83" // U+F14C3 polo, tags: Sport +#define ICON_MD_POLYMER "\xf3\xb0\x90\xa1" // U+F0421 polymer, tags: Brand / Logo, Developer / Languages +#define ICON_MD_POOL "\xf3\xb0\x98\x86" // U+F0606 pool, aliases: swimming-pool, tags: Places, Home Automation +#define ICON_MD_POOL_THERMOMETER "\xf3\xb1\xa9\x9f" // U+F1A5F pool-thermometer, aliases: pool-temperature, tags: Home Automation +#define ICON_MD_POPCORN "\xf3\xb0\x90\xa2" // U+F0422 popcorn, tags: Food / Drink +#define ICON_MD_POST "\xf3\xb1\x80\x88" // U+F1008 post, aliases: blog +#define ICON_MD_POST_LAMP "\xf3\xb1\xa9\xa0" // U+F1A60 post-lamp, aliases: post-light, tags: Home Automation +#define ICON_MD_POST_OUTLINE "\xf3\xb1\x80\x89" // U+F1009 post-outline, aliases: blog-outline +#define ICON_MD_POSTAGE_STAMP "\xf3\xb0\xb2\xbb" // U+F0CBB postage-stamp +#define ICON_MD_POT "\xf3\xb0\x8b\xa5" // U+F02E5 pot, tags: Food / Drink, Holiday +#define ICON_MD_POT_MIX "\xf3\xb0\x99\x9b" // U+F065B pot-mix, tags: Food / Drink, Holiday +#define ICON_MD_POT_MIX_OUTLINE "\xf3\xb0\x99\xb7" // U+F0677 pot-mix-outline, tags: Food / Drink, Holiday +#define ICON_MD_POT_OUTLINE "\xf3\xb0\x8b\xbf" // U+F02FF pot-outline, tags: Food / Drink, Holiday +#define ICON_MD_POT_STEAM "\xf3\xb0\x99\x9a" // U+F065A pot-steam, tags: Food / Drink, Holiday +#define ICON_MD_POT_STEAM_OUTLINE "\xf3\xb0\x8c\xa6" // U+F0326 pot-steam-outline, tags: Food / Drink, Holiday +#define ICON_MD_POUND "\xf3\xb0\x90\xa3" // U+F0423 pound, aliases: hashtag +#define ICON_MD_POUND_BOX "\xf3\xb0\x90\xa4" // U+F0424 pound-box, aliases: hashtag-box +#define ICON_MD_POUND_BOX_OUTLINE "\xf3\xb1\x85\xbf" // U+F117F pound-box-outline, aliases: hashtag-box-outline +#define ICON_MD_POWER "\xf3\xb0\x90\xa5" // U+F0425 power, aliases: power-settings-new, shutdown, tags: Home Automation +#define ICON_MD_POWER_CYCLE "\xf3\xb0\xa4\x81" // U+F0901 power-cycle +#define ICON_MD_POWER_OFF "\xf3\xb0\xa4\x82" // U+F0902 power-off +#define ICON_MD_POWER_ON "\xf3\xb0\xa4\x83" // U+F0903 power-on +#define ICON_MD_POWER_PLUG "\xf3\xb0\x9a\xa5" // U+F06A5 power-plug, tags: Home Automation +#define ICON_MD_POWER_PLUG_OFF "\xf3\xb0\x9a\xa6" // U+F06A6 power-plug-off, aliases: power-off, tags: Home Automation +#define ICON_MD_POWER_PLUG_OFF_OUTLINE "\xf3\xb1\x90\xa4" // U+F1424 power-plug-off-outline, tags: Home Automation +#define ICON_MD_POWER_PLUG_OUTLINE "\xf3\xb1\x90\xa5" // U+F1425 power-plug-outline, tags: Home Automation +#define ICON_MD_POWER_SETTINGS "\xf3\xb0\x90\xa6" // U+F0426 power-settings, aliases: settings-power, tags: Settings +#define ICON_MD_POWER_SLEEP "\xf3\xb0\xa4\x84" // U+F0904 power-sleep +#define ICON_MD_POWER_SOCKET "\xf3\xb0\x90\xa7" // U+F0427 power-socket, aliases: plug-socket, tags: Home Automation +#define ICON_MD_POWER_SOCKET_AU \ + "\xf3\xb0\xa4\x85" // U+F0905 power-socket-au, aliases: plug-socket-au, power-socket-type-i, power-socket-cn, + // power-socket-ar, power-socket-nz, power-socket-pg, power-socket-australia, power-socket-china, + // power-socket-argentina, power-socket-new-zealand, power-socket-papua-new-guinea, tags: Home + // Automation +#define ICON_MD_POWER_SOCKET_CH \ + "\xf3\xb0\xbe\xb3" // U+F0FB3 power-socket-ch, aliases: plug-socket-ch, power-socket-type-j, plug-socket-type-j, + // power-socket-switzerland, plug-socket-switzerland, tags: Home Automation +#define ICON_MD_POWER_SOCKET_DE "\xf3\xb1\x84\x87" // U+F1107 power-socket-de, tags: Home Automation +#define ICON_MD_POWER_SOCKET_EU "\xf3\xb0\x9f\xa7" // U+F07E7 power-socket-eu, aliases: plug-socket-eu, power-socket-europe, tags: Home Automation +#define ICON_MD_POWER_SOCKET_FR "\xf3\xb1\x84\x88" // U+F1108 power-socket-fr, tags: Home Automation +#define ICON_MD_POWER_SOCKET_IT "\xf3\xb1\x93\xbf" // U+F14FF power-socket-it +#define ICON_MD_POWER_SOCKET_JP "\xf3\xb1\x84\x89" // U+F1109 power-socket-jp, tags: Home Automation +#define ICON_MD_POWER_SOCKET_UK \ + "\xf3\xb0\x9f\xa8" // U+F07E8 power-socket-uk, aliases: plug-socket-uk, power-socket-type-g, power-socket-ie, + // power-socket-hk, power-socket-my, power-socket-cy, power-socket-mt, power-socket-sg, + // power-socket-united-kingdom, power-socket-ireland, power-socket-hong-kong, + // power-socket-malaysia, power-socket-cyprus, power-socket-malta, power-socket-singapore, tags: + // Home Automation +#define ICON_MD_POWER_SOCKET_US \ + "\xf3\xb0\x9f\xa9" // U+F07E9 power-socket-us, aliases: plug-socket-us, power-socket-ca, power-socket-mx, + // power-socket-type-b, power-socket-united-states, power-socket-japan, power-socket-canada, + // power-socket-mexico, tags: Home Automation +#define ICON_MD_POWER_STANDBY "\xf3\xb0\xa4\x86" // U+F0906 power-standby +#define ICON_MD_POWERSHELL "\xf3\xb0\xa8\x8a" // U+F0A0A powershell +#define ICON_MD_PRESCRIPTION "\xf3\xb0\x9c\x86" // U+F0706 prescription, tags: Medical / Hospital +#define ICON_MD_PRESENTATION "\xf3\xb0\x90\xa8" // U+F0428 presentation +#define ICON_MD_PRESENTATION_PLAY "\xf3\xb0\x90\xa9" // U+F0429 presentation-play +#define ICON_MD_PRETZEL "\xf3\xb1\x95\xa2" // U+F1562 pretzel, tags: Food / Drink +#define ICON_MD_PRINTER "\xf3\xb0\x90\xaa" // U+F042A printer, aliases: local-printshop, local-print-shop, tags: Printer, Home Automation +#define ICON_MD_PRINTER_3D "\xf3\xb0\x90\xab" // U+F042B printer-3d, tags: Printer, Home Automation +#define ICON_MD_PRINTER_3D_NOZZLE "\xf3\xb0\xb9\x9b" // U+F0E5B printer-3d-nozzle, tags: Printer +#define ICON_MD_PRINTER_3D_NOZZLE_ALERT "\xf3\xb1\x87\x80" // U+F11C0 printer-3d-nozzle-alert, tags: Alert / Error, Printer +#define ICON_MD_PRINTER_3D_NOZZLE_ALERT_OUTLINE "\xf3\xb1\x87\x81" // U+F11C1 printer-3d-nozzle-alert-outline, tags: Alert / Error, Printer +#define ICON_MD_PRINTER_3D_NOZZLE_HEAT "\xf3\xb1\xa2\xb8" // U+F18B8 printer-3d-nozzle-heat, tags: Printer +#define ICON_MD_PRINTER_3D_NOZZLE_HEAT_OUTLINE "\xf3\xb1\xa2\xb9" // U+F18B9 printer-3d-nozzle-heat-outline, tags: Printer +#define ICON_MD_PRINTER_3D_NOZZLE_OFF "\xf3\xb1\xac\x99" // U+F1B19 printer-3d-nozzle-off, tags: Printer +#define ICON_MD_PRINTER_3D_NOZZLE_OFF_OUTLINE "\xf3\xb1\xac\x9a" // U+F1B1A printer-3d-nozzle-off-outline, tags: Printer +#define ICON_MD_PRINTER_3D_NOZZLE_OUTLINE "\xf3\xb0\xb9\x9c" // U+F0E5C printer-3d-nozzle-outline, tags: Printer +#define ICON_MD_PRINTER_3D_OFF "\xf3\xb1\xac\x8e" // U+F1B0E printer-3d-off, tags: Printer +#define ICON_MD_PRINTER_ALERT \ + "\xf3\xb0\x90\xac" // U+F042C printer-alert, aliases: printer-warning, paper-jam, tags: Printer, Home Automation, + // Alert / Error +#define ICON_MD_PRINTER_CHECK "\xf3\xb1\x85\x86" // U+F1146 printer-check, tags: Printer +#define ICON_MD_PRINTER_EYE "\xf3\xb1\x91\x98" // U+F1458 printer-eye, aliases: printer-preview, printer-view, tags: Printer +#define ICON_MD_PRINTER_OFF "\xf3\xb0\xb9\x9d" // U+F0E5D printer-off, tags: Printer +#define ICON_MD_PRINTER_OFF_OUTLINE "\xf3\xb1\x9e\x85" // U+F1785 printer-off-outline, tags: Printer +#define ICON_MD_PRINTER_OUTLINE "\xf3\xb1\x9e\x86" // U+F1786 printer-outline, tags: Printer +#define ICON_MD_PRINTER_POS "\xf3\xb1\x81\x97" // U+F1057 printer-pos, aliases: printer-point-of-sale, tags: Printer +#define ICON_MD_PRINTER_SEARCH "\xf3\xb1\x91\x97" // U+F1457 printer-search, aliases: printer-preview, printer-magnify, tags: Printer +#define ICON_MD_PRINTER_SETTINGS "\xf3\xb0\x9c\x87" // U+F0707 printer-settings, tags: Settings, Printer +#define ICON_MD_PRINTER_WIRELESS "\xf3\xb0\xa8\x8b" // U+F0A0B printer-wireless, tags: Printer +#define ICON_MD_PRIORITY_HIGH "\xf3\xb0\x98\x83" // U+F0603 priority-high +#define ICON_MD_PRIORITY_LOW "\xf3\xb0\x98\x84" // U+F0604 priority-low, aliases: low-priority +#define ICON_MD_PROFESSIONAL_HEXAGON "\xf3\xb0\x90\xad" // U+F042D professional-hexagon +#define ICON_MD_PROGRESS_ALERT "\xf3\xb0\xb2\xbc" // U+F0CBC progress-alert, aliases: progress-warning, tags: Alert / Error +#define ICON_MD_PROGRESS_CHECK "\xf3\xb0\xa6\x95" // U+F0995 progress-check, aliases: progress-tick +#define ICON_MD_PROGRESS_CLOCK "\xf3\xb0\xa6\x96" // U+F0996 progress-clock, tags: Date / Time +#define ICON_MD_PROGRESS_CLOSE "\xf3\xb1\x84\x8a" // U+F110A progress-close +#define ICON_MD_PROGRESS_DOWNLOAD "\xf3\xb0\xa6\x97" // U+F0997 progress-download +#define ICON_MD_PROGRESS_HELPER "\xf3\xb1\xae\xa2" // U+F1BA2 progress-helper +#define ICON_MD_PROGRESS_PENCIL "\xf3\xb1\x9e\x87" // U+F1787 progress-pencil +#define ICON_MD_PROGRESS_QUESTION "\xf3\xb1\x94\xa2" // U+F1522 progress-question +#define ICON_MD_PROGRESS_STAR "\xf3\xb1\x9e\x88" // U+F1788 progress-star +#define ICON_MD_PROGRESS_UPLOAD "\xf3\xb0\xa6\x98" // U+F0998 progress-upload +#define ICON_MD_PROGRESS_WRENCH "\xf3\xb0\xb2\xbd" // U+F0CBD progress-wrench, aliases: progress-spanner, tags: Hardware / Tools +#define ICON_MD_PROJECTOR "\xf3\xb0\x90\xae" // U+F042E projector, tags: Device / Tech, Home Automation +#define ICON_MD_PROJECTOR_OFF "\xf3\xb1\xa8\xa3" // U+F1A23 projector-off, tags: Device / Tech, Home Automation +#define ICON_MD_PROJECTOR_SCREEN "\xf3\xb0\x90\xaf" // U+F042F projector-screen, tags: Device / Tech, Home Automation +#define ICON_MD_PROJECTOR_SCREEN_OFF "\xf3\xb1\xa0\x8d" // U+F180D projector-screen-off, tags: Home Automation +#define ICON_MD_PROJECTOR_SCREEN_OFF_OUTLINE "\xf3\xb1\xa0\x8e" // U+F180E projector-screen-off-outline, tags: Home Automation +#define ICON_MD_PROJECTOR_SCREEN_OUTLINE "\xf3\xb1\x9c\xa4" // U+F1724 projector-screen-outline, tags: Home Automation +#define ICON_MD_PROJECTOR_SCREEN_VARIANT "\xf3\xb1\xa0\x8f" // U+F180F projector-screen-variant, tags: Home Automation +#define ICON_MD_PROJECTOR_SCREEN_VARIANT_OFF "\xf3\xb1\xa0\x90" // U+F1810 projector-screen-variant-off, tags: Home Automation +#define ICON_MD_PROJECTOR_SCREEN_VARIANT_OFF_OUTLINE "\xf3\xb1\xa0\x91" // U+F1811 projector-screen-variant-off-outline, tags: Home Automation +#define ICON_MD_PROJECTOR_SCREEN_VARIANT_OUTLINE "\xf3\xb1\xa0\x92" // U+F1812 projector-screen-variant-outline, tags: Home Automation +#define ICON_MD_PROPANE_TANK "\xf3\xb1\x8d\x97" // U+F1357 propane-tank +#define ICON_MD_PROPANE_TANK_OUTLINE "\xf3\xb1\x8d\x98" // U+F1358 propane-tank-outline +#define ICON_MD_PROTOCOL "\xf3\xb0\xbf\x98" // U+F0FD8 protocol +#define ICON_MD_PUBLISH "\xf3\xb0\x9a\xa7" // U+F06A7 publish +#define ICON_MD_PUBLISH_OFF "\xf3\xb1\xa5\x85" // U+F1945 publish-off, aliases: publish-disabled, tags: Arrow +#define ICON_MD_PULSE "\xf3\xb0\x90\xb0" // U+F0430 pulse, aliases: vitals, tags: Medical / Hospital +#define ICON_MD_PUMP "\xf3\xb1\x90\x82" // U+F1402 pump +#define ICON_MD_PUMP_OFF "\xf3\xb1\xac\xa2" // U+F1B22 pump-off +#define ICON_MD_PUMPKIN "\xf3\xb0\xae\xbf" // U+F0BBF pumpkin, tags: Holiday +#define ICON_MD_PURSE "\xf3\xb0\xbc\x9c" // U+F0F1C purse +#define ICON_MD_PURSE_OUTLINE "\xf3\xb0\xbc\x9d" // U+F0F1D purse-outline +#define ICON_MD_PUZZLE "\xf3\xb0\x90\xb1" // U+F0431 puzzle, aliases: extension, jigsaw, tags: Gaming / RPG +#define ICON_MD_PUZZLE_CHECK "\xf3\xb1\x90\xa6" // U+F1426 puzzle-check, tags: Gaming / RPG +#define ICON_MD_PUZZLE_CHECK_OUTLINE "\xf3\xb1\x90\xa7" // U+F1427 puzzle-check-outline, tags: Gaming / RPG +#define ICON_MD_PUZZLE_EDIT "\xf3\xb1\x93\x93" // U+F14D3 puzzle-edit, tags: Gaming / RPG, Edit / Modify +#define ICON_MD_PUZZLE_EDIT_OUTLINE "\xf3\xb1\x93\x99" // U+F14D9 puzzle-edit-outline, tags: Gaming / RPG, Edit / Modify +#define ICON_MD_PUZZLE_HEART "\xf3\xb1\x93\x94" // U+F14D4 puzzle-heart, tags: Gaming / RPG +#define ICON_MD_PUZZLE_HEART_OUTLINE "\xf3\xb1\x93\x9a" // U+F14DA puzzle-heart-outline, tags: Gaming / RPG +#define ICON_MD_PUZZLE_MINUS "\xf3\xb1\x93\x91" // U+F14D1 puzzle-minus, tags: Gaming / RPG +#define ICON_MD_PUZZLE_MINUS_OUTLINE "\xf3\xb1\x93\x97" // U+F14D7 puzzle-minus-outline, tags: Gaming / RPG +#define ICON_MD_PUZZLE_OUTLINE "\xf3\xb0\xa9\xa6" // U+F0A66 puzzle-outline, aliases: jigsaw-outline, extension-outline, tags: Gaming / RPG +#define ICON_MD_PUZZLE_PLUS "\xf3\xb1\x93\x90" // U+F14D0 puzzle-plus, tags: Gaming / RPG +#define ICON_MD_PUZZLE_PLUS_OUTLINE "\xf3\xb1\x93\x96" // U+F14D6 puzzle-plus-outline, tags: Gaming / RPG +#define ICON_MD_PUZZLE_REMOVE "\xf3\xb1\x93\x92" // U+F14D2 puzzle-remove, tags: Gaming / RPG +#define ICON_MD_PUZZLE_REMOVE_OUTLINE "\xf3\xb1\x93\x98" // U+F14D8 puzzle-remove-outline, tags: Gaming / RPG +#define ICON_MD_PUZZLE_STAR "\xf3\xb1\x93\x95" // U+F14D5 puzzle-star, aliases: puzzle-favorite, tags: Gaming / RPG +#define ICON_MD_PUZZLE_STAR_OUTLINE "\xf3\xb1\x93\x9b" // U+F14DB puzzle-star-outline, aliases: puzzle-favorite-outline, tags: Gaming / RPG +#define ICON_MD_PYRAMID "\xf3\xb1\xa5\x92" // U+F1952 pyramid, tags: Shape +#define ICON_MD_PYRAMID_OFF "\xf3\xb1\xa5\x93" // U+F1953 pyramid-off, tags: Shape +#define ICON_MD_QI "\xf3\xb0\xa6\x99" // U+F0999 qi +#define ICON_MD_QQCHAT "\xf3\xb0\x98\x85" // U+F0605 qqchat, tags: Brand / Logo +#define ICON_MD_QRCODE "\xf3\xb0\x90\xb2" // U+F0432 qrcode +#define ICON_MD_QRCODE_EDIT "\xf3\xb0\xa2\xb8" // U+F08B8 qrcode-edit, tags: Edit / Modify +#define ICON_MD_QRCODE_MINUS "\xf3\xb1\x86\x8c" // U+F118C qrcode-minus +#define ICON_MD_QRCODE_PLUS "\xf3\xb1\x86\x8b" // U+F118B qrcode-plus +#define ICON_MD_QRCODE_REMOVE "\xf3\xb1\x86\x8d" // U+F118D qrcode-remove +#define ICON_MD_QRCODE_SCAN "\xf3\xb0\x90\xb3" // U+F0433 qrcode-scan +#define ICON_MD_QUADCOPTER "\xf3\xb0\x90\xb4" // U+F0434 quadcopter, aliases: drone +#define ICON_MD_QUALITY_HIGH "\xf3\xb0\x90\xb5" // U+F0435 quality-high, aliases: high-quality, hq, tags: Video / Movie +#define ICON_MD_QUALITY_LOW "\xf3\xb0\xa8\x8c" // U+F0A0C quality-low, aliases: low-quality, lq +#define ICON_MD_QUALITY_MEDIUM "\xf3\xb0\xa8\x8d" // U+F0A0D quality-medium, aliases: medium-quality, mq +#define ICON_MD_QUORA "\xf3\xb0\xb4\xa9" // U+F0D29 quora +#define ICON_MD_RABBIT "\xf3\xb0\xa4\x87" // U+F0907 rabbit, aliases: bunny, hare, tags: Animal, Nature +#define ICON_MD_RABBIT_VARIANT \ + "\xf3\xb1\xa9\xa1" // U+F1A61 rabbit-variant, aliases: bunny, easter, hare, cruelty-free, tags: Animal, Holiday, + // Nature +#define ICON_MD_RABBIT_VARIANT_OUTLINE \ + "\xf3\xb1\xa9\xa2" // U+F1A62 rabbit-variant-outline, aliases: easter-outline, bunny-outline, hare-outline, + // cruelty-free-outline, tags: Animal, Holiday, Nature +#define ICON_MD_RACING_HELMET "\xf3\xb0\xb6\x93" // U+F0D93 racing-helmet, tags: Sport +#define ICON_MD_RACQUETBALL "\xf3\xb0\xb6\x94" // U+F0D94 racquetball, aliases: lacrosse, squash, tags: Sport +#define ICON_MD_RADAR "\xf3\xb0\x90\xb7" // U+F0437 radar, aliases: track-changes +#define ICON_MD_RADIATOR "\xf3\xb0\x90\xb8" // U+F0438 radiator, aliases: heater, tags: Home Automation +#define ICON_MD_RADIATOR_DISABLED "\xf3\xb0\xab\x97" // U+F0AD7 radiator-disabled, aliases: heater-disabled, tags: Home Automation +#define ICON_MD_RADIATOR_OFF "\xf3\xb0\xab\x98" // U+F0AD8 radiator-off, aliases: heater-off, tags: Home Automation +#define ICON_MD_RADIO "\xf3\xb0\x90\xb9" // U+F0439 radio, tags: Audio, Device / Tech +#define ICON_MD_RADIO_AM "\xf3\xb0\xb2\xbe" // U+F0CBE radio-am, tags: Audio +#define ICON_MD_RADIO_FM "\xf3\xb0\xb2\xbf" // U+F0CBF radio-fm, tags: Audio +#define ICON_MD_RADIO_HANDHELD "\xf3\xb0\x90\xba" // U+F043A radio-handheld, tags: Device / Tech +#define ICON_MD_RADIO_OFF "\xf3\xb1\x88\x9c" // U+F121C radio-off +#define ICON_MD_RADIO_TOWER "\xf3\xb0\x90\xbb" // U+F043B radio-tower +#define ICON_MD_RADIOACTIVE "\xf3\xb0\x90\xbc" // U+F043C radioactive, aliases: radiation, tags: Science +#define ICON_MD_RADIOACTIVE_CIRCLE "\xf3\xb1\xa1\x9d" // U+F185D radioactive-circle, aliases: radiation-circle, tags: Science +#define ICON_MD_RADIOACTIVE_CIRCLE_OUTLINE "\xf3\xb1\xa1\x9e" // U+F185E radioactive-circle-outline, aliases: radiation-circle-outline, tags: Science +#define ICON_MD_RADIOACTIVE_OFF "\xf3\xb0\xbb\x81" // U+F0EC1 radioactive-off, aliases: radiation-off, tags: Science +#define ICON_MD_RADIOBOX_BLANK "\xf3\xb0\x90\xbd" // U+F043D radiobox-blank, aliases: radio-button-unchecked, tags: Form +#define ICON_MD_RADIOBOX_MARKED "\xf3\xb0\x90\xbe" // U+F043E radiobox-marked, aliases: radio-button-checked, record, tags: Form +#define ICON_MD_RADIOLOGY_BOX "\xf3\xb1\x93\x85" // U+F14C5 radiology-box, aliases: x-ray-box, tags: Medical / Hospital +#define ICON_MD_RADIOLOGY_BOX_OUTLINE "\xf3\xb1\x93\x86" // U+F14C6 radiology-box-outline, aliases: x-ray-box-outline, tags: Medical / Hospital +#define ICON_MD_RADIUS "\xf3\xb0\xb3\x80" // U+F0CC0 radius, aliases: circle-radius, sphere-radius, tags: Math +#define ICON_MD_RADIUS_OUTLINE "\xf3\xb0\xb3\x81" // U+F0CC1 radius-outline, aliases: circle-radius-outline, sphere-radius-outline, tags: Math +#define ICON_MD_RAILROAD_LIGHT \ + "\xf3\xb0\xbc\x9e" // U+F0F1E railroad-light, aliases: railroad-crossing-light, train-crossing-light, + // level-crossing-signals, tags: Transportation + Other +#define ICON_MD_RAKE "\xf3\xb1\x95\x84" // U+F1544 rake, tags: Hardware / Tools +#define ICON_MD_RASPBERRY_PI "\xf3\xb0\x90\xbf" // U+F043F raspberry-pi, aliases: raspberrypi +#define ICON_MD_RAW "\xf3\xb1\xa8\x8f" // U+F1A0F raw, tags: Photography +#define ICON_MD_RAW_OFF "\xf3\xb1\xa8\x90" // U+F1A10 raw-off, tags: Photography +#define ICON_MD_RAY_END "\xf3\xb0\x91\x80" // U+F0440 ray-end +#define ICON_MD_RAY_END_ARROW "\xf3\xb0\x91\x81" // U+F0441 ray-end-arrow +#define ICON_MD_RAY_START "\xf3\xb0\x91\x82" // U+F0442 ray-start +#define ICON_MD_RAY_START_ARROW "\xf3\xb0\x91\x83" // U+F0443 ray-start-arrow +#define ICON_MD_RAY_START_END "\xf3\xb0\x91\x84" // U+F0444 ray-start-end +#define ICON_MD_RAY_START_VERTEX_END "\xf3\xb1\x97\x98" // U+F15D8 ray-start-vertex-end +#define ICON_MD_RAY_VERTEX "\xf3\xb0\x91\x85" // U+F0445 ray-vertex +#define ICON_MD_RAZOR_DOUBLE_EDGE "\xf3\xb1\xa6\x97" // U+F1997 razor-double-edge, tags: Health / Beauty, Hardware / Tools +#define ICON_MD_RAZOR_SINGLE_EDGE "\xf3\xb1\xa6\x98" // U+F1998 razor-single-edge, tags: Hardware / Tools +#define ICON_MD_REACT "\xf3\xb0\x9c\x88" // U+F0708 react, tags: Brand / Logo, Developer / Languages +#define ICON_MD_READ "\xf3\xb0\x91\x87" // U+F0447 read +#define ICON_MD_RECEIPT "\xf3\xb0\xa0\xa4" // U+F0824 receipt, aliases: cloth, fabric, swatch +#define ICON_MD_RECEIPT_OUTLINE "\xf3\xb0\x93\xb7" // U+F04F7 receipt-outline, aliases: cloth-outline, fabric-outline, swatch-outline +#define ICON_MD_RECEIPT_TEXT "\xf3\xb0\x91\x89" // U+F0449 receipt-text, aliases: invoice +#define ICON_MD_RECEIPT_TEXT_CHECK "\xf3\xb1\xa9\xa3" // U+F1A63 receipt-text-check, aliases: invoice-check +#define ICON_MD_RECEIPT_TEXT_CHECK_OUTLINE "\xf3\xb1\xa9\xa4" // U+F1A64 receipt-text-check-outline, aliases: invoice-check-outline +#define ICON_MD_RECEIPT_TEXT_MINUS "\xf3\xb1\xa9\xa5" // U+F1A65 receipt-text-minus, aliases: invoice-minus +#define ICON_MD_RECEIPT_TEXT_MINUS_OUTLINE "\xf3\xb1\xa9\xa6" // U+F1A66 receipt-text-minus-outline, aliases: invoice-minus-outline +#define ICON_MD_RECEIPT_TEXT_OUTLINE "\xf3\xb1\xa7\x9c" // U+F19DC receipt-text-outline, aliases: invoice-outline +#define ICON_MD_RECEIPT_TEXT_PLUS "\xf3\xb1\xa9\xa7" // U+F1A67 receipt-text-plus, aliases: invoice-plus, invoice-add, receipt-text-add +#define ICON_MD_RECEIPT_TEXT_PLUS_OUTLINE "\xf3\xb1\xa9\xa8" // U+F1A68 receipt-text-plus-outline, aliases: invoice-plus, invoice-add, receipt-text-add +#define ICON_MD_RECEIPT_TEXT_REMOVE "\xf3\xb1\xa9\xa9" // U+F1A69 receipt-text-remove, aliases: invoice-remove +#define ICON_MD_RECEIPT_TEXT_REMOVE_OUTLINE "\xf3\xb1\xa9\xaa" // U+F1A6A receipt-text-remove-outline, aliases: invoice-remove-outline +#define ICON_MD_RECORD "\xf3\xb0\x91\x8a" // U+F044A record, aliases: fiber-manual-record, tags: Home Automation +#define ICON_MD_RECORD_CIRCLE "\xf3\xb0\xbb\x82" // U+F0EC2 record-circle +#define ICON_MD_RECORD_CIRCLE_OUTLINE "\xf3\xb0\xbb\x83" // U+F0EC3 record-circle-outline +#define ICON_MD_RECORD_PLAYER "\xf3\xb0\xa6\x9a" // U+F099A record-player, tags: Home Automation +#define ICON_MD_RECORD_REC "\xf3\xb0\x91\x8b" // U+F044B record-rec, tags: Home Automation +#define ICON_MD_RECTANGLE "\xf3\xb0\xb9\x9e" // U+F0E5E rectangle, tags: Shape +#define ICON_MD_RECTANGLE_OUTLINE "\xf3\xb0\xb9\x9f" // U+F0E5F rectangle-outline, tags: Shape +#define ICON_MD_RECYCLE "\xf3\xb0\x91\x8c" // U+F044C recycle +#define ICON_MD_RECYCLE_VARIANT "\xf3\xb1\x8e\x9d" // U+F139D recycle-variant +#define ICON_MD_REDDIT "\xf3\xb0\x91\x8d" // U+F044D reddit, tags: Social Media, Brand / Logo +#define ICON_MD_REDHAT "\xf3\xb1\x84\x9b" // U+F111B redhat +#define ICON_MD_REDO "\xf3\xb0\x91\x8e" // U+F044E redo, aliases: arrow +#define ICON_MD_REDO_VARIANT "\xf3\xb0\x91\x8f" // U+F044F redo-variant, aliases: arrow +#define ICON_MD_REFLECT_HORIZONTAL "\xf3\xb0\xa8\x8e" // U+F0A0E reflect-horizontal +#define ICON_MD_REFLECT_VERTICAL "\xf3\xb0\xa8\x8f" // U+F0A0F reflect-vertical +#define ICON_MD_REFRESH "\xf3\xb0\x91\x90" // U+F0450 refresh, aliases: loop, tags: Arrow +#define ICON_MD_REFRESH_AUTO \ + "\xf3\xb1\xa3\xb2" // U+F18F2 refresh-auto, aliases: auto-start, automatic-start, auto-stop, automatic-stop, + // automatic, refresh-automatic, tags: Automotive +#define ICON_MD_REFRESH_CIRCLE "\xf3\xb1\x8d\xb7" // U+F1377 refresh-circle +#define ICON_MD_REGEX "\xf3\xb0\x91\x91" // U+F0451 regex, aliases: regular-expression +#define ICON_MD_REGISTERED_TRADEMARK "\xf3\xb0\xa9\xa7" // U+F0A67 registered-trademark +#define ICON_MD_REITERATE "\xf3\xb1\x96\x88" // U+F1588 reiterate, tags: Arrow +#define ICON_MD_RELATION_MANY_TO_MANY "\xf3\xb1\x92\x96" // U+F1496 relation-many-to-many, tags: Database +#define ICON_MD_RELATION_MANY_TO_ONE "\xf3\xb1\x92\x97" // U+F1497 relation-many-to-one, tags: Database +#define ICON_MD_RELATION_MANY_TO_ONE_OR_MANY "\xf3\xb1\x92\x98" // U+F1498 relation-many-to-one-or-many, tags: Database +#define ICON_MD_RELATION_MANY_TO_ONLY_ONE "\xf3\xb1\x92\x99" // U+F1499 relation-many-to-only-one, tags: Database +#define ICON_MD_RELATION_MANY_TO_ZERO_OR_MANY "\xf3\xb1\x92\x9a" // U+F149A relation-many-to-zero-or-many, tags: Database +#define ICON_MD_RELATION_MANY_TO_ZERO_OR_ONE "\xf3\xb1\x92\x9b" // U+F149B relation-many-to-zero-or-one, tags: Database +#define ICON_MD_RELATION_ONE_OR_MANY_TO_MANY "\xf3\xb1\x92\x9c" // U+F149C relation-one-or-many-to-many, tags: Database +#define ICON_MD_RELATION_ONE_OR_MANY_TO_ONE "\xf3\xb1\x92\x9d" // U+F149D relation-one-or-many-to-one, tags: Database +#define ICON_MD_RELATION_ONE_OR_MANY_TO_ONE_OR_MANY "\xf3\xb1\x92\x9e" // U+F149E relation-one-or-many-to-one-or-many, tags: Database +#define ICON_MD_RELATION_ONE_OR_MANY_TO_ONLY_ONE "\xf3\xb1\x92\x9f" // U+F149F relation-one-or-many-to-only-one, tags: Database +#define ICON_MD_RELATION_ONE_OR_MANY_TO_ZERO_OR_MANY "\xf3\xb1\x92\xa0" // U+F14A0 relation-one-or-many-to-zero-or-many, tags: Database +#define ICON_MD_RELATION_ONE_OR_MANY_TO_ZERO_OR_ONE "\xf3\xb1\x92\xa1" // U+F14A1 relation-one-or-many-to-zero-or-one, tags: Database +#define ICON_MD_RELATION_ONE_TO_MANY "\xf3\xb1\x92\xa2" // U+F14A2 relation-one-to-many, tags: Database +#define ICON_MD_RELATION_ONE_TO_ONE "\xf3\xb1\x92\xa3" // U+F14A3 relation-one-to-one, tags: Database +#define ICON_MD_RELATION_ONE_TO_ONE_OR_MANY "\xf3\xb1\x92\xa4" // U+F14A4 relation-one-to-one-or-many, tags: Database +#define ICON_MD_RELATION_ONE_TO_ONLY_ONE "\xf3\xb1\x92\xa5" // U+F14A5 relation-one-to-only-one, tags: Database +#define ICON_MD_RELATION_ONE_TO_ZERO_OR_MANY "\xf3\xb1\x92\xa6" // U+F14A6 relation-one-to-zero-or-many, tags: Database +#define ICON_MD_RELATION_ONE_TO_ZERO_OR_ONE "\xf3\xb1\x92\xa7" // U+F14A7 relation-one-to-zero-or-one, tags: Database +#define ICON_MD_RELATION_ONLY_ONE_TO_MANY "\xf3\xb1\x92\xa8" // U+F14A8 relation-only-one-to-many, tags: Database +#define ICON_MD_RELATION_ONLY_ONE_TO_ONE "\xf3\xb1\x92\xa9" // U+F14A9 relation-only-one-to-one, tags: Database +#define ICON_MD_RELATION_ONLY_ONE_TO_ONE_OR_MANY "\xf3\xb1\x92\xaa" // U+F14AA relation-only-one-to-one-or-many, tags: Database +#define ICON_MD_RELATION_ONLY_ONE_TO_ONLY_ONE "\xf3\xb1\x92\xab" // U+F14AB relation-only-one-to-only-one, tags: Database +#define ICON_MD_RELATION_ONLY_ONE_TO_ZERO_OR_MANY "\xf3\xb1\x92\xac" // U+F14AC relation-only-one-to-zero-or-many, tags: Database +#define ICON_MD_RELATION_ONLY_ONE_TO_ZERO_OR_ONE "\xf3\xb1\x92\xad" // U+F14AD relation-only-one-to-zero-or-one, tags: Database +#define ICON_MD_RELATION_ZERO_OR_MANY_TO_MANY "\xf3\xb1\x92\xae" // U+F14AE relation-zero-or-many-to-many, tags: Database +#define ICON_MD_RELATION_ZERO_OR_MANY_TO_ONE "\xf3\xb1\x92\xaf" // U+F14AF relation-zero-or-many-to-one, tags: Database +#define ICON_MD_RELATION_ZERO_OR_MANY_TO_ONE_OR_MANY "\xf3\xb1\x92\xb0" // U+F14B0 relation-zero-or-many-to-one-or-many, tags: Database +#define ICON_MD_RELATION_ZERO_OR_MANY_TO_ONLY_ONE "\xf3\xb1\x92\xb1" // U+F14B1 relation-zero-or-many-to-only-one, tags: Database +#define ICON_MD_RELATION_ZERO_OR_MANY_TO_ZERO_OR_MANY "\xf3\xb1\x92\xb2" // U+F14B2 relation-zero-or-many-to-zero-or-many, tags: Database +#define ICON_MD_RELATION_ZERO_OR_MANY_TO_ZERO_OR_ONE "\xf3\xb1\x92\xb3" // U+F14B3 relation-zero-or-many-to-zero-or-one, tags: Database +#define ICON_MD_RELATION_ZERO_OR_ONE_TO_MANY "\xf3\xb1\x92\xb4" // U+F14B4 relation-zero-or-one-to-many, tags: Database +#define ICON_MD_RELATION_ZERO_OR_ONE_TO_ONE "\xf3\xb1\x92\xb5" // U+F14B5 relation-zero-or-one-to-one, tags: Database +#define ICON_MD_RELATION_ZERO_OR_ONE_TO_ONE_OR_MANY "\xf3\xb1\x92\xb6" // U+F14B6 relation-zero-or-one-to-one-or-many, tags: Database +#define ICON_MD_RELATION_ZERO_OR_ONE_TO_ONLY_ONE "\xf3\xb1\x92\xb7" // U+F14B7 relation-zero-or-one-to-only-one, tags: Database +#define ICON_MD_RELATION_ZERO_OR_ONE_TO_ZERO_OR_MANY "\xf3\xb1\x92\xb8" // U+F14B8 relation-zero-or-one-to-zero-or-many, tags: Database +#define ICON_MD_RELATION_ZERO_OR_ONE_TO_ZERO_OR_ONE "\xf3\xb1\x92\xb9" // U+F14B9 relation-zero-or-one-to-zero-or-one, tags: Database +#define ICON_MD_RELATIVE_SCALE "\xf3\xb0\x91\x92" // U+F0452 relative-scale, aliases: image-aspect-ratio +#define ICON_MD_RELOAD "\xf3\xb0\x91\x93" // U+F0453 reload, aliases: car-engine-start, loop, rotate-clockwise, tags: Automotive, Arrow +#define ICON_MD_RELOAD_ALERT "\xf3\xb1\x84\x8b" // U+F110B reload-alert, tags: Alert / Error +#define ICON_MD_REMINDER "\xf3\xb0\xa2\x8c" // U+F088C reminder +#define ICON_MD_REMOTE "\xf3\xb0\x91\x94" // U+F0454 remote, aliases: settings-remote, tags: Home Automation +#define ICON_MD_REMOTE_DESKTOP "\xf3\xb0\xa2\xb9" // U+F08B9 remote-desktop +#define ICON_MD_REMOTE_OFF "\xf3\xb0\xbb\x84" // U+F0EC4 remote-off +#define ICON_MD_REMOTE_TV "\xf3\xb0\xbb\x85" // U+F0EC5 remote-tv, tags: Device / Tech +#define ICON_MD_REMOTE_TV_OFF "\xf3\xb0\xbb\x86" // U+F0EC6 remote-tv-off, tags: Device / Tech +#define ICON_MD_RENAME_BOX "\xf3\xb0\x91\x95" // U+F0455 rename-box +#define ICON_MD_REORDER_HORIZONTAL "\xf3\xb0\x9a\x88" // U+F0688 reorder-horizontal +#define ICON_MD_REORDER_VERTICAL "\xf3\xb0\x9a\x89" // U+F0689 reorder-vertical +#define ICON_MD_REPEAT "\xf3\xb0\x91\x96" // U+F0456 repeat, aliases: repost, tags: Arrow +#define ICON_MD_REPEAT_OFF "\xf3\xb0\x91\x97" // U+F0457 repeat-off +#define ICON_MD_REPEAT_ONCE "\xf3\xb0\x91\x98" // U+F0458 repeat-once, aliases: repeat-one +#define ICON_MD_REPEAT_VARIANT "\xf3\xb0\x95\x87" // U+F0547 repeat-variant, aliases: twitter-retweet, repost, tags: Arrow +#define ICON_MD_REPLAY "\xf3\xb0\x91\x99" // U+F0459 replay +#define ICON_MD_REPLY "\xf3\xb0\x91\x9a" // U+F045A reply, tags: Arrow +#define ICON_MD_REPLY_ALL "\xf3\xb0\x91\x9b" // U+F045B reply-all, tags: Arrow +#define ICON_MD_REPLY_ALL_OUTLINE "\xf3\xb0\xbc\x9f" // U+F0F1F reply-all-outline, tags: Arrow +#define ICON_MD_REPLY_CIRCLE "\xf3\xb1\x86\xae" // U+F11AE reply-circle, tags: Arrow +#define ICON_MD_REPLY_OUTLINE "\xf3\xb0\xbc\xa0" // U+F0F20 reply-outline, tags: Arrow +#define ICON_MD_REPRODUCTION "\xf3\xb0\x91\x9c" // U+F045C reproduction, tags: Medical / Hospital +#define ICON_MD_RESISTOR "\xf3\xb0\xad\x84" // U+F0B44 resistor +#define ICON_MD_RESISTOR_NODES "\xf3\xb0\xad\x85" // U+F0B45 resistor-nodes +#define ICON_MD_RESIZE "\xf3\xb0\xa9\xa8" // U+F0A68 resize +#define ICON_MD_RESIZE_BOTTOM_RIGHT "\xf3\xb0\x91\x9d" // U+F045D resize-bottom-right, aliases: drag +#define ICON_MD_RESPONSIVE "\xf3\xb0\x91\x9e" // U+F045E responsive +#define ICON_MD_RESTART "\xf3\xb0\x9c\x89" // U+F0709 restart +#define ICON_MD_RESTART_ALERT "\xf3\xb1\x84\x8c" // U+F110C restart-alert, tags: Alert / Error +#define ICON_MD_RESTART_OFF "\xf3\xb0\xb6\x95" // U+F0D95 restart-off +#define ICON_MD_RESTORE "\xf3\xb0\xa6\x9b" // U+F099B restore, aliases: loop, rotate-counter-clockwise, tags: Arrow +#define ICON_MD_RESTORE_ALERT "\xf3\xb1\x84\x8d" // U+F110D restore-alert, tags: Alert / Error +#define ICON_MD_REWIND "\xf3\xb0\x91\x9f" // U+F045F rewind, aliases: fast-rewind +#define ICON_MD_REWIND_10 "\xf3\xb0\xb4\xaa" // U+F0D2A rewind-10 +#define ICON_MD_REWIND_15 "\xf3\xb1\xa5\x86" // U+F1946 rewind-15 +#define ICON_MD_REWIND_30 "\xf3\xb0\xb6\x96" // U+F0D96 rewind-30 +#define ICON_MD_REWIND_45 "\xf3\xb1\xac\x93" // U+F1B13 rewind-45 +#define ICON_MD_REWIND_5 "\xf3\xb1\x87\xb9" // U+F11F9 rewind-5 +#define ICON_MD_REWIND_60 "\xf3\xb1\x98\x8c" // U+F160C rewind-60 +#define ICON_MD_REWIND_OUTLINE "\xf3\xb0\x9c\x8a" // U+F070A rewind-outline +#define ICON_MD_RHOMBUS "\xf3\xb0\x9c\x8b" // U+F070B rhombus, aliases: diamond, tags: Shape +#define ICON_MD_RHOMBUS_MEDIUM "\xf3\xb0\xa8\x90" // U+F0A10 rhombus-medium, tags: Shape +#define ICON_MD_RHOMBUS_MEDIUM_OUTLINE "\xf3\xb1\x93\x9c" // U+F14DC rhombus-medium-outline, tags: Shape +#define ICON_MD_RHOMBUS_OUTLINE "\xf3\xb0\x9c\x8c" // U+F070C rhombus-outline, aliases: diamond-outline, tags: Shape +#define ICON_MD_RHOMBUS_SPLIT "\xf3\xb0\xa8\x91" // U+F0A11 rhombus-split, aliases: collection, tags: Shape +#define ICON_MD_RHOMBUS_SPLIT_OUTLINE "\xf3\xb1\x93\x9d" // U+F14DD rhombus-split-outline, tags: Shape +#define ICON_MD_RIBBON "\xf3\xb0\x91\xa0" // U+F0460 ribbon +#define ICON_MD_RICE "\xf3\xb0\x9f\xaa" // U+F07EA rice, tags: Food / Drink +#define ICON_MD_RICKSHAW "\xf3\xb1\x96\xbb" // U+F15BB rickshaw, tags: Transportation + Road, Transportation + Other +#define ICON_MD_RICKSHAW_ELECTRIC "\xf3\xb1\x96\xbc" // U+F15BC rickshaw-electric, tags: Transportation + Road, Transportation + Other +#define ICON_MD_RING "\xf3\xb0\x9f\xab" // U+F07EB ring +#define ICON_MD_RIVET "\xf3\xb0\xb9\xa0" // U+F0E60 rivet, tags: Hardware / Tools +#define ICON_MD_ROAD "\xf3\xb0\x91\xa1" // U+F0461 road, tags: Transportation + Road +#define ICON_MD_ROAD_VARIANT "\xf3\xb0\x91\xa2" // U+F0462 road-variant, tags: Transportation + Road +#define ICON_MD_ROBBER "\xf3\xb1\x81\x98" // U+F1058 robber +#define ICON_MD_ROBOT "\xf3\xb0\x9a\xa9" // U+F06A9 robot, aliases: emoji-robot, emoticon-robot, tags: Home Automation +#define ICON_MD_ROBOT_ANGRY "\xf3\xb1\x9a\x9d" // U+F169D robot-angry, aliases: emoji-robot-angry, emoticon-robot-angry +#define ICON_MD_ROBOT_ANGRY_OUTLINE "\xf3\xb1\x9a\x9e" // U+F169E robot-angry-outline, aliases: emoji-robot-angry-outline, emoticon-robot-angry-outline +#define ICON_MD_ROBOT_CONFUSED "\xf3\xb1\x9a\x9f" // U+F169F robot-confused, aliases: emoji-robot-confused, emoticon-robot-confused +#define ICON_MD_ROBOT_CONFUSED_OUTLINE \ + "\xf3\xb1\x9a\xa0" // U+F16A0 robot-confused-outline, aliases: emoji-robot-confused-outline, + // emoticon-robot-confused-outline +#define ICON_MD_ROBOT_DEAD "\xf3\xb1\x9a\xa1" // U+F16A1 robot-dead, aliases: emoji-robot-dead, emoticon-robot-dead +#define ICON_MD_ROBOT_DEAD_OUTLINE "\xf3\xb1\x9a\xa2" // U+F16A2 robot-dead-outline, aliases: emoji-robot-dead-outline, emoticon-robot-dead-outline +#define ICON_MD_ROBOT_EXCITED "\xf3\xb1\x9a\xa3" // U+F16A3 robot-excited, aliases: emoticon-robot-excited, emoji-robot-excited +#define ICON_MD_ROBOT_EXCITED_OUTLINE \ + "\xf3\xb1\x9a\xa4" // U+F16A4 robot-excited-outline, aliases: emoji-robot-excited-outline, + // emoticon-robot-excited-outline +#define ICON_MD_ROBOT_HAPPY "\xf3\xb1\x9c\x99" // U+F1719 robot-happy, aliases: emoji-robot-happy, emoticon-robot-happy +#define ICON_MD_ROBOT_HAPPY_OUTLINE "\xf3\xb1\x9c\x9a" // U+F171A robot-happy-outline, aliases: emoji-robot-happy-outline, emoticon-robot-happy-outline +#define ICON_MD_ROBOT_INDUSTRIAL "\xf3\xb0\xad\x86" // U+F0B46 robot-industrial, aliases: autonomous, assembly +#define ICON_MD_ROBOT_INDUSTRIAL_OUTLINE "\xf3\xb1\xa8\x9a" // U+F1A1A robot-industrial-outline +#define ICON_MD_ROBOT_LOVE "\xf3\xb1\x9a\xa5" // U+F16A5 robot-love, aliases: emoji-robot-love, emoticon-robot-love +#define ICON_MD_ROBOT_LOVE_OUTLINE "\xf3\xb1\x9a\xa6" // U+F16A6 robot-love-outline +#define ICON_MD_ROBOT_MOWER "\xf3\xb1\x87\xb7" // U+F11F7 robot-mower, aliases: lawn-mower, tags: Home Automation +#define ICON_MD_ROBOT_MOWER_OUTLINE "\xf3\xb1\x87\xb3" // U+F11F3 robot-mower-outline, aliases: lawn-mower-outline, tags: Home Automation +#define ICON_MD_ROBOT_OFF "\xf3\xb1\x9a\xa7" // U+F16A7 robot-off, aliases: emoji-robot-off, emoticon-robot-off +#define ICON_MD_ROBOT_OFF_OUTLINE "\xf3\xb1\x99\xbb" // U+F167B robot-off-outline +#define ICON_MD_ROBOT_OUTLINE "\xf3\xb1\x99\xba" // U+F167A robot-outline, aliases: emoji-robot-outline, emoticon-robot-outline +#define ICON_MD_ROBOT_VACUUM "\xf3\xb0\x9c\x8d" // U+F070D robot-vacuum, aliases: roomba, tags: Device / Tech, Home Automation +#define ICON_MD_ROBOT_VACUUM_ALERT "\xf3\xb1\xad\x9d" // U+F1B5D robot-vacuum-alert, aliases: robot-vacuum-error, tags: Alert / Error, Home Automation +#define ICON_MD_ROBOT_VACUUM_VARIANT "\xf3\xb0\xa4\x88" // U+F0908 robot-vacuum-variant, aliases: neato, tags: Home Automation +#define ICON_MD_ROBOT_VACUUM_VARIANT_ALERT \ + "\xf3\xb1\xad\x9e" // U+F1B5E robot-vacuum-variant-alert, aliases: robot-vacuum-variant-error, tags: Alert / Error, + // Home Automation +#define ICON_MD_ROCKET "\xf3\xb0\x91\xa3" // U+F0463 rocket, tags: Transportation + Flying, Science +#define ICON_MD_ROCKET_LAUNCH "\xf3\xb1\x93\x9e" // U+F14DE rocket-launch, tags: Science, Transportation + Flying +#define ICON_MD_ROCKET_LAUNCH_OUTLINE "\xf3\xb1\x93\x9f" // U+F14DF rocket-launch-outline, tags: Science, Transportation + Flying +#define ICON_MD_ROCKET_OUTLINE "\xf3\xb1\x8e\xaf" // U+F13AF rocket-outline, tags: Science, Transportation + Flying +#define ICON_MD_RODENT "\xf3\xb1\x8c\xa7" // U+F1327 rodent, aliases: mouse, rat, tags: Animal +#define ICON_MD_ROLLER_SHADE "\xf3\xb1\xa9\xab" // U+F1A6B roller-shade, aliases: blinds-open, window-open, tags: Home Automation +#define ICON_MD_ROLLER_SHADE_CLOSED "\xf3\xb1\xa9\xac" // U+F1A6C roller-shade-closed, aliases: blinds-closed, window-closed, tags: Home Automation +#define ICON_MD_ROLLER_SKATE "\xf3\xb0\xb4\xab" // U+F0D2B roller-skate, tags: Sport +#define ICON_MD_ROLLER_SKATE_OFF "\xf3\xb0\x85\x85" // U+F0145 roller-skate-off, tags: Sport +#define ICON_MD_ROLLERBLADE "\xf3\xb0\xb4\xac" // U+F0D2C rollerblade, tags: Sport +#define ICON_MD_ROLLERBLADE_OFF "\xf3\xb0\x80\xae" // U+F002E rollerblade-off, tags: Sport +#define ICON_MD_ROLLUPJS "\xf3\xb0\xaf\x80" // U+F0BC0 rollupjs, aliases: rollup-js, tags: Brand / Logo, Developer / Languages +#define ICON_MD_ROLODEX "\xf3\xb1\xaa\xb9" // U+F1AB9 rolodex +#define ICON_MD_ROLODEX_OUTLINE "\xf3\xb1\xaa\xba" // U+F1ABA rolodex-outline +#define ICON_MD_ROMAN_NUMERAL_1 "\xf3\xb1\x82\x88" // U+F1088 roman-numeral-1, tags: Alpha / Numeric +#define ICON_MD_ROMAN_NUMERAL_10 "\xf3\xb1\x82\x91" // U+F1091 roman-numeral-10, tags: Alpha / Numeric +#define ICON_MD_ROMAN_NUMERAL_2 "\xf3\xb1\x82\x89" // U+F1089 roman-numeral-2, tags: Alpha / Numeric +#define ICON_MD_ROMAN_NUMERAL_3 "\xf3\xb1\x82\x8a" // U+F108A roman-numeral-3, tags: Alpha / Numeric +#define ICON_MD_ROMAN_NUMERAL_4 "\xf3\xb1\x82\x8b" // U+F108B roman-numeral-4, tags: Alpha / Numeric +#define ICON_MD_ROMAN_NUMERAL_5 "\xf3\xb1\x82\x8c" // U+F108C roman-numeral-5, tags: Alpha / Numeric +#define ICON_MD_ROMAN_NUMERAL_6 "\xf3\xb1\x82\x8d" // U+F108D roman-numeral-6, tags: Alpha / Numeric +#define ICON_MD_ROMAN_NUMERAL_7 "\xf3\xb1\x82\x8e" // U+F108E roman-numeral-7, tags: Alpha / Numeric +#define ICON_MD_ROMAN_NUMERAL_8 "\xf3\xb1\x82\x8f" // U+F108F roman-numeral-8, tags: Alpha / Numeric +#define ICON_MD_ROMAN_NUMERAL_9 "\xf3\xb1\x82\x90" // U+F1090 roman-numeral-9, tags: Alpha / Numeric +#define ICON_MD_ROOM_SERVICE "\xf3\xb0\xa2\x8d" // U+F088D room-service +#define ICON_MD_ROOM_SERVICE_OUTLINE "\xf3\xb0\xb6\x97" // U+F0D97 room-service-outline +#define ICON_MD_ROTATE_360 "\xf3\xb1\xa6\x99" // U+F1999 rotate-360, tags: Arrow +#define ICON_MD_ROTATE_3D "\xf3\xb0\xbb\x87" // U+F0EC7 rotate-3d +#define ICON_MD_ROTATE_3D_VARIANT "\xf3\xb0\x91\xa4" // U+F0464 rotate-3d-variant, aliases: 3d-rotation +#define ICON_MD_ROTATE_LEFT "\xf3\xb0\x91\xa5" // U+F0465 rotate-left, aliases: arrow-rotate-left, tags: Arrow +#define ICON_MD_ROTATE_LEFT_VARIANT "\xf3\xb0\x91\xa6" // U+F0466 rotate-left-variant +#define ICON_MD_ROTATE_ORBIT "\xf3\xb0\xb6\x98" // U+F0D98 rotate-orbit, aliases: gyro, accelerometer +#define ICON_MD_ROTATE_RIGHT "\xf3\xb0\x91\xa7" // U+F0467 rotate-right, aliases: arrow-rotate-right, tags: Arrow +#define ICON_MD_ROTATE_RIGHT_VARIANT "\xf3\xb0\x91\xa8" // U+F0468 rotate-right-variant +#define ICON_MD_ROUNDED_CORNER "\xf3\xb0\x98\x87" // U+F0607 rounded-corner +#define ICON_MD_ROUTER "\xf3\xb1\x87\xa2" // U+F11E2 router +#define ICON_MD_ROUTER_NETWORK "\xf3\xb1\x82\x87" // U+F1087 router-network +#define ICON_MD_ROUTER_WIRELESS "\xf3\xb0\x91\xa9" // U+F0469 router-wireless +#define ICON_MD_ROUTER_WIRELESS_OFF "\xf3\xb1\x96\xa3" // U+F15A3 router-wireless-off +#define ICON_MD_ROUTER_WIRELESS_SETTINGS "\xf3\xb0\xa9\xa9" // U+F0A69 router-wireless-settings, tags: Settings +#define ICON_MD_ROUTES "\xf3\xb0\x91\xaa" // U+F046A routes, aliases: sign-routes +#define ICON_MD_ROUTES_CLOCK "\xf3\xb1\x81\x99" // U+F1059 routes-clock, tags: Date / Time +#define ICON_MD_ROWING "\xf3\xb0\x98\x88" // U+F0608 rowing, aliases: human-rowing, tags: Sport, Transportation + Water, People / Family +#define ICON_MD_RSS "\xf3\xb0\x91\xab" // U+F046B rss, aliases: rss-feed +#define ICON_MD_RSS_BOX "\xf3\xb0\x91\xac" // U+F046C rss-box, aliases: rss-feed-box +#define ICON_MD_RSS_OFF "\xf3\xb0\xbc\xa1" // U+F0F21 rss-off +#define ICON_MD_RUG "\xf3\xb1\x91\xb5" // U+F1475 rug, aliases: carpet, tags: Home Automation +#define ICON_MD_RUGBY "\xf3\xb0\xb6\x99" // U+F0D99 rugby, aliases: rugby-ball, tags: Sport +#define ICON_MD_RULER "\xf3\xb0\x91\xad" // U+F046D ruler, tags: Hardware / Tools, Drawing / Art +#define ICON_MD_RULER_SQUARE \ + "\xf3\xb0\xb3\x82" // U+F0CC2 ruler-square, aliases: square, carpentry, architecture, tags: Hardware / Tools, + // Drawing / Art +#define ICON_MD_RULER_SQUARE_COMPASS "\xf3\xb0\xba\xbe" // U+F0EBE ruler-square-compass, aliases: mason, masonic, freemasonry, tags: Hardware / Tools +#define ICON_MD_RUN "\xf3\xb0\x9c\x8e" // U+F070E run, aliases: directions-run, human-run, tags: Sport, People / Family +#define ICON_MD_RUN_FAST \ + "\xf3\xb0\x91\xae" // U+F046E run-fast, aliases: velocity, human-run-fast, tags: Home Automation, Sport, People / + // Family +#define ICON_MD_RV_TRUCK "\xf3\xb1\x87\x94" // U+F11D4 rv-truck, aliases: recreational-vehicle, campervan, tags: Transportation + Road +#define ICON_MD_SACK "\xf3\xb0\xb4\xae" // U+F0D2E sack, tags: Gaming / RPG +#define ICON_MD_SACK_PERCENT "\xf3\xb0\xb4\xaf" // U+F0D2F sack-percent +#define ICON_MD_SAFE "\xf3\xb0\xa9\xaa" // U+F0A6A safe, tags: Banking +#define ICON_MD_SAFE_SQUARE "\xf3\xb1\x89\xbc" // U+F127C safe-square +#define ICON_MD_SAFE_SQUARE_OUTLINE "\xf3\xb1\x89\xbd" // U+F127D safe-square-outline +#define ICON_MD_SAFETY_GOGGLES "\xf3\xb0\xb4\xb0" // U+F0D30 safety-goggles, aliases: safety-glasses, tags: Science +#define ICON_MD_SAIL_BOAT "\xf3\xb0\xbb\x88" // U+F0EC8 sail-boat, aliases: sailing, boat, tags: Sport, Transportation + Water +#define ICON_MD_SAIL_BOAT_SINK \ + "\xf3\xb1\xab\xaf" // U+F1AEF sail-boat-sink, aliases: sail-boat-crash, sail-boat-wreck, tags: Transportation + + // Water +#define ICON_MD_SALE "\xf3\xb0\x91\xaf" // U+F046F sale, aliases: discount, tags: Shopping +#define ICON_MD_SALE_OUTLINE "\xf3\xb1\xa8\x86" // U+F1A06 sale-outline, aliases: discount-outline, tags: Shopping +#define ICON_MD_SALESFORCE "\xf3\xb0\xa2\x8e" // U+F088E salesforce, tags: Brand / Logo +#define ICON_MD_SASS "\xf3\xb0\x9f\xac" // U+F07EC sass, tags: Brand / Logo, Developer / Languages +#define ICON_MD_SATELLITE "\xf3\xb0\x91\xb0" // U+F0470 satellite +#define ICON_MD_SATELLITE_UPLINK "\xf3\xb0\xa4\x89" // U+F0909 satellite-uplink +#define ICON_MD_SATELLITE_VARIANT "\xf3\xb0\x91\xb1" // U+F0471 satellite-variant +#define ICON_MD_SAUSAGE "\xf3\xb0\xa2\xba" // U+F08BA sausage, tags: Food / Drink +#define ICON_MD_SAUSAGE_OFF "\xf3\xb1\x9e\x89" // U+F1789 sausage-off, tags: Food / Drink +#define ICON_MD_SAW_BLADE "\xf3\xb0\xb9\xa1" // U+F0E61 saw-blade, tags: Hardware / Tools +#define ICON_MD_SAWTOOTH_WAVE "\xf3\xb1\x91\xba" // U+F147A sawtooth-wave, tags: Audio +#define ICON_MD_SAXOPHONE "\xf3\xb0\x98\x89" // U+F0609 saxophone, tags: Music +#define ICON_MD_SCALE "\xf3\xb0\x91\xb2" // U+F0472 scale, tags: Food / Drink, Science +#define ICON_MD_SCALE_BALANCE "\xf3\xb0\x97\x91" // U+F05D1 scale-balance, aliases: justice, legal, tags: Science +#define ICON_MD_SCALE_BATHROOM "\xf3\xb0\x91\xb3" // U+F0473 scale-bathroom, tags: Home Automation, Medical / Hospital +#define ICON_MD_SCALE_OFF "\xf3\xb1\x81\x9a" // U+F105A scale-off, tags: Science +#define ICON_MD_SCALE_UNBALANCED "\xf3\xb1\xa6\xb8" // U+F19B8 scale-unbalanced +#define ICON_MD_SCAN_HELPER "\xf3\xb1\x8f\x98" // U+F13D8 scan-helper +#define ICON_MD_SCANNER "\xf3\xb0\x9a\xab" // U+F06AB scanner, tags: Device / Tech +#define ICON_MD_SCANNER_OFF "\xf3\xb0\xa4\x8a" // U+F090A scanner-off, tags: Device / Tech +#define ICON_MD_SCATTER_PLOT "\xf3\xb0\xbb\x89" // U+F0EC9 scatter-plot +#define ICON_MD_SCATTER_PLOT_OUTLINE "\xf3\xb0\xbb\x8a" // U+F0ECA scatter-plot-outline +#define ICON_MD_SCENT "\xf3\xb1\xa5\x98" // U+F1958 scent, aliases: aroma, fragrance, smell, odor +#define ICON_MD_SCENT_OFF "\xf3\xb1\xa5\x99" // U+F1959 scent-off, aliases: aroma-off, smell-off, fragrance-off, odor-off +#define ICON_MD_SCHOOL "\xf3\xb0\x91\xb4" // U+F0474 school, aliases: graduation-cap, university, college, academic-cap, education, learn +#define ICON_MD_SCHOOL_OUTLINE \ + "\xf3\xb1\x86\x80" // U+F1180 school-outline, aliases: academic-cap-outline, college-outline, + // graduation-cap-outline, university-outline, education-outline, learn-outline +#define ICON_MD_SCISSORS_CUTTING "\xf3\xb0\xa9\xab" // U+F0A6B scissors-cutting +#define ICON_MD_SCOOTER "\xf3\xb1\x96\xbd" // U+F15BD scooter, tags: Transportation + Other +#define ICON_MD_SCOOTER_ELECTRIC "\xf3\xb1\x96\xbe" // U+F15BE scooter-electric, tags: Transportation + Other +#define ICON_MD_SCOREBOARD "\xf3\xb1\x89\xbe" // U+F127E scoreboard, tags: Sport +#define ICON_MD_SCOREBOARD_OUTLINE "\xf3\xb1\x89\xbf" // U+F127F scoreboard-outline, tags: Sport +#define ICON_MD_SCREEN_ROTATION "\xf3\xb0\x91\xb5" // U+F0475 screen-rotation +#define ICON_MD_SCREEN_ROTATION_LOCK "\xf3\xb0\x91\xb8" // U+F0478 screen-rotation-lock, aliases: screen-lock-rotation, tags: Lock +#define ICON_MD_SCREW_FLAT_TOP "\xf3\xb0\xb7\xb3" // U+F0DF3 screw-flat-top, tags: Hardware / Tools +#define ICON_MD_SCREW_LAG "\xf3\xb0\xb7\xb4" // U+F0DF4 screw-lag, tags: Hardware / Tools +#define ICON_MD_SCREW_MACHINE_FLAT_TOP "\xf3\xb0\xb7\xb5" // U+F0DF5 screw-machine-flat-top, tags: Hardware / Tools +#define ICON_MD_SCREW_MACHINE_ROUND_TOP "\xf3\xb0\xb7\xb6" // U+F0DF6 screw-machine-round-top, tags: Hardware / Tools +#define ICON_MD_SCREW_ROUND_TOP "\xf3\xb0\xb7\xb7" // U+F0DF7 screw-round-top, tags: Hardware / Tools +#define ICON_MD_SCREWDRIVER "\xf3\xb0\x91\xb6" // U+F0476 screwdriver, tags: Hardware / Tools +#define ICON_MD_SCRIPT "\xf3\xb0\xaf\x81" // U+F0BC1 script, aliases: scroll, tags: Gaming / RPG +#define ICON_MD_SCRIPT_OUTLINE "\xf3\xb0\x91\xb7" // U+F0477 script-outline, aliases: scroll-outline, tags: Gaming / RPG +#define ICON_MD_SCRIPT_TEXT "\xf3\xb0\xaf\x82" // U+F0BC2 script-text, aliases: scroll-text, tags: Gaming / RPG +#define ICON_MD_SCRIPT_TEXT_KEY "\xf3\xb1\x9c\xa5" // U+F1725 script-text-key +#define ICON_MD_SCRIPT_TEXT_KEY_OUTLINE "\xf3\xb1\x9c\xa6" // U+F1726 script-text-key-outline +#define ICON_MD_SCRIPT_TEXT_OUTLINE "\xf3\xb0\xaf\x83" // U+F0BC3 script-text-outline, aliases: scroll-text-outline, tags: Gaming / RPG +#define ICON_MD_SCRIPT_TEXT_PLAY "\xf3\xb1\x9c\xa7" // U+F1727 script-text-play +#define ICON_MD_SCRIPT_TEXT_PLAY_OUTLINE "\xf3\xb1\x9c\xa8" // U+F1728 script-text-play-outline +#define ICON_MD_SD "\xf3\xb0\x91\xb9" // U+F0479 sd, aliases: sd-card, sd-storage +#define ICON_MD_SEAL "\xf3\xb0\x91\xba" // U+F047A seal, aliases: ribbon, prize, award +#define ICON_MD_SEAL_VARIANT "\xf3\xb0\xbf\x99" // U+F0FD9 seal-variant, aliases: ribbon, prize, award +#define ICON_MD_SEARCH_WEB "\xf3\xb0\x9c\x8f" // U+F070F search-web, aliases: search-globe, global-search, internet-search +#define ICON_MD_SEAT \ + "\xf3\xb0\xb3\x83" // U+F0CC3 seat, aliases: event-seat, chair, chair-accent, home-theater, home-theatre, tags: Home + // Automation +#define ICON_MD_SEAT_FLAT "\xf3\xb0\x91\xbb" // U+F047B seat-flat, aliases: airline-seat-flat +#define ICON_MD_SEAT_FLAT_ANGLED "\xf3\xb0\x91\xbc" // U+F047C seat-flat-angled, aliases: airline-seat-flat-angled +#define ICON_MD_SEAT_INDIVIDUAL_SUITE "\xf3\xb0\x91\xbd" // U+F047D seat-individual-suite, aliases: airline-seat-individual-suite +#define ICON_MD_SEAT_LEGROOM_EXTRA "\xf3\xb0\x91\xbe" // U+F047E seat-legroom-extra, aliases: airline-seat-legroom-extra +#define ICON_MD_SEAT_LEGROOM_NORMAL "\xf3\xb0\x91\xbf" // U+F047F seat-legroom-normal, aliases: airline-seat-legroom-normal +#define ICON_MD_SEAT_LEGROOM_REDUCED "\xf3\xb0\x92\x80" // U+F0480 seat-legroom-reduced, aliases: airline-seat-legroom-reduced +#define ICON_MD_SEAT_OUTLINE \ + "\xf3\xb0\xb3\x84" // U+F0CC4 seat-outline, aliases: event-seat-outline, chair-outline, chair-accent-outline, + // home-theater, home-theatre, tags: Home Automation +#define ICON_MD_SEAT_PASSENGER "\xf3\xb1\x89\x89" // U+F1249 seat-passenger +#define ICON_MD_SEAT_RECLINE_EXTRA "\xf3\xb0\x92\x81" // U+F0481 seat-recline-extra, aliases: airline-seat-recline-extra +#define ICON_MD_SEAT_RECLINE_NORMAL "\xf3\xb0\x92\x82" // U+F0482 seat-recline-normal, aliases: airline-seat-recline-normal +#define ICON_MD_SEATBELT "\xf3\xb0\xb3\x85" // U+F0CC5 seatbelt, aliases: seat-belt, safety-belt, tags: Automotive +#define ICON_MD_SECURITY "\xf3\xb0\x92\x83" // U+F0483 security +#define ICON_MD_SECURITY_NETWORK "\xf3\xb0\x92\x84" // U+F0484 security-network +#define ICON_MD_SEED "\xf3\xb0\xb9\xa2" // U+F0E62 seed, tags: Agriculture, Nature, Food / Drink +#define ICON_MD_SEED_OFF "\xf3\xb1\x8f\xbd" // U+F13FD seed-off, tags: Nature, Food / Drink, Agriculture +#define ICON_MD_SEED_OFF_OUTLINE "\xf3\xb1\x8f\xbe" // U+F13FE seed-off-outline, tags: Nature, Food / Drink, Agriculture +#define ICON_MD_SEED_OUTLINE "\xf3\xb0\xb9\xa3" // U+F0E63 seed-outline, tags: Agriculture, Nature, Food / Drink +#define ICON_MD_SEED_PLUS "\xf3\xb1\xa9\xad" // U+F1A6D seed-plus, aliases: seed-add, tags: Agriculture, Nature +#define ICON_MD_SEED_PLUS_OUTLINE "\xf3\xb1\xa9\xae" // U+F1A6E seed-plus-outline, aliases: seed-add-outline, tags: Agriculture, Nature +#define ICON_MD_SEESAW "\xf3\xb1\x96\xa4" // U+F15A4 seesaw, aliases: playground-seesaw +#define ICON_MD_SEGMENT "\xf3\xb0\xbb\x8b" // U+F0ECB segment +#define ICON_MD_SELECT "\xf3\xb0\x92\x85" // U+F0485 select +#define ICON_MD_SELECT_ALL "\xf3\xb0\x92\x86" // U+F0486 select-all +#define ICON_MD_SELECT_ARROW_DOWN "\xf3\xb1\xad\x99" // U+F1B59 select-arrow-down +#define ICON_MD_SELECT_ARROW_UP "\xf3\xb1\xad\x98" // U+F1B58 select-arrow-up +#define ICON_MD_SELECT_COLOR "\xf3\xb0\xb4\xb1" // U+F0D31 select-color, aliases: select-colour, tags: Color +#define ICON_MD_SELECT_COMPARE "\xf3\xb0\xab\x99" // U+F0AD9 select-compare +#define ICON_MD_SELECT_DRAG "\xf3\xb0\xa9\xac" // U+F0A6C select-drag +#define ICON_MD_SELECT_GROUP "\xf3\xb0\xbe\x82" // U+F0F82 select-group +#define ICON_MD_SELECT_INVERSE "\xf3\xb0\x92\x87" // U+F0487 select-inverse, aliases: selection-invert +#define ICON_MD_SELECT_MARKER "\xf3\xb1\x8a\x80" // U+F1280 select-marker, aliases: select-location, tags: Navigation +#define ICON_MD_SELECT_MULTIPLE "\xf3\xb1\x8a\x81" // U+F1281 select-multiple +#define ICON_MD_SELECT_MULTIPLE_MARKER "\xf3\xb1\x8a\x82" // U+F1282 select-multiple-marker, aliases: select-multiple-location, tags: Navigation +#define ICON_MD_SELECT_OFF "\xf3\xb0\x92\x88" // U+F0488 select-off +#define ICON_MD_SELECT_PLACE "\xf3\xb0\xbf\x9a" // U+F0FDA select-place +#define ICON_MD_SELECT_REMOVE "\xf3\xb1\x9f\x81" // U+F17C1 select-remove +#define ICON_MD_SELECT_SEARCH "\xf3\xb1\x88\x84" // U+F1204 select-search +#define ICON_MD_SELECTION "\xf3\xb0\x92\x89" // U+F0489 selection +#define ICON_MD_SELECTION_DRAG "\xf3\xb0\xa9\xad" // U+F0A6D selection-drag +#define ICON_MD_SELECTION_ELLIPSE "\xf3\xb0\xb4\xb2" // U+F0D32 selection-ellipse +#define ICON_MD_SELECTION_ELLIPSE_ARROW_INSIDE "\xf3\xb0\xbc\xa2" // U+F0F22 selection-ellipse-arrow-inside +#define ICON_MD_SELECTION_ELLIPSE_REMOVE "\xf3\xb1\x9f\x82" // U+F17C2 selection-ellipse-remove +#define ICON_MD_SELECTION_MARKER "\xf3\xb1\x8a\x83" // U+F1283 selection-marker, aliases: selection-location, tags: Navigation +#define ICON_MD_SELECTION_MULTIPLE "\xf3\xb1\x8a\x85" // U+F1285 selection-multiple +#define ICON_MD_SELECTION_MULTIPLE_MARKER "\xf3\xb1\x8a\x84" // U+F1284 selection-multiple-marker, aliases: selection-multiple-location, tags: Navigation +#define ICON_MD_SELECTION_OFF "\xf3\xb0\x9d\xb7" // U+F0777 selection-off +#define ICON_MD_SELECTION_REMOVE "\xf3\xb1\x9f\x83" // U+F17C3 selection-remove +#define ICON_MD_SELECTION_SEARCH "\xf3\xb1\x88\x85" // U+F1205 selection-search +#define ICON_MD_SEMANTIC_WEB \ + "\xf3\xb1\x8c\x96" // U+F1316 semantic-web, aliases: rdf, resource-description-framework, owl, + // web-ontology-language, w3c, tags: Developer / Languages, Brand / Logo +#define ICON_MD_SEND "\xf3\xb0\x92\x8a" // U+F048A send, aliases: paper-airplane, paper-plane +#define ICON_MD_SEND_CHECK "\xf3\xb1\x85\xa1" // U+F1161 send-check +#define ICON_MD_SEND_CHECK_OUTLINE "\xf3\xb1\x85\xa2" // U+F1162 send-check-outline +#define ICON_MD_SEND_CIRCLE "\xf3\xb0\xb7\xb8" // U+F0DF8 send-circle +#define ICON_MD_SEND_CIRCLE_OUTLINE "\xf3\xb0\xb7\xb9" // U+F0DF9 send-circle-outline +#define ICON_MD_SEND_CLOCK "\xf3\xb1\x85\xa3" // U+F1163 send-clock, tags: Date / Time +#define ICON_MD_SEND_CLOCK_OUTLINE "\xf3\xb1\x85\xa4" // U+F1164 send-clock-outline, tags: Date / Time +#define ICON_MD_SEND_LOCK "\xf3\xb0\x9f\xad" // U+F07ED send-lock, aliases: send-secure, tags: Lock +#define ICON_MD_SEND_LOCK_OUTLINE "\xf3\xb1\x85\xa6" // U+F1166 send-lock-outline, tags: Lock +#define ICON_MD_SEND_OUTLINE "\xf3\xb1\x85\xa5" // U+F1165 send-outline, aliases: paper-airplane-outline, paper-plane-outline +#define ICON_MD_SERIAL_PORT "\xf3\xb0\x99\x9c" // U+F065C serial-port, aliases: vga +#define ICON_MD_SERVER "\xf3\xb0\x92\x8b" // U+F048B server, aliases: storage +#define ICON_MD_SERVER_MINUS "\xf3\xb0\x92\x8c" // U+F048C server-minus, aliases: server-remove +#define ICON_MD_SERVER_NETWORK "\xf3\xb0\x92\x8d" // U+F048D server-network +#define ICON_MD_SERVER_NETWORK_OFF "\xf3\xb0\x92\x8e" // U+F048E server-network-off +#define ICON_MD_SERVER_OFF "\xf3\xb0\x92\x8f" // U+F048F server-off +#define ICON_MD_SERVER_PLUS "\xf3\xb0\x92\x90" // U+F0490 server-plus, aliases: server-add +#define ICON_MD_SERVER_REMOVE "\xf3\xb0\x92\x91" // U+F0491 server-remove +#define ICON_MD_SERVER_SECURITY "\xf3\xb0\x92\x92" // U+F0492 server-security +#define ICON_MD_SET_ALL \ + "\xf3\xb0\x9d\xb8" // U+F0778 set-all, aliases: set-union, set-or, full-outer-join, sql-full-outer-join, tags: + // Database +#define ICON_MD_SET_CENTER \ + "\xf3\xb0\x9d\xb9" // U+F0779 set-center, aliases: set-centre, set-intersection, set-and, inner-join, + // sql-inner-join, tags: Database +#define ICON_MD_SET_CENTER_RIGHT \ + "\xf3\xb0\x9d\xba" // U+F077A set-center-right, aliases: set-centre-right, outer-join-right, sql-right-outer-join, + // tags: Database +#define ICON_MD_SET_LEFT "\xf3\xb0\x9d\xbb" // U+F077B set-left, aliases: difference-left, tags: Database +#define ICON_MD_SET_LEFT_CENTER \ + "\xf3\xb0\x9d\xbc" // U+F077C set-left-center, aliases: set-left-centre, outer-join-left, sql-left-outer-join, tags: + // Database +#define ICON_MD_SET_LEFT_RIGHT "\xf3\xb0\x9d\xbd" // U+F077D set-left-right, aliases: exclusion, set-xor, tags: Database +#define ICON_MD_SET_MERGE "\xf3\xb1\x93\xa0" // U+F14E0 set-merge +#define ICON_MD_SET_NONE "\xf3\xb0\x9d\xbe" // U+F077E set-none, aliases: set-null, set-not, venn-diagram, tags: Database +#define ICON_MD_SET_RIGHT "\xf3\xb0\x9d\xbf" // U+F077F set-right, aliases: difference-right, tags: Database +#define ICON_MD_SET_SPLIT "\xf3\xb1\x93\xa1" // U+F14E1 set-split +#define ICON_MD_SET_SQUARE "\xf3\xb1\x91\x9d" // U+F145D set-square, tags: Hardware / Tools +#define ICON_MD_SET_TOP_BOX "\xf3\xb0\xa6\x9f" // U+F099F set-top-box, tags: Home Automation +#define ICON_MD_SETTINGS_HELPER "\xf3\xb0\xa9\xae" // U+F0A6E settings-helper, tags: Settings +#define ICON_MD_SHAKER "\xf3\xb1\x84\x8e" // U+F110E shaker, aliases: pepper, fish-food, tags: Food / Drink +#define ICON_MD_SHAKER_OUTLINE "\xf3\xb1\x84\x8f" // U+F110F shaker-outline, aliases: salt, fish-food-outline, tags: Food / Drink +#define ICON_MD_SHAPE "\xf3\xb0\xa0\xb1" // U+F0831 shape, aliases: category, theme, tags: Shape +#define ICON_MD_SHAPE_CIRCLE_PLUS "\xf3\xb0\x99\x9d" // U+F065D shape-circle-plus, aliases: shape-circle-add, tags: Shape +#define ICON_MD_SHAPE_OUTLINE "\xf3\xb0\xa0\xb2" // U+F0832 shape-outline, aliases: theme-outline, category-outline, tags: Shape +#define ICON_MD_SHAPE_OVAL_PLUS "\xf3\xb1\x87\xba" // U+F11FA shape-oval-plus +#define ICON_MD_SHAPE_PLUS "\xf3\xb0\x92\x95" // U+F0495 shape-plus, aliases: shape-add, tags: Shape +#define ICON_MD_SHAPE_POLYGON_PLUS "\xf3\xb0\x99\x9e" // U+F065E shape-polygon-plus, aliases: shape-polygon-add, tags: Shape +#define ICON_MD_SHAPE_RECTANGLE_PLUS "\xf3\xb0\x99\x9f" // U+F065F shape-rectangle-plus, aliases: shape-rectangle-add, tags: Shape +#define ICON_MD_SHAPE_SQUARE_PLUS "\xf3\xb0\x99\xa0" // U+F0660 shape-square-plus, aliases: shape-square-add, tags: Shape +#define ICON_MD_SHAPE_SQUARE_ROUNDED_PLUS "\xf3\xb1\x93\xba" // U+F14FA shape-square-rounded-plus +#define ICON_MD_SHARE "\xf3\xb0\x92\x96" // U+F0496 share, aliases: forward, tags: Arrow +#define ICON_MD_SHARE_ALL "\xf3\xb1\x87\xb4" // U+F11F4 share-all +#define ICON_MD_SHARE_ALL_OUTLINE "\xf3\xb1\x87\xb5" // U+F11F5 share-all-outline +#define ICON_MD_SHARE_CIRCLE "\xf3\xb1\x86\xad" // U+F11AD share-circle, tags: Arrow +#define ICON_MD_SHARE_OFF "\xf3\xb0\xbc\xa3" // U+F0F23 share-off, aliases: forward-off, tags: Arrow +#define ICON_MD_SHARE_OFF_OUTLINE "\xf3\xb0\xbc\xa4" // U+F0F24 share-off-outline, aliases: forward-off-outline, tags: Arrow +#define ICON_MD_SHARE_OUTLINE "\xf3\xb0\xa4\xb2" // U+F0932 share-outline, aliases: forward-outline, tags: Arrow +#define ICON_MD_SHARE_VARIANT "\xf3\xb0\x92\x97" // U+F0497 share-variant +#define ICON_MD_SHARE_VARIANT_OUTLINE "\xf3\xb1\x94\x94" // U+F1514 share-variant-outline +#define ICON_MD_SHARK "\xf3\xb1\xa2\xba" // U+F18BA shark, aliases: jaws, tags: Animal +#define ICON_MD_SHARK_FIN "\xf3\xb1\x99\xb3" // U+F1673 shark-fin, tags: Animal +#define ICON_MD_SHARK_FIN_OUTLINE "\xf3\xb1\x99\xb4" // U+F1674 shark-fin-outline, tags: Animal +#define ICON_MD_SHARK_OFF "\xf3\xb1\xa2\xbb" // U+F18BB shark-off, aliases: jaws-off, tags: Animal +#define ICON_MD_SHEEP "\xf3\xb0\xb3\x86" // U+F0CC6 sheep, aliases: emoji-sheep, emoticon-sheep, tags: Animal, Agriculture +#define ICON_MD_SHIELD "\xf3\xb0\x92\x98" // U+F0498 shield, tags: Gaming / RPG +#define ICON_MD_SHIELD_ACCOUNT \ + "\xf3\xb0\xa2\x8f" // U+F088F shield-account, aliases: security-account, shield-user, shield-person, alarm-arm-home, + // tags: Account / User, Home Automation +#define ICON_MD_SHIELD_ACCOUNT_OUTLINE \ + "\xf3\xb0\xa8\x92" // U+F0A12 shield-account-outline, aliases: security-account-outline, shield-user-outline, + // shield-person-outline, alarm-arm-home-outline, tags: Account / User, Home Automation +#define ICON_MD_SHIELD_ACCOUNT_VARIANT "\xf3\xb1\x96\xa7" // U+F15A7 shield-account-variant, tags: Account / User +#define ICON_MD_SHIELD_ACCOUNT_VARIANT_OUTLINE "\xf3\xb1\x96\xa8" // U+F15A8 shield-account-variant-outline, tags: Account / User +#define ICON_MD_SHIELD_AIRPLANE \ + "\xf3\xb0\x9a\xbb" // U+F06BB shield-airplane, aliases: shield-aeroplane, shield-plane, plane-shield, tags: + // Transportation + Flying +#define ICON_MD_SHIELD_AIRPLANE_OUTLINE \ + "\xf3\xb0\xb3\x87" // U+F0CC7 shield-airplane-outline, aliases: shield-aeroplane-outline, shield-plane-outline, + // tags: Transportation + Flying +#define ICON_MD_SHIELD_ALERT "\xf3\xb0\xbb\x8c" // U+F0ECC shield-alert, aliases: shield-warning, tags: Alert / Error +#define ICON_MD_SHIELD_ALERT_OUTLINE "\xf3\xb0\xbb\x8d" // U+F0ECD shield-alert-outline, aliases: shield-warning-outline, tags: Alert / Error +#define ICON_MD_SHIELD_BUG "\xf3\xb1\x8f\x9a" // U+F13DA shield-bug, aliases: antivirus +#define ICON_MD_SHIELD_BUG_OUTLINE "\xf3\xb1\x8f\x9b" // U+F13DB shield-bug-outline, aliases: antivirus-outline +#define ICON_MD_SHIELD_CAR "\xf3\xb0\xbe\x83" // U+F0F83 shield-car, aliases: car-security, car-insurance, tags: Automotive +#define ICON_MD_SHIELD_CHECK "\xf3\xb0\x95\xa5" // U+F0565 shield-check, aliases: verified-user, shield-tick, verified, tags: Account / User +#define ICON_MD_SHIELD_CHECK_OUTLINE "\xf3\xb0\xb3\x88" // U+F0CC8 shield-check-outline, aliases: shield-tick-outline +#define ICON_MD_SHIELD_CROSS \ + "\xf3\xb0\xb3\x89" // U+F0CC9 shield-cross, aliases: shield-templar, shield-christianity, tags: Gaming / RPG, + // Religion +#define ICON_MD_SHIELD_CROSS_OUTLINE \ + "\xf3\xb0\xb3\x8a" // U+F0CCA shield-cross-outline, aliases: shield-templar-outline, shield-christianity-outline, + // tags: Gaming / RPG, Religion +#define ICON_MD_SHIELD_CROWN "\xf3\xb1\xa2\xbc" // U+F18BC shield-crown, aliases: administrator, tags: Gaming / RPG +#define ICON_MD_SHIELD_CROWN_OUTLINE "\xf3\xb1\xa2\xbd" // U+F18BD shield-crown-outline, aliases: administrator-outline, tags: Gaming / RPG +#define ICON_MD_SHIELD_EDIT "\xf3\xb1\x86\xa0" // U+F11A0 shield-edit, tags: Edit / Modify +#define ICON_MD_SHIELD_EDIT_OUTLINE "\xf3\xb1\x86\xa1" // U+F11A1 shield-edit-outline, tags: Edit / Modify +#define ICON_MD_SHIELD_HALF "\xf3\xb1\x8d\xa0" // U+F1360 shield-half +#define ICON_MD_SHIELD_HALF_FULL "\xf3\xb0\x9e\x80" // U+F0780 shield-half-full +#define ICON_MD_SHIELD_HOME \ + "\xf3\xb0\x9a\x8a" // U+F068A shield-home, aliases: security-home, shield-house, alarm-arm-home, tags: Home + // Automation +#define ICON_MD_SHIELD_HOME_OUTLINE \ + "\xf3\xb0\xb3\x8b" // U+F0CCB shield-home-outline, aliases: shield-house-outline, alarm-arm-home, tags: Home + // Automation +#define ICON_MD_SHIELD_KEY "\xf3\xb0\xaf\x84" // U+F0BC4 shield-key +#define ICON_MD_SHIELD_KEY_OUTLINE "\xf3\xb0\xaf\x85" // U+F0BC5 shield-key-outline +#define ICON_MD_SHIELD_LINK_VARIANT "\xf3\xb0\xb4\xb3" // U+F0D33 shield-link-variant +#define ICON_MD_SHIELD_LINK_VARIANT_OUTLINE "\xf3\xb0\xb4\xb4" // U+F0D34 shield-link-variant-outline +#define ICON_MD_SHIELD_LOCK "\xf3\xb0\xa6\x9d" // U+F099D shield-lock, aliases: security-lock, alarm-arm-away, tags: Lock, Home Automation +#define ICON_MD_SHIELD_LOCK_OPEN "\xf3\xb1\xa6\x9a" // U+F199A shield-lock-open, aliases: shield-unlocked, tags: Home Automation, Lock +#define ICON_MD_SHIELD_LOCK_OPEN_OUTLINE \ + "\xf3\xb1\xa6\x9b" // U+F199B shield-lock-open-outline, aliases: shield-unlocked-outline, tags: Home Automation, + // Lock +#define ICON_MD_SHIELD_LOCK_OUTLINE \ + "\xf3\xb0\xb3\x8c" // U+F0CCC shield-lock-outline, aliases: alarm-arm-away-outline, security-lock-outline, tags: + // Lock, Home Automation +#define ICON_MD_SHIELD_MOON "\xf3\xb1\xa0\xa8" // U+F1828 shield-moon, aliases: alarm-arm-night, tags: Home Automation +#define ICON_MD_SHIELD_MOON_OUTLINE "\xf3\xb1\xa0\xa9" // U+F1829 shield-moon-outline, aliases: alarm-arm-night-outline, tags: Home Automation +#define ICON_MD_SHIELD_OFF "\xf3\xb0\xa6\x9e" // U+F099E shield-off, aliases: security-off +#define ICON_MD_SHIELD_OFF_OUTLINE "\xf3\xb0\xa6\x9c" // U+F099C shield-off-outline +#define ICON_MD_SHIELD_OUTLINE "\xf3\xb0\x92\x99" // U+F0499 shield-outline, tags: Gaming / RPG +#define ICON_MD_SHIELD_PLUS "\xf3\xb0\xab\x9a" // U+F0ADA shield-plus, aliases: shield-add +#define ICON_MD_SHIELD_PLUS_OUTLINE "\xf3\xb0\xab\x9b" // U+F0ADB shield-plus-outline, aliases: shield-add-outline +#define ICON_MD_SHIELD_REFRESH "\xf3\xb0\x82\xaa" // U+F00AA shield-refresh +#define ICON_MD_SHIELD_REFRESH_OUTLINE "\xf3\xb0\x87\xa0" // U+F01E0 shield-refresh-outline +#define ICON_MD_SHIELD_REMOVE "\xf3\xb0\xab\x9c" // U+F0ADC shield-remove +#define ICON_MD_SHIELD_REMOVE_OUTLINE "\xf3\xb0\xab\x9d" // U+F0ADD shield-remove-outline +#define ICON_MD_SHIELD_SEARCH "\xf3\xb0\xb6\x9a" // U+F0D9A shield-search +#define ICON_MD_SHIELD_STAR "\xf3\xb1\x84\xbb" // U+F113B shield-star, aliases: badge, shield-favorite +#define ICON_MD_SHIELD_STAR_OUTLINE "\xf3\xb1\x84\xbc" // U+F113C shield-star-outline, aliases: badge-outline, shield-favorite-outline +#define ICON_MD_SHIELD_SUN "\xf3\xb1\x81\x9d" // U+F105D shield-sun, aliases: sun-protection +#define ICON_MD_SHIELD_SUN_OUTLINE "\xf3\xb1\x81\x9e" // U+F105E shield-sun-outline, aliases: sun-protection-outline +#define ICON_MD_SHIELD_SWORD "\xf3\xb1\xa2\xbe" // U+F18BE shield-sword, aliases: moderator, tags: Gaming / RPG +#define ICON_MD_SHIELD_SWORD_OUTLINE "\xf3\xb1\xa2\xbf" // U+F18BF shield-sword-outline, aliases: moderator-outline, tags: Gaming / RPG +#define ICON_MD_SHIELD_SYNC "\xf3\xb1\x86\xa2" // U+F11A2 shield-sync +#define ICON_MD_SHIELD_SYNC_OUTLINE "\xf3\xb1\x86\xa3" // U+F11A3 shield-sync-outline +#define ICON_MD_SHIMMER "\xf3\xb1\x95\x85" // U+F1545 shimmer, aliases: sparkles +#define ICON_MD_SHIP_WHEEL "\xf3\xb0\xa0\xb3" // U+F0833 ship-wheel, aliases: voyager, helm, tags: Transportation + Water +#define ICON_MD_SHIPPING_PALLET "\xf3\xb1\xa1\x8e" // U+F184E shipping-pallet +#define ICON_MD_SHOE_BALLET "\xf3\xb1\x97\x8a" // U+F15CA shoe-ballet, aliases: slippers-ballet, tags: Sport, Clothing +#define ICON_MD_SHOE_CLEAT "\xf3\xb1\x97\x87" // U+F15C7 shoe-cleat, tags: Sport, Clothing +#define ICON_MD_SHOE_FORMAL "\xf3\xb0\xad\x87" // U+F0B47 shoe-formal, tags: Clothing +#define ICON_MD_SHOE_HEEL "\xf3\xb0\xad\x88" // U+F0B48 shoe-heel, tags: Clothing +#define ICON_MD_SHOE_PRINT "\xf3\xb0\xb7\xba" // U+F0DFA shoe-print, aliases: footprints +#define ICON_MD_SHOE_SNEAKER "\xf3\xb1\x97\x88" // U+F15C8 shoe-sneaker, aliases: shoe-running, tags: Sport, Clothing +#define ICON_MD_SHOPPING "\xf3\xb0\x92\x9a" // U+F049A shopping, aliases: local-mall, marketplace, tags: Shopping +#define ICON_MD_SHOPPING_MUSIC "\xf3\xb0\x92\x9b" // U+F049B shopping-music, tags: Shopping +#define ICON_MD_SHOPPING_OUTLINE "\xf3\xb1\x87\x95" // U+F11D5 shopping-outline, aliases: local-mall-outline, marketplace-outline, tags: Shopping +#define ICON_MD_SHOPPING_SEARCH "\xf3\xb0\xbe\x84" // U+F0F84 shopping-search, tags: Shopping +#define ICON_MD_SHOPPING_SEARCH_OUTLINE "\xf3\xb1\xa9\xaf" // U+F1A6F shopping-search-outline, tags: Shopping +#define ICON_MD_SHORE "\xf3\xb1\x93\xb9" // U+F14F9 shore +#define ICON_MD_SHOVEL "\xf3\xb0\x9c\x90" // U+F0710 shovel, aliases: gardening, tags: Hardware / Tools +#define ICON_MD_SHOVEL_OFF "\xf3\xb0\x9c\x91" // U+F0711 shovel-off, tags: Hardware / Tools +#define ICON_MD_SHOWER "\xf3\xb0\xa6\xa0" // U+F09A0 shower, aliases: bathtub, bathroom, tags: Home Automation +#define ICON_MD_SHOWER_HEAD "\xf3\xb0\xa6\xa1" // U+F09A1 shower-head, aliases: bathroom, tags: Home Automation +#define ICON_MD_SHREDDER "\xf3\xb0\x92\x9c" // U+F049C shredder +#define ICON_MD_SHUFFLE "\xf3\xb0\x92\x9d" // U+F049D shuffle, tags: Arrow +#define ICON_MD_SHUFFLE_DISABLED "\xf3\xb0\x92\x9e" // U+F049E shuffle-disabled, tags: Arrow +#define ICON_MD_SHUFFLE_VARIANT "\xf3\xb0\x92\x9f" // U+F049F shuffle-variant, tags: Arrow +#define ICON_MD_SHURIKEN "\xf3\xb1\x8d\xbf" // U+F137F shuriken +#define ICON_MD_SICKLE "\xf3\xb1\xa3\x80" // U+F18C0 sickle, tags: Hardware / Tools +#define ICON_MD_SIGMA "\xf3\xb0\x92\xa0" // U+F04A0 sigma, aliases: summation, tags: Math +#define ICON_MD_SIGMA_LOWER "\xf3\xb0\x98\xab" // U+F062B sigma-lower +#define ICON_MD_SIGN_CAUTION "\xf3\xb0\x92\xa1" // U+F04A1 sign-caution, aliases: barrier, tags: Transportation + Road +#define ICON_MD_SIGN_DIRECTION "\xf3\xb0\x9e\x81" // U+F0781 sign-direction, aliases: milestone +#define ICON_MD_SIGN_DIRECTION_MINUS "\xf3\xb1\x80\x80" // U+F1000 sign-direction-minus, aliases: milestone-minus +#define ICON_MD_SIGN_DIRECTION_PLUS "\xf3\xb0\xbf\x9c" // U+F0FDC sign-direction-plus, aliases: milestone-plus, sign-direction-add, milestone-add +#define ICON_MD_SIGN_DIRECTION_REMOVE "\xf3\xb0\xbf\x9d" // U+F0FDD sign-direction-remove, aliases: milestone-remove +#define ICON_MD_SIGN_LANGUAGE "\xf3\xb1\xad\x8d" // U+F1B4D sign-language +#define ICON_MD_SIGN_LANGUAGE_OUTLINE "\xf3\xb1\xad\x8e" // U+F1B4E sign-language-outline +#define ICON_MD_SIGN_POLE "\xf3\xb1\x93\xb8" // U+F14F8 sign-pole +#define ICON_MD_SIGN_REAL_ESTATE "\xf3\xb1\x84\x98" // U+F1118 sign-real-estate +#define ICON_MD_SIGN_TEXT "\xf3\xb0\x9e\x82" // U+F0782 sign-text +#define ICON_MD_SIGN_YIELD "\xf3\xb1\xae\xaf" // U+F1BAF sign-yield, aliases: give-way, tags: Transportation + Road +#define ICON_MD_SIGNAL "\xf3\xb0\x92\xa2" // U+F04A2 signal, tags: Cellphone / Phone +#define ICON_MD_SIGNAL_2G "\xf3\xb0\x9c\x92" // U+F0712 signal-2g, tags: Cellphone / Phone +#define ICON_MD_SIGNAL_3G "\xf3\xb0\x9c\x93" // U+F0713 signal-3g, tags: Cellphone / Phone +#define ICON_MD_SIGNAL_4G "\xf3\xb0\x9c\x94" // U+F0714 signal-4g, tags: Cellphone / Phone +#define ICON_MD_SIGNAL_5G "\xf3\xb0\xa9\xaf" // U+F0A6F signal-5g, tags: Cellphone / Phone +#define ICON_MD_SIGNAL_CELLULAR_1 "\xf3\xb0\xa2\xbc" // U+F08BC signal-cellular-1, tags: Cellphone / Phone +#define ICON_MD_SIGNAL_CELLULAR_2 "\xf3\xb0\xa2\xbd" // U+F08BD signal-cellular-2, tags: Cellphone / Phone +#define ICON_MD_SIGNAL_CELLULAR_3 "\xf3\xb0\xa2\xbe" // U+F08BE signal-cellular-3, tags: Cellphone / Phone +#define ICON_MD_SIGNAL_CELLULAR_OUTLINE "\xf3\xb0\xa2\xbf" // U+F08BF signal-cellular-outline, aliases: signal-cellular-0, tags: Cellphone / Phone +#define ICON_MD_SIGNAL_DISTANCE_VARIANT "\xf3\xb0\xb9\xa4" // U+F0E64 signal-distance-variant +#define ICON_MD_SIGNAL_HSPA "\xf3\xb0\x9c\x95" // U+F0715 signal-hspa, tags: Cellphone / Phone +#define ICON_MD_SIGNAL_HSPA_PLUS "\xf3\xb0\x9c\x96" // U+F0716 signal-hspa-plus, tags: Cellphone / Phone +#define ICON_MD_SIGNAL_OFF "\xf3\xb0\x9e\x83" // U+F0783 signal-off, tags: Cellphone / Phone +#define ICON_MD_SIGNAL_VARIANT "\xf3\xb0\x98\x8a" // U+F060A signal-variant +#define ICON_MD_SIGNATURE "\xf3\xb0\xb7\xbb" // U+F0DFB signature, tags: Form +#define ICON_MD_SIGNATURE_FREEHAND "\xf3\xb0\xb7\xbc" // U+F0DFC signature-freehand, tags: Form +#define ICON_MD_SIGNATURE_IMAGE "\xf3\xb0\xb7\xbd" // U+F0DFD signature-image, tags: Form +#define ICON_MD_SIGNATURE_TEXT "\xf3\xb0\xb7\xbe" // U+F0DFE signature-text, tags: Form +#define ICON_MD_SILO "\xf3\xb1\xae\x9f" // U+F1B9F silo, aliases: farm, tags: Agriculture +#define ICON_MD_SILO_OUTLINE "\xf3\xb0\xad\x89" // U+F0B49 silo-outline, aliases: farm-outline, tags: Agriculture +#define ICON_MD_SILVERWARE \ + "\xf3\xb0\x92\xa3" // U+F04A3 silverware, aliases: local-dining, restaurant-menu, local-restaurant, cutlery, tags: + // Food / Drink +#define ICON_MD_SILVERWARE_CLEAN "\xf3\xb0\xbf\x9e" // U+F0FDE silverware-clean, aliases: silverware-shimmer, cutlery-clean, tags: Food / Drink +#define ICON_MD_SILVERWARE_FORK "\xf3\xb0\x92\xa4" // U+F04A4 silverware-fork, aliases: cutlery-fork, tags: Food / Drink +#define ICON_MD_SILVERWARE_FORK_KNIFE \ + "\xf3\xb0\xa9\xb0" // U+F0A70 silverware-fork-knife, aliases: restaurant, fortnite, cutlery-fork-knife, + // place-setting, tags: Food / Drink +#define ICON_MD_SILVERWARE_SPOON "\xf3\xb0\x92\xa5" // U+F04A5 silverware-spoon, aliases: cutlery-spoon, tags: Food / Drink +#define ICON_MD_SILVERWARE_VARIANT "\xf3\xb0\x92\xa6" // U+F04A6 silverware-variant, aliases: cutlery-variant, tags: Food / Drink, Places +#define ICON_MD_SIM \ + "\xf3\xb0\x92\xa7" // U+F04A7 sim, aliases: sim-card, subscriber-identity-module, subscriber-identification-module, + // tags: Cellphone / Phone +#define ICON_MD_SIM_ALERT \ + "\xf3\xb0\x92\xa8" // U+F04A8 sim-alert, aliases: sim-warning, sim-card-alert, tags: Alert / Error, Cellphone / + // Phone +#define ICON_MD_SIM_ALERT_OUTLINE "\xf3\xb1\x97\x93" // U+F15D3 sim-alert-outline, tags: Cellphone / Phone, Alert / Error +#define ICON_MD_SIM_OFF "\xf3\xb0\x92\xa9" // U+F04A9 sim-off, aliases: signal-cellular-no-sim, tags: Cellphone / Phone +#define ICON_MD_SIM_OFF_OUTLINE "\xf3\xb1\x97\x94" // U+F15D4 sim-off-outline, tags: Cellphone / Phone +#define ICON_MD_SIM_OUTLINE \ + "\xf3\xb1\x97\x95" // U+F15D5 sim-outline, aliases: sim-card-outline, subscriber-identity-module-outline, + // subscriber-identification-module-outline, tags: Cellphone / Phone +#define ICON_MD_SIMPLE_ICONS "\xf3\xb1\x8c\x9d" // U+F131D simple-icons, tags: Brand / Logo +#define ICON_MD_SINA_WEIBO "\xf3\xb0\xab\x9f" // U+F0ADF sina-weibo, tags: Brand / Logo +#define ICON_MD_SINE_WAVE \ + "\xf3\xb0\xa5\x9b" // U+F095B sine-wave, aliases: alternating-current, current-ac, wave, analog, frequency, + // amplitude, tags: Audio +#define ICON_MD_SITEMAP "\xf3\xb0\x92\xaa" // U+F04AA sitemap, aliases: workflow, flowchart +#define ICON_MD_SITEMAP_OUTLINE "\xf3\xb1\xa6\x9c" // U+F199C sitemap-outline, aliases: workflow-outline, flowchart-outline +#define ICON_MD_SIZE_L "\xf3\xb1\x8e\xa6" // U+F13A6 size-l, aliases: size-large +#define ICON_MD_SIZE_M "\xf3\xb1\x8e\xa5" // U+F13A5 size-m, aliases: size-medium +#define ICON_MD_SIZE_S "\xf3\xb1\x8e\xa4" // U+F13A4 size-s, aliases: size-small +#define ICON_MD_SIZE_XL "\xf3\xb1\x8e\xa7" // U+F13A7 size-xl, aliases: size-extra-large +#define ICON_MD_SIZE_XS "\xf3\xb1\x8e\xa3" // U+F13A3 size-xs, aliases: size-extra-small +#define ICON_MD_SIZE_XXL "\xf3\xb1\x8e\xa8" // U+F13A8 size-xxl, aliases: size-extra-extra-large +#define ICON_MD_SIZE_XXS "\xf3\xb1\x8e\xa2" // U+F13A2 size-xxs, aliases: size-extra-extra-small +#define ICON_MD_SIZE_XXXL "\xf3\xb1\x8e\xa9" // U+F13A9 size-xxxl +#define ICON_MD_SKATE "\xf3\xb0\xb4\xb5" // U+F0D35 skate, aliases: ice-skate, tags: Sport +#define ICON_MD_SKATE_OFF "\xf3\xb0\x9a\x99" // U+F0699 skate-off +#define ICON_MD_SKATEBOARD "\xf3\xb1\x93\x82" // U+F14C2 skateboard, tags: Sport +#define ICON_MD_SKATEBOARDING "\xf3\xb0\x94\x81" // U+F0501 skateboarding, aliases: human-skateboarding, tags: Sport, People / Family +#define ICON_MD_SKEW_LESS "\xf3\xb0\xb4\xb6" // U+F0D36 skew-less, aliases: skew-decrease, tags: Math +#define ICON_MD_SKEW_MORE "\xf3\xb0\xb4\xb7" // U+F0D37 skew-more, aliases: skew-increase, tags: Math +#define ICON_MD_SKI "\xf3\xb1\x8c\x84" // U+F1304 ski, aliases: human-ski, tags: Sport, People / Family +#define ICON_MD_SKI_CROSS_COUNTRY \ + "\xf3\xb1\x8c\x85" // U+F1305 ski-cross-country, aliases: nordic-walking, human-ski-cross-country, tags: Sport, + // People / Family +#define ICON_MD_SKI_WATER \ + "\xf3\xb1\x8c\x86" // U+F1306 ski-water, aliases: human-ski-water, tags: Sport, People / Family, Transportation + + // Water +#define ICON_MD_SKIP_BACKWARD "\xf3\xb0\x92\xab" // U+F04AB skip-backward, aliases: title-backward, previous-title, tags: Home Automation +#define ICON_MD_SKIP_BACKWARD_OUTLINE "\xf3\xb0\xbc\xa5" // U+F0F25 skip-backward-outline +#define ICON_MD_SKIP_FORWARD "\xf3\xb0\x92\xac" // U+F04AC skip-forward, aliases: title-forward, next-title, tags: Home Automation +#define ICON_MD_SKIP_FORWARD_OUTLINE "\xf3\xb0\xbc\xa6" // U+F0F26 skip-forward-outline +#define ICON_MD_SKIP_NEXT "\xf3\xb0\x92\xad" // U+F04AD skip-next, tags: Home Automation +#define ICON_MD_SKIP_NEXT_CIRCLE "\xf3\xb0\x99\xa1" // U+F0661 skip-next-circle +#define ICON_MD_SKIP_NEXT_CIRCLE_OUTLINE "\xf3\xb0\x99\xa2" // U+F0662 skip-next-circle-outline +#define ICON_MD_SKIP_NEXT_OUTLINE "\xf3\xb0\xbc\xa7" // U+F0F27 skip-next-outline +#define ICON_MD_SKIP_PREVIOUS "\xf3\xb0\x92\xae" // U+F04AE skip-previous, tags: Home Automation +#define ICON_MD_SKIP_PREVIOUS_CIRCLE "\xf3\xb0\x99\xa3" // U+F0663 skip-previous-circle +#define ICON_MD_SKIP_PREVIOUS_CIRCLE_OUTLINE "\xf3\xb0\x99\xa4" // U+F0664 skip-previous-circle-outline +#define ICON_MD_SKIP_PREVIOUS_OUTLINE "\xf3\xb0\xbc\xa8" // U+F0F28 skip-previous-outline +#define ICON_MD_SKULL "\xf3\xb0\x9a\x8c" // U+F068C skull, tags: Holiday, Gaming / RPG +#define ICON_MD_SKULL_CROSSBONES "\xf3\xb0\xaf\x86" // U+F0BC6 skull-crossbones, aliases: jolly-roger, tags: Gaming / RPG, Holiday +#define ICON_MD_SKULL_CROSSBONES_OUTLINE "\xf3\xb0\xaf\x87" // U+F0BC7 skull-crossbones-outline, aliases: jolly-roger-outline, tags: Gaming / RPG, Holiday +#define ICON_MD_SKULL_OUTLINE "\xf3\xb0\xaf\x88" // U+F0BC8 skull-outline, tags: Holiday, Gaming / RPG +#define ICON_MD_SKULL_SCAN "\xf3\xb1\x93\x87" // U+F14C7 skull-scan, aliases: x-ray, radiology, tags: Medical / Hospital +#define ICON_MD_SKULL_SCAN_OUTLINE \ + "\xf3\xb1\x93\x88" // U+F14C8 skull-scan-outline, aliases: x-ray-outline, radiology-outline, tags: Medical / + // Hospital +#define ICON_MD_SKYPE "\xf3\xb0\x92\xaf" // U+F04AF skype, aliases: microsoft-skype, tags: Brand / Logo +#define ICON_MD_SKYPE_BUSINESS "\xf3\xb0\x92\xb0" // U+F04B0 skype-business, tags: Brand / Logo +#define ICON_MD_SLACK "\xf3\xb0\x92\xb1" // U+F04B1 slack, tags: Brand / Logo +#define ICON_MD_SLASH_FORWARD "\xf3\xb0\xbf\x9f" // U+F0FDF slash-forward, aliases: divide, division, tags: Math +#define ICON_MD_SLASH_FORWARD_BOX "\xf3\xb0\xbf\xa0" // U+F0FE0 slash-forward-box, aliases: divide-box, division-box, tags: Math +#define ICON_MD_SLEDDING "\xf3\xb0\x90\x9b" // U+F041B sledding, aliases: human-sledding, tags: Sport, People / Family +#define ICON_MD_SLEEP "\xf3\xb0\x92\xb2" // U+F04B2 sleep +#define ICON_MD_SLEEP_OFF "\xf3\xb0\x92\xb3" // U+F04B3 sleep-off +#define ICON_MD_SLIDE "\xf3\xb1\x96\xa5" // U+F15A5 slide, aliases: playground-slide +#define ICON_MD_SLOPE_DOWNHILL "\xf3\xb0\xb7\xbf" // U+F0DFF slope-downhill +#define ICON_MD_SLOPE_UPHILL "\xf3\xb0\xb8\x80" // U+F0E00 slope-uphill +#define ICON_MD_SLOT_MACHINE "\xf3\xb1\x84\x94" // U+F1114 slot-machine, aliases: casino, gambling +#define ICON_MD_SLOT_MACHINE_OUTLINE "\xf3\xb1\x84\x95" // U+F1115 slot-machine-outline, aliases: casino-outline, gambling-outline +#define ICON_MD_SMART_CARD "\xf3\xb1\x82\xbd" // U+F10BD smart-card, tags: Account / User +#define ICON_MD_SMART_CARD_OFF "\xf3\xb1\xa3\xb7" // U+F18F7 smart-card-off, tags: Account / User +#define ICON_MD_SMART_CARD_OFF_OUTLINE "\xf3\xb1\xa3\xb8" // U+F18F8 smart-card-off-outline, tags: Account / User +#define ICON_MD_SMART_CARD_OUTLINE "\xf3\xb1\x82\xbe" // U+F10BE smart-card-outline, tags: Account / User +#define ICON_MD_SMART_CARD_READER "\xf3\xb1\x82\xbf" // U+F10BF smart-card-reader, tags: Account / User +#define ICON_MD_SMART_CARD_READER_OUTLINE "\xf3\xb1\x83\x80" // U+F10C0 smart-card-reader-outline, tags: Account / User +#define ICON_MD_SMOG "\xf3\xb0\xa9\xb1" // U+F0A71 smog +#define ICON_MD_SMOKE "\xf3\xb1\x9e\x99" // U+F1799 smoke, aliases: smog, fire +#define ICON_MD_SMOKE_DETECTOR "\xf3\xb0\x8e\x92" // U+F0392 smoke-detector, aliases: nest-protect, subwoofer, tags: Device / Tech, Home Automation +#define ICON_MD_SMOKE_DETECTOR_ALERT "\xf3\xb1\xa4\xae" // U+F192E smoke-detector-alert, tags: Home Automation, Alert / Error +#define ICON_MD_SMOKE_DETECTOR_ALERT_OUTLINE "\xf3\xb1\xa4\xaf" // U+F192F smoke-detector-alert-outline, tags: Home Automation, Alert / Error +#define ICON_MD_SMOKE_DETECTOR_OFF "\xf3\xb1\xa0\x89" // U+F1809 smoke-detector-off, tags: Home Automation +#define ICON_MD_SMOKE_DETECTOR_OFF_OUTLINE "\xf3\xb1\xa0\x8a" // U+F180A smoke-detector-off-outline, tags: Home Automation +#define ICON_MD_SMOKE_DETECTOR_OUTLINE "\xf3\xb1\xa0\x88" // U+F1808 smoke-detector-outline, tags: Home Automation +#define ICON_MD_SMOKE_DETECTOR_VARIANT "\xf3\xb1\xa0\x8b" // U+F180B smoke-detector-variant, tags: Home Automation +#define ICON_MD_SMOKE_DETECTOR_VARIANT_ALERT "\xf3\xb1\xa4\xb0" // U+F1930 smoke-detector-variant-alert, tags: Home Automation, Alert / Error +#define ICON_MD_SMOKE_DETECTOR_VARIANT_OFF "\xf3\xb1\xa0\x8c" // U+F180C smoke-detector-variant-off, tags: Home Automation +#define ICON_MD_SMOKING "\xf3\xb0\x92\xb4" // U+F04B4 smoking, aliases: cigarette, smoking-area, smoking-rooms, tags: Automotive +#define ICON_MD_SMOKING_OFF "\xf3\xb0\x92\xb5" // U+F04B5 smoking-off, aliases: no-smoking, cigarette-off, smoke-free +#define ICON_MD_SMOKING_PIPE "\xf3\xb1\x90\x8d" // U+F140D smoking-pipe +#define ICON_MD_SMOKING_PIPE_OFF "\xf3\xb1\x90\xa8" // U+F1428 smoking-pipe-off +#define ICON_MD_SNAIL "\xf3\xb1\x99\xb7" // U+F1677 snail, aliases: gastropod, tags: Animal +#define ICON_MD_SNAKE "\xf3\xb1\x94\x8e" // U+F150E snake, aliases: reptile, tags: Animal +#define ICON_MD_SNAPCHAT "\xf3\xb0\x92\xb6" // U+F04B6 snapchat, tags: Brand / Logo +#define ICON_MD_SNOWBOARD "\xf3\xb1\x8c\x87" // U+F1307 snowboard, aliases: human-snowboard, tags: Sport, People / Family +#define ICON_MD_SNOWFLAKE "\xf3\xb0\x9c\x97" // U+F0717 snowflake, tags: Weather, Holiday, Automotive +#define ICON_MD_SNOWFLAKE_ALERT \ + "\xf3\xb0\xbc\xa9" // U+F0F29 snowflake-alert, aliases: cold-alert, snow-advisory, freeze-advisory, tags: Weather, + // Alert / Error, Home Automation +#define ICON_MD_SNOWFLAKE_CHECK "\xf3\xb1\xa9\xb0" // U+F1A70 snowflake-check, aliases: snowflake-approve, tags: Weather +#define ICON_MD_SNOWFLAKE_MELT "\xf3\xb1\x8b\x8b" // U+F12CB snowflake-melt, aliases: defrost, tags: Weather +#define ICON_MD_SNOWFLAKE_OFF "\xf3\xb1\x93\xa3" // U+F14E3 snowflake-off, tags: Weather +#define ICON_MD_SNOWFLAKE_THERMOMETER \ + "\xf3\xb1\xa9\xb1" // U+F1A71 snowflake-thermometer, aliases: frost-point, freezing-point, snowflake-temperature, + // tags: Weather, Home Automation +#define ICON_MD_SNOWFLAKE_VARIANT "\xf3\xb0\xbc\xaa" // U+F0F2A snowflake-variant, tags: Holiday, Weather +#define ICON_MD_SNOWMAN "\xf3\xb0\x92\xb7" // U+F04B7 snowman, tags: Holiday +#define ICON_MD_SNOWMOBILE "\xf3\xb0\x9b\x9d" // U+F06DD snowmobile, tags: Transportation + Other, Sport +#define ICON_MD_SNOWSHOEING "\xf3\xb1\xa9\xb2" // U+F1A72 snowshoeing, tags: Sport +#define ICON_MD_SOCCER "\xf3\xb0\x92\xb8" // U+F04B8 soccer, aliases: football, tags: Sport +#define ICON_MD_SOCCER_FIELD "\xf3\xb0\xa0\xb4" // U+F0834 soccer-field, aliases: football-pitch, tags: Sport +#define ICON_MD_SOCIAL_DISTANCE_2_METERS "\xf3\xb1\x95\xb9" // U+F1579 social-distance-2-meters, tags: Medical / Hospital +#define ICON_MD_SOCIAL_DISTANCE_6_FEET "\xf3\xb1\x95\xba" // U+F157A social-distance-6-feet, tags: Medical / Hospital +#define ICON_MD_SOFA "\xf3\xb0\x92\xb9" // U+F04B9 sofa, aliases: couch, living-room, family-room, tags: Home Automation +#define ICON_MD_SOFA_OUTLINE \ + "\xf3\xb1\x95\xad" // U+F156D sofa-outline, aliases: couch-outline, living-room-outline, family-room-outline, tags: + // Home Automation +#define ICON_MD_SOFA_SINGLE \ + "\xf3\xb1\x95\xae" // U+F156E sofa-single, aliases: loveseat, love-seat, couch, chair-accent, living-room, + // family-room, tags: Home Automation +#define ICON_MD_SOFA_SINGLE_OUTLINE \ + "\xf3\xb1\x95\xaf" // U+F156F sofa-single-outline, aliases: loveseat-outline, love-seat-outline, couch-outline, + // chair-accent-outline, living-room-outline, family-room-outline, tags: Home Automation +#define ICON_MD_SOLAR_PANEL "\xf3\xb0\xb6\x9b" // U+F0D9B solar-panel, aliases: solar-energy, solar-electricity, tags: Home Automation +#define ICON_MD_SOLAR_PANEL_LARGE \ + "\xf3\xb0\xb6\x9c" // U+F0D9C solar-panel-large, aliases: solar-panel-energy, solar-panel-electricity, tags: Home + // Automation +#define ICON_MD_SOLAR_POWER "\xf3\xb0\xa9\xb2" // U+F0A72 solar-power, aliases: solar-energy, solar-electricity, tags: Home Automation +#define ICON_MD_SOLAR_POWER_VARIANT "\xf3\xb1\xa9\xb3" // U+F1A73 solar-power-variant, aliases: solar-energy, solar-electricity, tags: Home Automation +#define ICON_MD_SOLAR_POWER_VARIANT_OUTLINE \ + "\xf3\xb1\xa9\xb4" // U+F1A74 solar-power-variant-outline, aliases: solar-energy-outline, solar-electricity-outline, + // tags: Home Automation +#define ICON_MD_SOLDERING_IRON "\xf3\xb1\x82\x92" // U+F1092 soldering-iron +#define ICON_MD_SOLID "\xf3\xb0\x9a\x8d" // U+F068D solid +#define ICON_MD_SONY_PLAYSTATION \ + "\xf3\xb0\x90\x94" // U+F0414 sony-playstation, aliases: sony-playstation, playstation-network, tags: Brand / Logo, + // Gaming / RPG +#define ICON_MD_SORT "\xf3\xb0\x92\xba" // U+F04BA sort, tags: Text / Content / Format +#define ICON_MD_SORT_ALPHABETICAL_ASCENDING "\xf3\xb0\x96\xbd" // U+F05BD sort-alphabetical-ascending, tags: Text / Content / Format +#define ICON_MD_SORT_ALPHABETICAL_ASCENDING_VARIANT "\xf3\xb1\x85\x88" // U+F1148 sort-alphabetical-ascending-variant, tags: Text / Content / Format +#define ICON_MD_SORT_ALPHABETICAL_DESCENDING "\xf3\xb0\x96\xbf" // U+F05BF sort-alphabetical-descending, tags: Text / Content / Format +#define ICON_MD_SORT_ALPHABETICAL_DESCENDING_VARIANT "\xf3\xb1\x85\x89" // U+F1149 sort-alphabetical-descending-variant, tags: Text / Content / Format +#define ICON_MD_SORT_ALPHABETICAL_VARIANT \ + "\xf3\xb0\x92\xbb" // U+F04BB sort-alphabetical-variant, aliases: sort-by-alpha, sort-alphabetically, tags: Text / + // Content / Format +#define ICON_MD_SORT_ASCENDING "\xf3\xb0\x92\xbc" // U+F04BC sort-ascending, tags: Text / Content / Format +#define ICON_MD_SORT_BOOL_ASCENDING "\xf3\xb1\x8e\x85" // U+F1385 sort-bool-ascending, tags: Text / Content / Format +#define ICON_MD_SORT_BOOL_ASCENDING_VARIANT \ + "\xf3\xb1\x8e\x86" // U+F1386 sort-bool-ascending-variant, aliases: sort-checkbox-ascending, tags: Text / Content / + // Format +#define ICON_MD_SORT_BOOL_DESCENDING "\xf3\xb1\x8e\x87" // U+F1387 sort-bool-descending, tags: Text / Content / Format +#define ICON_MD_SORT_BOOL_DESCENDING_VARIANT \ + "\xf3\xb1\x8e\x88" // U+F1388 sort-bool-descending-variant, aliases: sort-checkbox-descending, tags: Text / Content + // / Format +#define ICON_MD_SORT_CALENDAR_ASCENDING \ + "\xf3\xb1\x95\x87" // U+F1547 sort-calendar-ascending, aliases: sort-date-ascending, tags: Text / Content / Format, + // Date / Time +#define ICON_MD_SORT_CALENDAR_DESCENDING \ + "\xf3\xb1\x95\x88" // U+F1548 sort-calendar-descending, aliases: sort-date-descending, tags: Text / Content / + // Format, Date / Time +#define ICON_MD_SORT_CLOCK_ASCENDING \ + "\xf3\xb1\x95\x89" // U+F1549 sort-clock-ascending, aliases: sort-time-ascending, tags: Text / Content / Format, + // Date / Time +#define ICON_MD_SORT_CLOCK_ASCENDING_OUTLINE \ + "\xf3\xb1\x95\x8a" // U+F154A sort-clock-ascending-outline, aliases: sort-time-ascending-outline, tags: Text / + // Content / Format, Date / Time +#define ICON_MD_SORT_CLOCK_DESCENDING \ + "\xf3\xb1\x95\x8b" // U+F154B sort-clock-descending, aliases: sort-time-descending, tags: Text / Content / Format, + // Date / Time +#define ICON_MD_SORT_CLOCK_DESCENDING_OUTLINE \ + "\xf3\xb1\x95\x8c" // U+F154C sort-clock-descending-outline, aliases: sort-time-descending-outline, tags: Text / + // Content / Format, Date / Time +#define ICON_MD_SORT_DESCENDING "\xf3\xb0\x92\xbd" // U+F04BD sort-descending, tags: Text / Content / Format +#define ICON_MD_SORT_NUMERIC_ASCENDING "\xf3\xb1\x8e\x89" // U+F1389 sort-numeric-ascending, tags: Text / Content / Format +#define ICON_MD_SORT_NUMERIC_ASCENDING_VARIANT "\xf3\xb0\xa4\x8d" // U+F090D sort-numeric-ascending-variant, tags: Text / Content / Format +#define ICON_MD_SORT_NUMERIC_DESCENDING "\xf3\xb1\x8e\x8a" // U+F138A sort-numeric-descending, tags: Text / Content / Format +#define ICON_MD_SORT_NUMERIC_DESCENDING_VARIANT "\xf3\xb0\xab\x92" // U+F0AD2 sort-numeric-descending-variant, tags: Text / Content / Format +#define ICON_MD_SORT_NUMERIC_VARIANT "\xf3\xb0\x92\xbe" // U+F04BE sort-numeric-variant, aliases: sort-numerically, tags: Text / Content / Format +#define ICON_MD_SORT_REVERSE_VARIANT "\xf3\xb0\x8c\xbc" // U+F033C sort-reverse-variant, tags: Text / Content / Format +#define ICON_MD_SORT_VARIANT "\xf3\xb0\x92\xbf" // U+F04BF sort-variant, tags: Text / Content / Format +#define ICON_MD_SORT_VARIANT_LOCK "\xf3\xb0\xb3\x8d" // U+F0CCD sort-variant-lock, tags: Text / Content / Format, Lock +#define ICON_MD_SORT_VARIANT_LOCK_OPEN "\xf3\xb0\xb3\x8e" // U+F0CCE sort-variant-lock-open, tags: Text / Content / Format, Lock +#define ICON_MD_SORT_VARIANT_OFF "\xf3\xb1\xaa\xbb" // U+F1ABB sort-variant-off, tags: Text / Content / Format +#define ICON_MD_SORT_VARIANT_REMOVE "\xf3\xb1\x85\x87" // U+F1147 sort-variant-remove, tags: Text / Content / Format +#define ICON_MD_SOUNDBAR "\xf3\xb1\x9f\x9b" // U+F17DB soundbar, aliases: speaker-bar, tags: Home Automation +#define ICON_MD_SOUNDCLOUD "\xf3\xb0\x93\x80" // U+F04C0 soundcloud, tags: Brand / Logo +#define ICON_MD_SOURCE_BRANCH "\xf3\xb0\x98\xac" // U+F062C source-branch, tags: Developer / Languages +#define ICON_MD_SOURCE_BRANCH_CHECK "\xf3\xb1\x93\x8f" // U+F14CF source-branch-check, tags: Developer / Languages +#define ICON_MD_SOURCE_BRANCH_MINUS "\xf3\xb1\x93\x8b" // U+F14CB source-branch-minus, tags: Developer / Languages +#define ICON_MD_SOURCE_BRANCH_PLUS "\xf3\xb1\x93\x8a" // U+F14CA source-branch-plus, tags: Developer / Languages +#define ICON_MD_SOURCE_BRANCH_REFRESH "\xf3\xb1\x93\x8d" // U+F14CD source-branch-refresh, tags: Developer / Languages +#define ICON_MD_SOURCE_BRANCH_REMOVE "\xf3\xb1\x93\x8c" // U+F14CC source-branch-remove, tags: Developer / Languages +#define ICON_MD_SOURCE_BRANCH_SYNC "\xf3\xb1\x93\x8e" // U+F14CE source-branch-sync, tags: Developer / Languages +#define ICON_MD_SOURCE_COMMIT "\xf3\xb0\x9c\x98" // U+F0718 source-commit +#define ICON_MD_SOURCE_COMMIT_END "\xf3\xb0\x9c\x99" // U+F0719 source-commit-end +#define ICON_MD_SOURCE_COMMIT_END_LOCAL "\xf3\xb0\x9c\x9a" // U+F071A source-commit-end-local +#define ICON_MD_SOURCE_COMMIT_LOCAL "\xf3\xb0\x9c\x9b" // U+F071B source-commit-local +#define ICON_MD_SOURCE_COMMIT_NEXT_LOCAL "\xf3\xb0\x9c\x9c" // U+F071C source-commit-next-local +#define ICON_MD_SOURCE_COMMIT_START "\xf3\xb0\x9c\x9d" // U+F071D source-commit-start +#define ICON_MD_SOURCE_COMMIT_START_NEXT_LOCAL "\xf3\xb0\x9c\x9e" // U+F071E source-commit-start-next-local +#define ICON_MD_SOURCE_FORK "\xf3\xb0\x93\x81" // U+F04C1 source-fork, tags: Developer / Languages +#define ICON_MD_SOURCE_MERGE "\xf3\xb0\x98\xad" // U+F062D source-merge, tags: Developer / Languages +#define ICON_MD_SOURCE_PULL "\xf3\xb0\x93\x82" // U+F04C2 source-pull, tags: Developer / Languages +#define ICON_MD_SOURCE_REPOSITORY "\xf3\xb0\xb3\x8f" // U+F0CCF source-repository, tags: Developer / Languages +#define ICON_MD_SOURCE_REPOSITORY_MULTIPLE "\xf3\xb0\xb3\x90" // U+F0CD0 source-repository-multiple, aliases: source-repositories, tags: Developer / Languages +#define ICON_MD_SOY_SAUCE "\xf3\xb0\x9f\xae" // U+F07EE soy-sauce, aliases: soya-sauce, tags: Food / Drink +#define ICON_MD_SOY_SAUCE_OFF "\xf3\xb1\x8f\xbc" // U+F13FC soy-sauce-off +#define ICON_MD_SPA "\xf3\xb0\xb3\x91" // U+F0CD1 spa, aliases: flower-lotus, plant, tags: Nature +#define ICON_MD_SPA_OUTLINE "\xf3\xb0\xb3\x92" // U+F0CD2 spa-outline, aliases: flower-lotus-outline, plant, tags: Nature +#define ICON_MD_SPACE_INVADERS "\xf3\xb0\xaf\x89" // U+F0BC9 space-invaders, tags: Gaming / RPG +#define ICON_MD_SPACE_STATION "\xf3\xb1\x8e\x83" // U+F1383 space-station +#define ICON_MD_SPADE "\xf3\xb0\xb9\xa5" // U+F0E65 spade, tags: Hardware / Tools +#define ICON_MD_SPEAKER "\xf3\xb0\x93\x83" // U+F04C3 speaker, tags: Audio, Home Automation +#define ICON_MD_SPEAKER_BLUETOOTH "\xf3\xb0\xa6\xa2" // U+F09A2 speaker-bluetooth, tags: Audio +#define ICON_MD_SPEAKER_MESSAGE "\xf3\xb1\xac\x91" // U+F1B11 speaker-message, aliases: text-to-speech, tags: Home Automation, Audio +#define ICON_MD_SPEAKER_MULTIPLE "\xf3\xb0\xb4\xb8" // U+F0D38 speaker-multiple, aliases: speakers, tags: Audio +#define ICON_MD_SPEAKER_OFF "\xf3\xb0\x93\x84" // U+F04C4 speaker-off, tags: Audio, Home Automation +#define ICON_MD_SPEAKER_PAUSE "\xf3\xb1\xad\xb3" // U+F1B73 speaker-pause, tags: Audio, Music +#define ICON_MD_SPEAKER_PLAY "\xf3\xb1\xad\xb2" // U+F1B72 speaker-play, tags: Audio, Music +#define ICON_MD_SPEAKER_STOP "\xf3\xb1\xad\xb4" // U+F1B74 speaker-stop, tags: Audio, Music +#define ICON_MD_SPEAKER_WIRELESS "\xf3\xb0\x9c\x9f" // U+F071F speaker-wireless, tags: Audio, Home Automation +#define ICON_MD_SPEAR "\xf3\xb1\xa1\x85" // U+F1845 spear, aliases: staff, fishing, tags: Gaming / RPG +#define ICON_MD_SPEEDOMETER "\xf3\xb0\x93\x85" // U+F04C5 speedometer, tags: Automotive +#define ICON_MD_SPEEDOMETER_MEDIUM "\xf3\xb0\xbe\x85" // U+F0F85 speedometer-medium, tags: Automotive +#define ICON_MD_SPEEDOMETER_SLOW "\xf3\xb0\xbe\x86" // U+F0F86 speedometer-slow, tags: Automotive +#define ICON_MD_SPELLCHECK "\xf3\xb0\x93\x86" // U+F04C6 spellcheck +#define ICON_MD_SPHERE "\xf3\xb1\xa5\x94" // U+F1954 sphere, tags: Shape +#define ICON_MD_SPHERE_OFF "\xf3\xb1\xa5\x95" // U+F1955 sphere-off, tags: Shape +#define ICON_MD_SPIDER "\xf3\xb1\x87\xaa" // U+F11EA spider, aliases: arachnid, bug, tags: Holiday, Nature, Animal +#define ICON_MD_SPIDER_THREAD "\xf3\xb1\x87\xab" // U+F11EB spider-thread, aliases: arachnid-thread, bug, tags: Holiday, Nature, Animal +#define ICON_MD_SPIDER_WEB "\xf3\xb0\xaf\x8a" // U+F0BCA spider-web, aliases: cobweb, arachnid-web, tags: Holiday +#define ICON_MD_SPIRIT_LEVEL "\xf3\xb1\x93\xb1" // U+F14F1 spirit-level, tags: Hardware / Tools +#define ICON_MD_SPOON_SUGAR "\xf3\xb1\x90\xa9" // U+F1429 spoon-sugar, tags: Food / Drink +#define ICON_MD_SPOTIFY "\xf3\xb0\x93\x87" // U+F04C7 spotify, tags: Brand / Logo +#define ICON_MD_SPOTLIGHT "\xf3\xb0\x93\x88" // U+F04C8 spotlight, tags: Home Automation +#define ICON_MD_SPOTLIGHT_BEAM "\xf3\xb0\x93\x89" // U+F04C9 spotlight-beam, tags: Home Automation +#define ICON_MD_SPRAY "\xf3\xb0\x99\xa5" // U+F0665 spray, aliases: paint, aerosol, tags: Agriculture, Drawing / Art, Color +#define ICON_MD_SPRAY_BOTTLE "\xf3\xb0\xab\xa0" // U+F0AE0 spray-bottle, aliases: cleaning +#define ICON_MD_SPRINKLER "\xf3\xb1\x81\x9f" // U+F105F sprinkler, aliases: irrigation, tags: Home Automation, Agriculture +#define ICON_MD_SPRINKLER_FIRE \ + "\xf3\xb1\xa6\x9d" // U+F199D sprinkler-fire, aliases: sprinkler-mist, mister, sprinkler-head, tags: Home + // Automation, Agriculture +#define ICON_MD_SPRINKLER_VARIANT "\xf3\xb1\x81\xa0" // U+F1060 sprinkler-variant, aliases: irrigation, tags: Home Automation, Agriculture +#define ICON_MD_SPROUT "\xf3\xb0\xb9\xa6" // U+F0E66 sprout, aliases: seedling, plant, tags: Agriculture, Nature +#define ICON_MD_SPROUT_OUTLINE "\xf3\xb0\xb9\xa7" // U+F0E67 sprout-outline, aliases: seedling-outline, plant-outline, tags: Agriculture, Nature +#define ICON_MD_SQUARE "\xf3\xb0\x9d\xa4" // U+F0764 square, tags: Shape +#define ICON_MD_SQUARE_CIRCLE "\xf3\xb1\x94\x80" // U+F1500 square-circle, aliases: vegetarian, lacto-vegetarian, tags: Food / Drink +#define ICON_MD_SQUARE_EDIT_OUTLINE "\xf3\xb0\xa4\x8c" // U+F090C square-edit-outline, tags: Edit / Modify +#define ICON_MD_SQUARE_MEDIUM "\xf3\xb0\xa8\x93" // U+F0A13 square-medium, tags: Shape +#define ICON_MD_SQUARE_MEDIUM_OUTLINE "\xf3\xb0\xa8\x94" // U+F0A14 square-medium-outline, tags: Shape +#define ICON_MD_SQUARE_OFF "\xf3\xb1\x8b\xae" // U+F12EE square-off +#define ICON_MD_SQUARE_OFF_OUTLINE "\xf3\xb1\x8b\xaf" // U+F12EF square-off-outline +#define ICON_MD_SQUARE_OPACITY "\xf3\xb1\xa1\x94" // U+F1854 square-opacity, aliases: square-transparent, tags: Drawing / Art, Shape +#define ICON_MD_SQUARE_OUTLINE "\xf3\xb0\x9d\xa3" // U+F0763 square-outline, tags: Shape +#define ICON_MD_SQUARE_ROOT "\xf3\xb0\x9e\x84" // U+F0784 square-root, tags: Math +#define ICON_MD_SQUARE_ROOT_BOX "\xf3\xb0\xa6\xa3" // U+F09A3 square-root-box +#define ICON_MD_SQUARE_ROUNDED "\xf3\xb1\x93\xbb" // U+F14FB square-rounded +#define ICON_MD_SQUARE_ROUNDED_BADGE "\xf3\xb1\xa8\x87" // U+F1A07 square-rounded-badge, aliases: app-badge, push-notification, tags: Shape, Notification +#define ICON_MD_SQUARE_ROUNDED_BADGE_OUTLINE \ + "\xf3\xb1\xa8\x88" // U+F1A08 square-rounded-badge-outline, aliases: app-badge-outline, push-notification-outline, + // tags: Shape, Notification +#define ICON_MD_SQUARE_ROUNDED_OUTLINE "\xf3\xb1\x93\xbc" // U+F14FC square-rounded-outline +#define ICON_MD_SQUARE_SMALL "\xf3\xb0\xa8\x95" // U+F0A15 square-small, aliases: bullet +#define ICON_MD_SQUARE_WAVE "\xf3\xb1\x91\xbb" // U+F147B square-wave, tags: Audio +#define ICON_MD_SQUEEGEE "\xf3\xb0\xab\xa1" // U+F0AE1 squeegee +#define ICON_MD_SSH "\xf3\xb0\xa3\x80" // U+F08C0 ssh +#define ICON_MD_STACK_EXCHANGE "\xf3\xb0\x98\x8b" // U+F060B stack-exchange, aliases: stackexchange, tags: Brand / Logo +#define ICON_MD_STACK_OVERFLOW "\xf3\xb0\x93\x8c" // U+F04CC stack-overflow, aliases: stackoverflow, tags: Brand / Logo +#define ICON_MD_STACKPATH "\xf3\xb0\x8d\x99" // U+F0359 stackpath, tags: Brand / Logo +#define ICON_MD_STADIUM "\xf3\xb0\xbf\xb9" // U+F0FF9 stadium, aliases: arena, tags: Sport, Places +#define ICON_MD_STADIUM_OUTLINE "\xf3\xb1\xac\x83" // U+F1B03 stadium-outline, aliases: arena-outline, tags: Sport, Places +#define ICON_MD_STADIUM_VARIANT "\xf3\xb0\x9c\xa0" // U+F0720 stadium-variant, aliases: arena, tags: Places, Sport +#define ICON_MD_STAIRS "\xf3\xb0\x93\x8d" // U+F04CD stairs, tags: Transportation + Other +#define ICON_MD_STAIRS_BOX "\xf3\xb1\x8e\x9e" // U+F139E stairs-box +#define ICON_MD_STAIRS_DOWN "\xf3\xb1\x8a\xbe" // U+F12BE stairs-down, tags: Transportation + Other +#define ICON_MD_STAIRS_UP "\xf3\xb1\x8a\xbd" // U+F12BD stairs-up, tags: Transportation + Other +#define ICON_MD_STAMPER "\xf3\xb0\xb4\xb9" // U+F0D39 stamper +#define ICON_MD_STANDARD_DEFINITION "\xf3\xb0\x9f\xaf" // U+F07EF standard-definition, tags: Video / Movie +#define ICON_MD_STAR "\xf3\xb0\x93\x8e" // U+F04CE star, aliases: grade, star-rate, favorite, tags: Shape +#define ICON_MD_STAR_BOX "\xf3\xb0\xa9\xb3" // U+F0A73 star-box, aliases: favorite-box +#define ICON_MD_STAR_BOX_MULTIPLE "\xf3\xb1\x8a\x86" // U+F1286 star-box-multiple, aliases: favorite-box-multiple +#define ICON_MD_STAR_BOX_MULTIPLE_OUTLINE "\xf3\xb1\x8a\x87" // U+F1287 star-box-multiple-outline, aliases: favorite-box-multiple-outline +#define ICON_MD_STAR_BOX_OUTLINE "\xf3\xb0\xa9\xb4" // U+F0A74 star-box-outline, aliases: favorite-box-outline +#define ICON_MD_STAR_CHECK "\xf3\xb1\x95\xa6" // U+F1566 star-check, aliases: favorite-check, tags: Shape +#define ICON_MD_STAR_CHECK_OUTLINE "\xf3\xb1\x95\xaa" // U+F156A star-check-outline, aliases: favorite-check-outline, tags: Shape +#define ICON_MD_STAR_CIRCLE "\xf3\xb0\x93\x8f" // U+F04CF star-circle, aliases: stars, favorite-circle +#define ICON_MD_STAR_CIRCLE_OUTLINE "\xf3\xb0\xa6\xa4" // U+F09A4 star-circle-outline, aliases: feature-highlight, favorite-circle-outline +#define ICON_MD_STAR_COG "\xf3\xb1\x99\xa8" // U+F1668 star-cog, aliases: favorite-cog +#define ICON_MD_STAR_COG_OUTLINE "\xf3\xb1\x99\xa9" // U+F1669 star-cog-outline, aliases: favorite-cog-outline +#define ICON_MD_STAR_CRESCENT "\xf3\xb0\xa5\xb9" // U+F0979 star-crescent, aliases: islam, religion-islamic, religion-muslim, tags: Religion +#define ICON_MD_STAR_DAVID "\xf3\xb0\xa5\xba" // U+F097A star-david, aliases: jewish, religion-judaic, judaism, magen-david, tags: Religion +#define ICON_MD_STAR_FACE "\xf3\xb0\xa6\xa5" // U+F09A5 star-face, aliases: favorite-face, emoji-star, emoticon-star, tags: Gaming / RPG +#define ICON_MD_STAR_FOUR_POINTS "\xf3\xb0\xab\xa2" // U+F0AE2 star-four-points, tags: Shape +#define ICON_MD_STAR_FOUR_POINTS_OUTLINE "\xf3\xb0\xab\xa3" // U+F0AE3 star-four-points-outline, tags: Shape +#define ICON_MD_STAR_HALF "\xf3\xb0\x89\x86" // U+F0246 star-half, aliases: favorite-half, tags: Shape +#define ICON_MD_STAR_HALF_FULL "\xf3\xb0\x93\x90" // U+F04D0 star-half-full, aliases: favorite-half-full +#define ICON_MD_STAR_MINUS "\xf3\xb1\x95\xa4" // U+F1564 star-minus, aliases: favorite-minus, tags: Shape +#define ICON_MD_STAR_MINUS_OUTLINE "\xf3\xb1\x95\xa8" // U+F1568 star-minus-outline, aliases: favorite-minus-outline, tags: Shape +#define ICON_MD_STAR_OFF "\xf3\xb0\x93\x91" // U+F04D1 star-off, aliases: favorite-off +#define ICON_MD_STAR_OFF_OUTLINE "\xf3\xb1\x95\x9b" // U+F155B star-off-outline, aliases: favorite-off-outline +#define ICON_MD_STAR_OUTLINE "\xf3\xb0\x93\x92" // U+F04D2 star-outline, aliases: star-border, favorite-outline, tags: Shape +#define ICON_MD_STAR_PLUS "\xf3\xb1\x95\xa3" // U+F1563 star-plus, aliases: favorite-plus, star-add, favorite-add, tags: Shape +#define ICON_MD_STAR_PLUS_OUTLINE \ + "\xf3\xb1\x95\xa7" // U+F1567 star-plus-outline, aliases: star-add-outline, favorite-plus-outline, + // favorite-add-outline, tags: Shape +#define ICON_MD_STAR_REMOVE "\xf3\xb1\x95\xa5" // U+F1565 star-remove, aliases: favorite-remove, tags: Shape +#define ICON_MD_STAR_REMOVE_OUTLINE "\xf3\xb1\x95\xa9" // U+F1569 star-remove-outline, aliases: favorite-remove-outline, tags: Shape +#define ICON_MD_STAR_SETTINGS "\xf3\xb1\x99\xaa" // U+F166A star-settings, aliases: favorite-settings, tags: Settings +#define ICON_MD_STAR_SETTINGS_OUTLINE "\xf3\xb1\x99\xab" // U+F166B star-settings-outline, aliases: favorite-settings-outline, tags: Settings +#define ICON_MD_STAR_SHOOTING "\xf3\xb1\x9d\x81" // U+F1741 star-shooting, aliases: favorite-shooting +#define ICON_MD_STAR_SHOOTING_OUTLINE "\xf3\xb1\x9d\x82" // U+F1742 star-shooting-outline, aliases: favorite-shooting-outline +#define ICON_MD_STAR_THREE_POINTS "\xf3\xb0\xab\xa4" // U+F0AE4 star-three-points, tags: Shape +#define ICON_MD_STAR_THREE_POINTS_OUTLINE "\xf3\xb0\xab\xa5" // U+F0AE5 star-three-points-outline, tags: Shape +#define ICON_MD_STATE_MACHINE "\xf3\xb1\x87\xaf" // U+F11EF state-machine +#define ICON_MD_STEAM "\xf3\xb0\x93\x93" // U+F04D3 steam, tags: Brand / Logo, Gaming / RPG +#define ICON_MD_STEERING "\xf3\xb0\x93\x94" // U+F04D4 steering, aliases: search-hands-free, tags: Automotive +#define ICON_MD_STEERING_OFF "\xf3\xb0\xa4\x8e" // U+F090E steering-off, aliases: search-hands-free-off, tags: Automotive +#define ICON_MD_STEP_BACKWARD "\xf3\xb0\x93\x95" // U+F04D5 step-backward +#define ICON_MD_STEP_BACKWARD_2 "\xf3\xb0\x93\x96" // U+F04D6 step-backward-2, aliases: frame-backward +#define ICON_MD_STEP_FORWARD "\xf3\xb0\x93\x97" // U+F04D7 step-forward +#define ICON_MD_STEP_FORWARD_2 "\xf3\xb0\x93\x98" // U+F04D8 step-forward-2, aliases: frame-forward +#define ICON_MD_STETHOSCOPE "\xf3\xb0\x93\x99" // U+F04D9 stethoscope, tags: Medical / Hospital +#define ICON_MD_STICKER "\xf3\xb1\x8d\xa4" // U+F1364 sticker +#define ICON_MD_STICKER_ALERT "\xf3\xb1\x8d\xa5" // U+F1365 sticker-alert, tags: Alert / Error +#define ICON_MD_STICKER_ALERT_OUTLINE "\xf3\xb1\x8d\xa6" // U+F1366 sticker-alert-outline, tags: Alert / Error +#define ICON_MD_STICKER_CHECK "\xf3\xb1\x8d\xa7" // U+F1367 sticker-check +#define ICON_MD_STICKER_CHECK_OUTLINE "\xf3\xb1\x8d\xa8" // U+F1368 sticker-check-outline +#define ICON_MD_STICKER_CIRCLE_OUTLINE "\xf3\xb0\x97\x90" // U+F05D0 sticker-circle-outline +#define ICON_MD_STICKER_EMOJI "\xf3\xb0\x9e\x85" // U+F0785 sticker-emoji, tags: Emoji +#define ICON_MD_STICKER_MINUS "\xf3\xb1\x8d\xa9" // U+F1369 sticker-minus +#define ICON_MD_STICKER_MINUS_OUTLINE "\xf3\xb1\x8d\xaa" // U+F136A sticker-minus-outline +#define ICON_MD_STICKER_OUTLINE "\xf3\xb1\x8d\xab" // U+F136B sticker-outline +#define ICON_MD_STICKER_PLUS "\xf3\xb1\x8d\xac" // U+F136C sticker-plus +#define ICON_MD_STICKER_PLUS_OUTLINE "\xf3\xb1\x8d\xad" // U+F136D sticker-plus-outline +#define ICON_MD_STICKER_REMOVE "\xf3\xb1\x8d\xae" // U+F136E sticker-remove +#define ICON_MD_STICKER_REMOVE_OUTLINE "\xf3\xb1\x8d\xaf" // U+F136F sticker-remove-outline +#define ICON_MD_STICKER_TEXT "\xf3\xb1\x9e\x8e" // U+F178E sticker-text +#define ICON_MD_STICKER_TEXT_OUTLINE "\xf3\xb1\x9e\x8f" // U+F178F sticker-text-outline +#define ICON_MD_STOCKING "\xf3\xb0\x93\x9a" // U+F04DA stocking, tags: Holiday +#define ICON_MD_STOMACH "\xf3\xb1\x82\x93" // U+F1093 stomach, tags: Medical / Hospital +#define ICON_MD_STOOL "\xf3\xb1\xa5\x9d" // U+F195D stool +#define ICON_MD_STOOL_OUTLINE "\xf3\xb1\xa5\x9e" // U+F195E stool-outline +#define ICON_MD_STOP "\xf3\xb0\x93\x9b" // U+F04DB stop +#define ICON_MD_STOP_CIRCLE "\xf3\xb0\x99\xa6" // U+F0666 stop-circle +#define ICON_MD_STOP_CIRCLE_OUTLINE "\xf3\xb0\x99\xa7" // U+F0667 stop-circle-outline +#define ICON_MD_STORAGE_TANK "\xf3\xb1\xa9\xb5" // U+F1A75 storage-tank, aliases: propane-tank, gas-tank +#define ICON_MD_STORAGE_TANK_OUTLINE "\xf3\xb1\xa9\xb6" // U+F1A76 storage-tank-outline, aliases: propane-tank-outline, gas-tank-outline +#define ICON_MD_STORE "\xf3\xb0\x93\x9c" // U+F04DC store, aliases: shop, store-mall-directory, tags: Places, Shopping +#define ICON_MD_STORE_24_HOUR "\xf3\xb0\x93\x9d" // U+F04DD store-24-hour, aliases: local-convenience-store, shop-24-hour, tags: Places, Shopping +#define ICON_MD_STORE_ALERT "\xf3\xb1\xa3\x81" // U+F18C1 store-alert, aliases: shop-alert, tags: Places, Shopping, Alert / Error +#define ICON_MD_STORE_ALERT_OUTLINE \ + "\xf3\xb1\xa3\x82" // U+F18C2 store-alert-outline, aliases: shop-alert-outline, tags: Places, Shopping, Alert / + // Error +#define ICON_MD_STORE_CHECK \ + "\xf3\xb1\xa3\x83" // U+F18C3 store-check, aliases: shop-check, shop-complete, store-complete, tags: Shopping, + // Places +#define ICON_MD_STORE_CHECK_OUTLINE \ + "\xf3\xb1\xa3\x84" // U+F18C4 store-check-outline, aliases: shop-complete, store-complete-outline, + // shop-check-outline, tags: Shopping, Places +#define ICON_MD_STORE_CLOCK \ + "\xf3\xb1\xa3\x85" // U+F18C5 store-clock, aliases: store-schedule, store-hours, shop-clock, shop-hours, + // shop-schedule, store-time, shop-time, tags: Places, Shopping +#define ICON_MD_STORE_CLOCK_OUTLINE \ + "\xf3\xb1\xa3\x86" // U+F18C6 store-clock-outline, aliases: shop-clock-outline, store-hours-outline, + // shop-hours-outline, store-time-outline, shop-time-outline, store-schedule-outline, + // shop-schedule-outline, tags: Places, Shopping +#define ICON_MD_STORE_COG "\xf3\xb1\xa3\x87" // U+F18C7 store-cog, aliases: store-settings, shop-settings, tags: Places, Shopping, Settings +#define ICON_MD_STORE_COG_OUTLINE \ + "\xf3\xb1\xa3\x88" // U+F18C8 store-cog-outline, aliases: store-settings-outline, shop-settings-outline, + // shop-cog-outline, tags: Places, Shopping, Settings +#define ICON_MD_STORE_EDIT "\xf3\xb1\xa3\x89" // U+F18C9 store-edit, aliases: shop-edit, tags: Places, Shopping, Edit / Modify +#define ICON_MD_STORE_EDIT_OUTLINE "\xf3\xb1\xa3\x8a" // U+F18CA store-edit-outline, aliases: shop-edit-outline, tags: Places, Shopping, Edit / Modify +#define ICON_MD_STORE_MARKER \ + "\xf3\xb1\xa3\x8b" // U+F18CB store-marker, aliases: store-location, shop-marker, shop-location, tags: Places, + // Shopping, Navigation +#define ICON_MD_STORE_MARKER_OUTLINE \ + "\xf3\xb1\xa3\x8c" // U+F18CC store-marker-outline, aliases: store-location-outline, shop-marker-outline, + // shop-location-outline, tags: Places, Shopping, Navigation +#define ICON_MD_STORE_MINUS "\xf3\xb1\x99\x9e" // U+F165E store-minus, aliases: shop-minus, tags: Places, Shopping +#define ICON_MD_STORE_MINUS_OUTLINE "\xf3\xb1\xa3\x8d" // U+F18CD store-minus-outline, aliases: shop-minus-outline, tags: Places, Shopping +#define ICON_MD_STORE_OFF "\xf3\xb1\xa3\x8e" // U+F18CE store-off, aliases: shop-off, tags: Places, Shopping +#define ICON_MD_STORE_OFF_OUTLINE "\xf3\xb1\xa3\x8f" // U+F18CF store-off-outline, aliases: shop-off-outline, tags: Places, Shopping +#define ICON_MD_STORE_OUTLINE \ + "\xf3\xb1\x8d\xa1" // U+F1361 store-outline, aliases: shop-outline, store-mall-directory-outline, tags: Places, + // Shopping +#define ICON_MD_STORE_PLUS "\xf3\xb1\x99\x9f" // U+F165F store-plus, aliases: shop-plus, tags: Places, Shopping +#define ICON_MD_STORE_PLUS_OUTLINE "\xf3\xb1\xa3\x90" // U+F18D0 store-plus-outline, aliases: shop-plus-outline, tags: Places, Shopping +#define ICON_MD_STORE_REMOVE "\xf3\xb1\x99\xa0" // U+F1660 store-remove, aliases: shop-remove, store-delete, shop-delete, tags: Places, Shopping +#define ICON_MD_STORE_REMOVE_OUTLINE \ + "\xf3\xb1\xa3\x91" // U+F18D1 store-remove-outline, aliases: shop-remove-outline, store-delete-outline, + // shop-delete-outline, tags: Places, Shopping +#define ICON_MD_STORE_SEARCH \ + "\xf3\xb1\xa3\x92" // U+F18D2 store-search, aliases: shop-search, store-find, shop-find, store-locator, + // shop-locator, store-look-up, shop-look-up, tags: Places, Shopping +#define ICON_MD_STORE_SEARCH_OUTLINE \ + "\xf3\xb1\xa3\x93" // U+F18D3 store-search-outline, aliases: store-find-outline, shop-search-outline, + // shop-find-outline, store-locator-outline, shop-locator-outline, store-look-up-outline, + // shop-look-up-outline, tags: Places, Shopping +#define ICON_MD_STORE_SETTINGS "\xf3\xb1\xa3\x94" // U+F18D4 store-settings, aliases: shop-settings, tags: Places, Shopping, Settings +#define ICON_MD_STORE_SETTINGS_OUTLINE \ + "\xf3\xb1\xa3\x95" // U+F18D5 store-settings-outline, aliases: shop-settings-outline, tags: Places, Shopping, + // Settings +#define ICON_MD_STOREFRONT "\xf3\xb0\x9f\x87" // U+F07C7 storefront, aliases: awning, tags: Places +#define ICON_MD_STOREFRONT_CHECK "\xf3\xb1\xad\xbd" // U+F1B7D storefront-check +#define ICON_MD_STOREFRONT_CHECK_OUTLINE "\xf3\xb1\xad\xbe" // U+F1B7E storefront-check-outline +#define ICON_MD_STOREFRONT_EDIT "\xf3\xb1\xad\xbf" // U+F1B7F storefront-edit +#define ICON_MD_STOREFRONT_EDIT_OUTLINE "\xf3\xb1\xae\x80" // U+F1B80 storefront-edit-outline +#define ICON_MD_STOREFRONT_MINUS "\xf3\xb1\xae\x83" // U+F1B83 storefront-minus +#define ICON_MD_STOREFRONT_MINUS_OUTLINE "\xf3\xb1\xae\x84" // U+F1B84 storefront-minus-outline +#define ICON_MD_STOREFRONT_OUTLINE "\xf3\xb1\x83\x81" // U+F10C1 storefront-outline, aliases: awning, tags: Shopping, Places +#define ICON_MD_STOREFRONT_PLUS "\xf3\xb1\xae\x81" // U+F1B81 storefront-plus +#define ICON_MD_STOREFRONT_PLUS_OUTLINE "\xf3\xb1\xae\x82" // U+F1B82 storefront-plus-outline +#define ICON_MD_STOREFRONT_REMOVE "\xf3\xb1\xae\x85" // U+F1B85 storefront-remove +#define ICON_MD_STOREFRONT_REMOVE_OUTLINE "\xf3\xb1\xae\x86" // U+F1B86 storefront-remove-outline +#define ICON_MD_STOVE "\xf3\xb0\x93\x9e" // U+F04DE stove, aliases: cooker, oven, tags: Food / Drink, Home Automation +#define ICON_MD_STRATEGY "\xf3\xb1\x87\x96" // U+F11D6 strategy, aliases: football-play, tags: Sport +#define ICON_MD_STRETCH_TO_PAGE "\xf3\xb0\xbc\xab" // U+F0F2B stretch-to-page, tags: Text / Content / Format, Arrow +#define ICON_MD_STRETCH_TO_PAGE_OUTLINE "\xf3\xb0\xbc\xac" // U+F0F2C stretch-to-page-outline, tags: Text / Content / Format, Arrow +#define ICON_MD_STRING_LIGHTS \ + "\xf3\xb1\x8a\xba" // U+F12BA string-lights, aliases: italian-lights, christmas-lights, fairy-lights, tags: Home + // Automation +#define ICON_MD_STRING_LIGHTS_OFF \ + "\xf3\xb1\x8a\xbb" // U+F12BB string-lights-off, aliases: italian-lights-off, christmas-lights-off, + // fairy-lights-off, tags: Home Automation +#define ICON_MD_SUBDIRECTORY_ARROW_LEFT "\xf3\xb0\x98\x8c" // U+F060C subdirectory-arrow-left, tags: Arrow +#define ICON_MD_SUBDIRECTORY_ARROW_RIGHT "\xf3\xb0\x98\x8d" // U+F060D subdirectory-arrow-right, tags: Arrow +#define ICON_MD_SUBMARINE "\xf3\xb1\x95\xac" // U+F156C submarine +#define ICON_MD_SUBTITLES "\xf3\xb0\xa8\x96" // U+F0A16 subtitles +#define ICON_MD_SUBTITLES_OUTLINE "\xf3\xb0\xa8\x97" // U+F0A17 subtitles-outline +#define ICON_MD_SUBWAY "\xf3\xb0\x9a\xac" // U+F06AC subway, aliases: metro, tube, underground, tags: Transportation + Other +#define ICON_MD_SUBWAY_ALERT_VARIANT \ + "\xf3\xb0\xb6\x9d" // U+F0D9D subway-alert-variant, aliases: subway-warning-variant, tags: Alert / Error, + // Transportation + Other +#define ICON_MD_SUBWAY_VARIANT \ + "\xf3\xb0\x93\x9f" // U+F04DF subway-variant, aliases: metro-variant, tube-variant, underground-variant, + // directions-subway, directions-transit, tags: Transportation + Other +#define ICON_MD_SUMMIT "\xf3\xb0\x9e\x86" // U+F0786 summit, aliases: peak +#define ICON_MD_SUN_ANGLE "\xf3\xb1\xac\xa7" // U+F1B27 sun-angle, aliases: solar-angle, tags: Weather +#define ICON_MD_SUN_ANGLE_OUTLINE "\xf3\xb1\xac\xa8" // U+F1B28 sun-angle-outline, aliases: solar-angle-outline, tags: Weather +#define ICON_MD_SUN_CLOCK \ + "\xf3\xb1\xa9\xb7" // U+F1A77 sun-clock, aliases: sun-schedule, sun-time, time-of-day, tags: Weather, Home + // Automation +#define ICON_MD_SUN_CLOCK_OUTLINE \ + "\xf3\xb1\xa9\xb8" // U+F1A78 sun-clock-outline, aliases: sun-schedule-outline, sun-time-outline, + // time-of-day-outline, tags: Weather, Home Automation +#define ICON_MD_SUN_COMPASS \ + "\xf3\xb1\xa6\xa5" // U+F19A5 sun-compass, aliases: sun-azimuth, solar-compass, solar-asimuth, tags: Weather, Home + // Automation, Navigation +#define ICON_MD_SUN_SNOWFLAKE "\xf3\xb1\x9e\x96" // U+F1796 sun-snowflake, aliases: hot-cold, heat-cool, tags: Weather, Home Automation +#define ICON_MD_SUN_SNOWFLAKE_VARIANT "\xf3\xb1\xa9\xb9" // U+F1A79 sun-snowflake-variant, aliases: hot-cold, heat-cool, tags: Home Automation, Weather +#define ICON_MD_SUN_THERMOMETER \ + "\xf3\xb1\xa3\x96" // U+F18D6 sun-thermometer, aliases: heat-index, sun-temperature, day-temperature, + // external-temperature, outdoor-temperature, tags: Weather, Home Automation +#define ICON_MD_SUN_THERMOMETER_OUTLINE \ + "\xf3\xb1\xa3\x97" // U+F18D7 sun-thermometer-outline, aliases: external-temperature, outside-temperature, + // heat-index, day-temperature, tags: Home Automation, Weather +#define ICON_MD_SUN_WIRELESS \ + "\xf3\xb1\x9f\xbe" // U+F17FE sun-wireless, aliases: weather-sun-wireless, illuminance, uv-ray, ultraviolet, tags: + // Home Automation, Weather +#define ICON_MD_SUN_WIRELESS_OUTLINE \ + "\xf3\xb1\x9f\xbf" // U+F17FF sun-wireless-outline, aliases: weather-sun-wireless-outline, illuminance-outline, + // uv-ray-outline, ultraviolet-outline, tags: Home Automation, Weather +#define ICON_MD_SUNGLASSES "\xf3\xb0\x93\xa0" // U+F04E0 sunglasses, tags: Clothing +#define ICON_MD_SURFING "\xf3\xb1\x9d\x86" // U+F1746 surfing +#define ICON_MD_SURROUND_SOUND "\xf3\xb0\x97\x85" // U+F05C5 surround-sound, tags: Audio +#define ICON_MD_SURROUND_SOUND_2_0 "\xf3\xb0\x9f\xb0" // U+F07F0 surround-sound-2-0, aliases: stereo, tags: Audio +#define ICON_MD_SURROUND_SOUND_2_1 "\xf3\xb1\x9c\xa9" // U+F1729 surround-sound-2-1 +#define ICON_MD_SURROUND_SOUND_3_1 "\xf3\xb0\x9f\xb1" // U+F07F1 surround-sound-3-1, tags: Audio +#define ICON_MD_SURROUND_SOUND_5_1 "\xf3\xb0\x9f\xb2" // U+F07F2 surround-sound-5-1, tags: Audio +#define ICON_MD_SURROUND_SOUND_5_1_2 "\xf3\xb1\x9c\xaa" // U+F172A surround-sound-5-1-2 +#define ICON_MD_SURROUND_SOUND_7_1 "\xf3\xb0\x9f\xb3" // U+F07F3 surround-sound-7-1, tags: Audio +#define ICON_MD_SVG "\xf3\xb0\x9c\xa1" // U+F0721 svg, tags: Brand / Logo +#define ICON_MD_SWAP_HORIZONTAL "\xf3\xb0\x93\xa1" // U+F04E1 swap-horizontal, aliases: arrow-left-right, transfer, exchange, switch, tags: Arrow +#define ICON_MD_SWAP_HORIZONTAL_BOLD "\xf3\xb0\xaf\x8d" // U+F0BCD swap-horizontal-bold, aliases: arrow-left-right-bold, tags: Arrow +#define ICON_MD_SWAP_HORIZONTAL_CIRCLE "\xf3\xb0\xbf\xa1" // U+F0FE1 swap-horizontal-circle, tags: Arrow +#define ICON_MD_SWAP_HORIZONTAL_CIRCLE_OUTLINE "\xf3\xb0\xbf\xa2" // U+F0FE2 swap-horizontal-circle-outline, tags: Arrow +#define ICON_MD_SWAP_HORIZONTAL_VARIANT "\xf3\xb0\xa3\x81" // U+F08C1 swap-horizontal-variant, tags: Arrow +#define ICON_MD_SWAP_VERTICAL "\xf3\xb0\x93\xa2" // U+F04E2 swap-vertical, aliases: import-export, arrow-up-down, tags: Arrow +#define ICON_MD_SWAP_VERTICAL_BOLD "\xf3\xb0\xaf\x8e" // U+F0BCE swap-vertical-bold, aliases: arrow-up-down-bold, import-export-bold, tags: Arrow +#define ICON_MD_SWAP_VERTICAL_CIRCLE "\xf3\xb0\xbf\xa3" // U+F0FE3 swap-vertical-circle, tags: Arrow +#define ICON_MD_SWAP_VERTICAL_CIRCLE_OUTLINE "\xf3\xb0\xbf\xa4" // U+F0FE4 swap-vertical-circle-outline, tags: Arrow +#define ICON_MD_SWAP_VERTICAL_VARIANT "\xf3\xb0\xa3\x82" // U+F08C2 swap-vertical-variant, aliases: swap-calls, tags: Arrow +#define ICON_MD_SWIM "\xf3\xb0\x93\xa3" // U+F04E3 swim, tags: Sport +#define ICON_MD_SWITCH "\xf3\xb0\x93\xa4" // U+F04E4 switch +#define ICON_MD_SWORD "\xf3\xb0\x93\xa5" // U+F04E5 sword, tags: Gaming / RPG +#define ICON_MD_SWORD_CROSS "\xf3\xb0\x9e\x87" // U+F0787 sword-cross, tags: Gaming / RPG +#define ICON_MD_SYLLABARY_HANGUL "\xf3\xb1\x8c\xb3" // U+F1333 syllabary-hangul, aliases: writing-system-hangul, tags: Alpha / Numeric +#define ICON_MD_SYLLABARY_HIRAGANA "\xf3\xb1\x8c\xb4" // U+F1334 syllabary-hiragana, aliases: writing-system-hiragana, tags: Alpha / Numeric +#define ICON_MD_SYLLABARY_KATAKANA "\xf3\xb1\x8c\xb5" // U+F1335 syllabary-katakana, aliases: writing-system-katakana, tags: Alpha / Numeric +#define ICON_MD_SYLLABARY_KATAKANA_HALFWIDTH \ + "\xf3\xb1\x8c\xb6" // U+F1336 syllabary-katakana-halfwidth, aliases: writing-system-katakana-half-width, tags: Alpha + // / Numeric +#define ICON_MD_SYMBOL "\xf3\xb1\x94\x81" // U+F1501 symbol +#define ICON_MD_SYMFONY "\xf3\xb0\xab\xa6" // U+F0AE6 symfony, tags: Brand / Logo +#define ICON_MD_SYNAGOGUE "\xf3\xb1\xac\x84" // U+F1B04 synagogue, aliases: shul, temple, jewish, tags: Places, Religion +#define ICON_MD_SYNAGOGUE_OUTLINE \ + "\xf3\xb1\xac\x85" // U+F1B05 synagogue-outline, aliases: temple-outline, shul-outline, jewish-outline, tags: + // Places, Religion +#define ICON_MD_SYNC "\xf3\xb0\x93\xa6" // U+F04E6 sync, aliases: loop, counterclockwise-arrows, circular-arrows, circle-arrows +#define ICON_MD_SYNC_ALERT "\xf3\xb0\x93\xa7" // U+F04E7 sync-alert, aliases: sync-warning, sync-problem, tags: Alert / Error +#define ICON_MD_SYNC_CIRCLE "\xf3\xb1\x8d\xb8" // U+F1378 sync-circle +#define ICON_MD_SYNC_OFF "\xf3\xb0\x93\xa8" // U+F04E8 sync-off, aliases: sync-disabled +#define ICON_MD_TAB "\xf3\xb0\x93\xa9" // U+F04E9 tab +#define ICON_MD_TAB_MINUS "\xf3\xb0\xad\x8b" // U+F0B4B tab-minus +#define ICON_MD_TAB_PLUS "\xf3\xb0\x9d\x9c" // U+F075C tab-plus, aliases: tab-add +#define ICON_MD_TAB_REMOVE "\xf3\xb0\xad\x8c" // U+F0B4C tab-remove +#define ICON_MD_TAB_SEARCH "\xf3\xb1\xa6\x9e" // U+F199E tab-search, aliases: tab-find +#define ICON_MD_TAB_UNSELECTED "\xf3\xb0\x93\xaa" // U+F04EA tab-unselected +#define ICON_MD_TABLE "\xf3\xb0\x93\xab" // U+F04EB table, tags: Text / Content / Format +#define ICON_MD_TABLE_ACCOUNT "\xf3\xb1\x8e\xb9" // U+F13B9 table-account, aliases: table-user, tags: Account / User +#define ICON_MD_TABLE_ALERT "\xf3\xb1\x8e\xba" // U+F13BA table-alert, tags: Alert / Error +#define ICON_MD_TABLE_ARROW_DOWN "\xf3\xb1\x8e\xbb" // U+F13BB table-arrow-down, aliases: table-download +#define ICON_MD_TABLE_ARROW_LEFT "\xf3\xb1\x8e\xbc" // U+F13BC table-arrow-left, aliases: table-import +#define ICON_MD_TABLE_ARROW_RIGHT "\xf3\xb1\x8e\xbd" // U+F13BD table-arrow-right, aliases: table-share, table-export +#define ICON_MD_TABLE_ARROW_UP "\xf3\xb1\x8e\xbe" // U+F13BE table-arrow-up, aliases: table-upload +#define ICON_MD_TABLE_BORDER "\xf3\xb0\xa8\x98" // U+F0A18 table-border, tags: Text / Content / Format +#define ICON_MD_TABLE_CANCEL "\xf3\xb1\x8e\xbf" // U+F13BF table-cancel +#define ICON_MD_TABLE_CHAIR "\xf3\xb1\x81\xa1" // U+F1061 table-chair, aliases: restaurant, kitchen, dining, dining-room, tags: Home Automation +#define ICON_MD_TABLE_CHECK "\xf3\xb1\x8f\x80" // U+F13C0 table-check +#define ICON_MD_TABLE_CLOCK "\xf3\xb1\x8f\x81" // U+F13C1 table-clock, tags: Date / Time +#define ICON_MD_TABLE_COG "\xf3\xb1\x8f\x82" // U+F13C2 table-cog, aliases: table-settings, tags: Settings +#define ICON_MD_TABLE_COLUMN "\xf3\xb0\xa0\xb5" // U+F0835 table-column, tags: Text / Content / Format +#define ICON_MD_TABLE_COLUMN_PLUS_AFTER \ + "\xf3\xb0\x93\xac" // U+F04EC table-column-plus-after, aliases: table-column-add-after, tags: Text / Content / + // Format +#define ICON_MD_TABLE_COLUMN_PLUS_BEFORE \ + "\xf3\xb0\x93\xad" // U+F04ED table-column-plus-before, aliases: table-column-add-before, tags: Text / Content / + // Format +#define ICON_MD_TABLE_COLUMN_REMOVE "\xf3\xb0\x93\xae" // U+F04EE table-column-remove, tags: Text / Content / Format +#define ICON_MD_TABLE_COLUMN_WIDTH "\xf3\xb0\x93\xaf" // U+F04EF table-column-width, tags: Text / Content / Format +#define ICON_MD_TABLE_EDIT "\xf3\xb0\x93\xb0" // U+F04F0 table-edit, tags: Edit / Modify, Text / Content / Format +#define ICON_MD_TABLE_EYE "\xf3\xb1\x82\x94" // U+F1094 table-eye +#define ICON_MD_TABLE_EYE_OFF "\xf3\xb1\x8f\x83" // U+F13C3 table-eye-off +#define ICON_MD_TABLE_FILTER "\xf3\xb1\xae\x8c" // U+F1B8C table-filter +#define ICON_MD_TABLE_FURNITURE "\xf3\xb0\x96\xbc" // U+F05BC table-furniture, aliases: kitchen, dining-room, tags: Home Automation +#define ICON_MD_TABLE_HEADERS_EYE "\xf3\xb1\x88\x9d" // U+F121D table-headers-eye +#define ICON_MD_TABLE_HEADERS_EYE_OFF "\xf3\xb1\x88\x9e" // U+F121E table-headers-eye-off +#define ICON_MD_TABLE_HEART "\xf3\xb1\x8f\x84" // U+F13C4 table-heart, aliases: table-favorite +#define ICON_MD_TABLE_KEY "\xf3\xb1\x8f\x85" // U+F13C5 table-key +#define ICON_MD_TABLE_LARGE "\xf3\xb0\x93\xb1" // U+F04F1 table-large, tags: Text / Content / Format, Geographic Information System +#define ICON_MD_TABLE_LARGE_PLUS \ + "\xf3\xb0\xbe\x87" // U+F0F87 table-large-plus, aliases: table-large-add, tags: Text / Content / Format, Geographic + // Information System +#define ICON_MD_TABLE_LARGE_REMOVE "\xf3\xb0\xbe\x88" // U+F0F88 table-large-remove, tags: Text / Content / Format, Geographic Information System +#define ICON_MD_TABLE_LOCK "\xf3\xb1\x8f\x86" // U+F13C6 table-lock, tags: Lock +#define ICON_MD_TABLE_MERGE_CELLS "\xf3\xb0\xa6\xa6" // U+F09A6 table-merge-cells, tags: Text / Content / Format +#define ICON_MD_TABLE_MINUS "\xf3\xb1\x8f\x87" // U+F13C7 table-minus +#define ICON_MD_TABLE_MULTIPLE "\xf3\xb1\x8f\x88" // U+F13C8 table-multiple +#define ICON_MD_TABLE_NETWORK "\xf3\xb1\x8f\x89" // U+F13C9 table-network +#define ICON_MD_TABLE_OF_CONTENTS "\xf3\xb0\xa0\xb6" // U+F0836 table-of-contents, aliases: toc +#define ICON_MD_TABLE_OFF "\xf3\xb1\x8f\x8a" // U+F13CA table-off +#define ICON_MD_TABLE_PICNIC "\xf3\xb1\x9d\x83" // U+F1743 table-picnic +#define ICON_MD_TABLE_PIVOT "\xf3\xb1\xa0\xbc" // U+F183C table-pivot, tags: Text / Content / Format +#define ICON_MD_TABLE_PLUS "\xf3\xb0\xa9\xb5" // U+F0A75 table-plus, aliases: table-add, tags: Text / Content / Format +#define ICON_MD_TABLE_QUESTION "\xf3\xb1\xac\xa1" // U+F1B21 table-question, aliases: table-help +#define ICON_MD_TABLE_REFRESH "\xf3\xb1\x8e\xa0" // U+F13A0 table-refresh +#define ICON_MD_TABLE_REMOVE "\xf3\xb0\xa9\xb6" // U+F0A76 table-remove, tags: Text / Content / Format +#define ICON_MD_TABLE_ROW "\xf3\xb0\xa0\xb7" // U+F0837 table-row, tags: Text / Content / Format +#define ICON_MD_TABLE_ROW_HEIGHT "\xf3\xb0\x93\xb2" // U+F04F2 table-row-height, tags: Text / Content / Format +#define ICON_MD_TABLE_ROW_PLUS_AFTER "\xf3\xb0\x93\xb3" // U+F04F3 table-row-plus-after, aliases: table-row-add-after, tags: Text / Content / Format +#define ICON_MD_TABLE_ROW_PLUS_BEFORE "\xf3\xb0\x93\xb4" // U+F04F4 table-row-plus-before, aliases: table-row-add-before, tags: Text / Content / Format +#define ICON_MD_TABLE_ROW_REMOVE "\xf3\xb0\x93\xb5" // U+F04F5 table-row-remove, tags: Text / Content / Format +#define ICON_MD_TABLE_SEARCH "\xf3\xb0\xa4\x8f" // U+F090F table-search +#define ICON_MD_TABLE_SETTINGS "\xf3\xb0\xa0\xb8" // U+F0838 table-settings, tags: Settings +#define ICON_MD_TABLE_SPLIT_CELL "\xf3\xb1\x90\xaa" // U+F142A table-split-cell, tags: Text / Content / Format +#define ICON_MD_TABLE_STAR "\xf3\xb1\x8f\x8b" // U+F13CB table-star, aliases: table-favorite +#define ICON_MD_TABLE_SYNC "\xf3\xb1\x8e\xa1" // U+F13A1 table-sync +#define ICON_MD_TABLE_TENNIS "\xf3\xb0\xb9\xa8" // U+F0E68 table-tennis, aliases: ping-pong, whiff-whaff, tags: Sport +#define ICON_MD_TABLET "\xf3\xb0\x93\xb6" // U+F04F6 tablet, tags: Device / Tech +#define ICON_MD_TABLET_CELLPHONE \ + "\xf3\xb0\xa6\xa7" // U+F09A7 tablet-cellphone, aliases: mobile-devices, tablet-mobile-phone, tablet-smartphone, + // tags: Cellphone / Phone, Device / Tech +#define ICON_MD_TABLET_DASHBOARD "\xf3\xb0\xbb\x8e" // U+F0ECE tablet-dashboard, tags: Device / Tech +#define ICON_MD_TACO "\xf3\xb0\x9d\xa2" // U+F0762 taco, tags: Food / Drink +#define ICON_MD_TAG "\xf3\xb0\x93\xb9" // U+F04F9 tag, aliases: local-offer +#define ICON_MD_TAG_ARROW_DOWN "\xf3\xb1\x9c\xab" // U+F172B tag-arrow-down +#define ICON_MD_TAG_ARROW_DOWN_OUTLINE "\xf3\xb1\x9c\xac" // U+F172C tag-arrow-down-outline +#define ICON_MD_TAG_ARROW_LEFT "\xf3\xb1\x9c\xad" // U+F172D tag-arrow-left +#define ICON_MD_TAG_ARROW_LEFT_OUTLINE "\xf3\xb1\x9c\xae" // U+F172E tag-arrow-left-outline +#define ICON_MD_TAG_ARROW_RIGHT "\xf3\xb1\x9c\xaf" // U+F172F tag-arrow-right +#define ICON_MD_TAG_ARROW_RIGHT_OUTLINE "\xf3\xb1\x9c\xb0" // U+F1730 tag-arrow-right-outline +#define ICON_MD_TAG_ARROW_UP "\xf3\xb1\x9c\xb1" // U+F1731 tag-arrow-up +#define ICON_MD_TAG_ARROW_UP_OUTLINE "\xf3\xb1\x9c\xb2" // U+F1732 tag-arrow-up-outline +#define ICON_MD_TAG_CHECK "\xf3\xb1\xa9\xba" // U+F1A7A tag-check, aliases: tag-approve +#define ICON_MD_TAG_CHECK_OUTLINE "\xf3\xb1\xa9\xbb" // U+F1A7B tag-check-outline, aliases: tag-approve-outline +#define ICON_MD_TAG_FACES "\xf3\xb0\x93\xba" // U+F04FA tag-faces, aliases: tag-emoji, tag-emoticon +#define ICON_MD_TAG_HEART "\xf3\xb0\x9a\x8b" // U+F068B tag-heart, aliases: loyalty +#define ICON_MD_TAG_HEART_OUTLINE "\xf3\xb0\xaf\x8f" // U+F0BCF tag-heart-outline +#define ICON_MD_TAG_MINUS "\xf3\xb0\xa4\x90" // U+F0910 tag-minus +#define ICON_MD_TAG_MINUS_OUTLINE "\xf3\xb1\x88\x9f" // U+F121F tag-minus-outline +#define ICON_MD_TAG_MULTIPLE "\xf3\xb0\x93\xbb" // U+F04FB tag-multiple, aliases: tags +#define ICON_MD_TAG_MULTIPLE_OUTLINE "\xf3\xb1\x8b\xb7" // U+F12F7 tag-multiple-outline +#define ICON_MD_TAG_OFF "\xf3\xb1\x88\xa0" // U+F1220 tag-off +#define ICON_MD_TAG_OFF_OUTLINE "\xf3\xb1\x88\xa1" // U+F1221 tag-off-outline +#define ICON_MD_TAG_OUTLINE "\xf3\xb0\x93\xbc" // U+F04FC tag-outline +#define ICON_MD_TAG_PLUS "\xf3\xb0\x9c\xa2" // U+F0722 tag-plus, aliases: tag-add +#define ICON_MD_TAG_PLUS_OUTLINE "\xf3\xb1\x88\xa2" // U+F1222 tag-plus-outline +#define ICON_MD_TAG_REMOVE "\xf3\xb0\x9c\xa3" // U+F0723 tag-remove +#define ICON_MD_TAG_REMOVE_OUTLINE "\xf3\xb1\x88\xa3" // U+F1223 tag-remove-outline +#define ICON_MD_TAG_SEARCH "\xf3\xb1\xa4\x87" // U+F1907 tag-search, aliases: tag-find +#define ICON_MD_TAG_SEARCH_OUTLINE "\xf3\xb1\xa4\x88" // U+F1908 tag-search-outline, aliases: tag-find-outline +#define ICON_MD_TAG_TEXT "\xf3\xb1\x88\xa4" // U+F1224 tag-text +#define ICON_MD_TAG_TEXT_OUTLINE "\xf3\xb0\x93\xbd" // U+F04FD tag-text-outline +#define ICON_MD_TAILWIND "\xf3\xb1\x8f\xbf" // U+F13FF tailwind, tags: Brand / Logo +#define ICON_MD_TALLY_MARK_1 "\xf3\xb1\xaa\xbc" // U+F1ABC tally-mark-1, aliases: counting-1, one, tags: Math +#define ICON_MD_TALLY_MARK_2 "\xf3\xb1\xaa\xbd" // U+F1ABD tally-mark-2, aliases: counting-2, two, tags: Math +#define ICON_MD_TALLY_MARK_3 "\xf3\xb1\xaa\xbe" // U+F1ABE tally-mark-3, aliases: counting-3, three, tags: Math +#define ICON_MD_TALLY_MARK_4 "\xf3\xb1\xaa\xbf" // U+F1ABF tally-mark-4, aliases: counting-4, four, tags: Math +#define ICON_MD_TALLY_MARK_5 "\xf3\xb1\xab\x80" // U+F1AC0 tally-mark-5, aliases: counting-5, five, tags: Math +#define ICON_MD_TANGRAM "\xf3\xb0\x93\xb8" // U+F04F8 tangram, aliases: puzzle, tags: Gaming / RPG +#define ICON_MD_TANK "\xf3\xb0\xb4\xba" // U+F0D3A tank +#define ICON_MD_TANKER_TRUCK \ + "\xf3\xb0\xbf\xa5" // U+F0FE5 tanker-truck, aliases: fuel-truck, oil-truck, water-truck, tanker, tags: + // Transportation + Road +#define ICON_MD_TAPE_DRIVE "\xf3\xb1\x9b\x9f" // U+F16DF tape-drive +#define ICON_MD_TAPE_MEASURE "\xf3\xb0\xad\x8d" // U+F0B4D tape-measure, aliases: measuring-tape, tags: Hardware / Tools +#define ICON_MD_TARGET "\xf3\xb0\x93\xbe" // U+F04FE target, aliases: registration-mark +#define ICON_MD_TARGET_ACCOUNT "\xf3\xb0\xaf\x90" // U+F0BD0 target-account, aliases: crosshairs-account, target-user, tags: Account / User +#define ICON_MD_TARGET_VARIANT "\xf3\xb0\xa9\xb7" // U+F0A77 target-variant, aliases: registration-mark +#define ICON_MD_TAXI "\xf3\xb0\x93\xbf" // U+F04FF taxi, aliases: local-taxi, cab, tags: Transportation + Road, Navigation +#define ICON_MD_TEA "\xf3\xb0\xb6\x9e" // U+F0D9E tea, tags: Food / Drink +#define ICON_MD_TEA_OUTLINE "\xf3\xb0\xb6\x9f" // U+F0D9F tea-outline, tags: Food / Drink +#define ICON_MD_TEAMVIEWER "\xf3\xb0\x94\x80" // U+F0500 teamviewer, tags: Brand / Logo +#define ICON_MD_TEDDY_BEAR \ + "\xf3\xb1\xa3\xbb" // U+F18FB teddy-bear, aliases: child-toy, children-toy, kids-room, childrens-room, play-room, + // tags: Holiday, Home Automation +#define ICON_MD_TELESCOPE "\xf3\xb0\xad\x8e" // U+F0B4E telescope, tags: Science +#define ICON_MD_TELEVISION "\xf3\xb0\x94\x82" // U+F0502 television, aliases: tv, tags: Device / Tech, Home Automation +#define ICON_MD_TELEVISION_AMBIENT_LIGHT "\xf3\xb1\x8d\x96" // U+F1356 television-ambient-light, tags: Home Automation +#define ICON_MD_TELEVISION_BOX "\xf3\xb0\xa0\xb9" // U+F0839 television-box, aliases: tv-box, tv-guide +#define ICON_MD_TELEVISION_CLASSIC "\xf3\xb0\x9f\xb4" // U+F07F4 television-classic, aliases: tv-classic, tags: Device / Tech, Home Automation +#define ICON_MD_TELEVISION_CLASSIC_OFF "\xf3\xb0\xa0\xba" // U+F083A television-classic-off, aliases: tv-classic-off, tags: Device / Tech, Home Automation +#define ICON_MD_TELEVISION_GUIDE "\xf3\xb0\x94\x83" // U+F0503 television-guide, tags: Device / Tech, Home Automation +#define ICON_MD_TELEVISION_OFF "\xf3\xb0\xa0\xbb" // U+F083B television-off, aliases: tv-off, tags: Device / Tech, Home Automation +#define ICON_MD_TELEVISION_PAUSE "\xf3\xb0\xbe\x89" // U+F0F89 television-pause, tags: Device / Tech +#define ICON_MD_TELEVISION_PLAY "\xf3\xb0\xbb\x8f" // U+F0ECF television-play, tags: Device / Tech +#define ICON_MD_TELEVISION_SHIMMER "\xf3\xb1\x84\x90" // U+F1110 television-shimmer, aliases: television-clean, tags: Device / Tech +#define ICON_MD_TELEVISION_SPEAKER "\xf3\xb1\xac\x9b" // U+F1B1B television-speaker, tags: Audio, Video / Movie +#define ICON_MD_TELEVISION_SPEAKER_OFF "\xf3\xb1\xac\x9c" // U+F1B1C television-speaker-off, tags: Audio, Video / Movie +#define ICON_MD_TELEVISION_STOP "\xf3\xb0\xbe\x8a" // U+F0F8A television-stop, tags: Device / Tech +#define ICON_MD_TEMPERATURE_CELSIUS "\xf3\xb0\x94\x84" // U+F0504 temperature-celsius, aliases: temperature-centigrade, tags: Weather +#define ICON_MD_TEMPERATURE_FAHRENHEIT "\xf3\xb0\x94\x85" // U+F0505 temperature-fahrenheit, tags: Weather +#define ICON_MD_TEMPERATURE_KELVIN "\xf3\xb0\x94\x86" // U+F0506 temperature-kelvin, tags: Weather +#define ICON_MD_TEMPLE_BUDDHIST "\xf3\xb1\xac\x86" // U+F1B06 temple-buddhist, tags: Places, Religion +#define ICON_MD_TEMPLE_BUDDHIST_OUTLINE "\xf3\xb1\xac\x87" // U+F1B07 temple-buddhist-outline, tags: Places, Religion +#define ICON_MD_TEMPLE_HINDU "\xf3\xb1\xac\x88" // U+F1B08 temple-hindu, tags: Places, Religion +#define ICON_MD_TEMPLE_HINDU_OUTLINE "\xf3\xb1\xac\x89" // U+F1B09 temple-hindu-outline, tags: Places, Religion +#define ICON_MD_TENNIS "\xf3\xb0\xb6\xa0" // U+F0DA0 tennis, aliases: tennis-racquet, tennis-racket, tags: Sport +#define ICON_MD_TENNIS_BALL "\xf3\xb0\x94\x87" // U+F0507 tennis-ball, tags: Sport +#define ICON_MD_TENT "\xf3\xb0\x94\x88" // U+F0508 tent, aliases: camping +#define ICON_MD_TERRAFORM "\xf3\xb1\x81\xa2" // U+F1062 terraform, tags: Brand / Logo +#define ICON_MD_TERRAIN "\xf3\xb0\x94\x89" // U+F0509 terrain, tags: Nature +#define ICON_MD_TEST_TUBE "\xf3\xb0\x99\xa8" // U+F0668 test-tube, tags: Science +#define ICON_MD_TEST_TUBE_EMPTY "\xf3\xb0\xa4\x91" // U+F0911 test-tube-empty, tags: Science +#define ICON_MD_TEST_TUBE_OFF "\xf3\xb0\xa4\x92" // U+F0912 test-tube-off, tags: Science +#define ICON_MD_TEXT "\xf3\xb0\xa6\xa8" // U+F09A8 text, aliases: notes, tags: Text / Content / Format +#define ICON_MD_TEXT_ACCOUNT "\xf3\xb1\x95\xb0" // U+F1570 text-account, aliases: biography, text-user, tags: Account / User +#define ICON_MD_TEXT_BOX "\xf3\xb0\x88\x9a" // U+F021A text-box, aliases: drive-document, file-document-box, tags: Files / Folders +#define ICON_MD_TEXT_BOX_CHECK \ + "\xf3\xb0\xba\xa6" // U+F0EA6 text-box-check, aliases: file-document-box-tick, file-document-box-check, tags: Files + // / Folders +#define ICON_MD_TEXT_BOX_CHECK_OUTLINE \ + "\xf3\xb0\xba\xa7" // U+F0EA7 text-box-check-outline, aliases: file-document-box-tick-outline, + // file-document-box-check-outline, tags: Files / Folders +#define ICON_MD_TEXT_BOX_EDIT "\xf3\xb1\xa9\xbc" // U+F1A7C text-box-edit, tags: Files / Folders, Edit / Modify +#define ICON_MD_TEXT_BOX_EDIT_OUTLINE "\xf3\xb1\xa9\xbd" // U+F1A7D text-box-edit-outline, tags: Files / Folders, Edit / Modify +#define ICON_MD_TEXT_BOX_MINUS "\xf3\xb0\xba\xa8" // U+F0EA8 text-box-minus, aliases: file-document-box-minus, tags: Files / Folders +#define ICON_MD_TEXT_BOX_MINUS_OUTLINE \ + "\xf3\xb0\xba\xa9" // U+F0EA9 text-box-minus-outline, aliases: file-document-box-minus-outline, tags: Files / + // Folders +#define ICON_MD_TEXT_BOX_MULTIPLE \ + "\xf3\xb0\xaa\xb7" // U+F0AB7 text-box-multiple, aliases: file-document-boxes, file-document-box-multiple, tags: + // Files / Folders +#define ICON_MD_TEXT_BOX_MULTIPLE_OUTLINE \ + "\xf3\xb0\xaa\xb8" // U+F0AB8 text-box-multiple-outline, aliases: file-document-boxes-outline, + // file-document-box-multiple-outline, tags: Files / Folders +#define ICON_MD_TEXT_BOX_OUTLINE "\xf3\xb0\xa7\xad" // U+F09ED text-box-outline, aliases: file-document-box-outline, tags: Files / Folders +#define ICON_MD_TEXT_BOX_PLUS "\xf3\xb0\xba\xaa" // U+F0EAA text-box-plus, aliases: file-document-box-plus, tags: Files / Folders +#define ICON_MD_TEXT_BOX_PLUS_OUTLINE "\xf3\xb0\xba\xab" // U+F0EAB text-box-plus-outline, aliases: file-document-box-plus-outline, tags: Files / Folders +#define ICON_MD_TEXT_BOX_REMOVE "\xf3\xb0\xba\xac" // U+F0EAC text-box-remove, aliases: file-document-box-remove, tags: Files / Folders +#define ICON_MD_TEXT_BOX_REMOVE_OUTLINE \ + "\xf3\xb0\xba\xad" // U+F0EAD text-box-remove-outline, aliases: file-document-box-remove-outline, tags: Files / + // Folders +#define ICON_MD_TEXT_BOX_SEARCH "\xf3\xb0\xba\xae" // U+F0EAE text-box-search, aliases: file-document-box-search, tags: Files / Folders +#define ICON_MD_TEXT_BOX_SEARCH_OUTLINE \ + "\xf3\xb0\xba\xaf" // U+F0EAF text-box-search-outline, aliases: file-document-box-search-outline, tags: Files / + // Folders +#define ICON_MD_TEXT_LONG "\xf3\xb0\xa6\xaa" // U+F09AA text-long, aliases: text-subject +#define ICON_MD_TEXT_RECOGNITION "\xf3\xb1\x84\xbd" // U+F113D text-recognition +#define ICON_MD_TEXT_SEARCH "\xf3\xb1\x8e\xb8" // U+F13B8 text-search, aliases: notes-search +#define ICON_MD_TEXT_SEARCH_VARIANT "\xf3\xb1\xa9\xbe" // U+F1A7E text-search-variant, aliases: notes-search-variant +#define ICON_MD_TEXT_SHADOW "\xf3\xb0\x99\xa9" // U+F0669 text-shadow +#define ICON_MD_TEXT_SHORT "\xf3\xb0\xa6\xa9" // U+F09A9 text-short +#define ICON_MD_TEXTURE "\xf3\xb0\x94\x8c" // U+F050C texture +#define ICON_MD_TEXTURE_BOX "\xf3\xb0\xbf\xa6" // U+F0FE6 texture-box, aliases: surface-area, tags: Math +#define ICON_MD_THEATER "\xf3\xb0\x94\x8d" // U+F050D theater, aliases: cinema, theatre, tags: Places, Home Automation +#define ICON_MD_THEME_LIGHT_DARK "\xf3\xb0\x94\x8e" // U+F050E theme-light-dark, aliases: sun-moon-stars, tags: Weather +#define ICON_MD_THERMOMETER "\xf3\xb0\x94\x8f" // U+F050F thermometer, aliases: temperature, tags: Weather, Home Automation, Automotive +#define ICON_MD_THERMOMETER_ALERT \ + "\xf3\xb0\xb8\x81" // U+F0E01 thermometer-alert, aliases: thermometer-warning, temperature-alert, + // temperature-warning, tags: Home Automation, Weather, Alert / Error +#define ICON_MD_THERMOMETER_AUTO "\xf3\xb1\xac\x8f" // U+F1B0F thermometer-auto, aliases: temperature-auto, tags: Home Automation +#define ICON_MD_THERMOMETER_BLUETOOTH \ + "\xf3\xb1\xa2\x95" // U+F1895 thermometer-bluetooth, aliases: temperature-bluetooth, tags: Weather, Home Automation, + // Automotive +#define ICON_MD_THERMOMETER_CHECK \ + "\xf3\xb1\xa9\xbf" // U+F1A7F thermometer-check, aliases: thermometer-approve, temperature-check, + // temperature-approve, tags: Weather, Home Automation +#define ICON_MD_THERMOMETER_CHEVRON_DOWN \ + "\xf3\xb0\xb8\x82" // U+F0E02 thermometer-chevron-down, aliases: temperature-chevron-down, temperature-decrease, + // thermometer-decrease, tags: Home Automation, Weather +#define ICON_MD_THERMOMETER_CHEVRON_UP \ + "\xf3\xb0\xb8\x83" // U+F0E03 thermometer-chevron-up, aliases: temperature-chevron-up, temperature-increase, + // thermometer-increase, tags: Home Automation, Weather +#define ICON_MD_THERMOMETER_HIGH "\xf3\xb1\x83\x82" // U+F10C2 thermometer-high, aliases: temperature-high, tags: Home Automation, Weather +#define ICON_MD_THERMOMETER_LINES "\xf3\xb0\x94\x90" // U+F0510 thermometer-lines, aliases: temperature-lines, tags: Weather, Home Automation +#define ICON_MD_THERMOMETER_LOW "\xf3\xb1\x83\x83" // U+F10C3 thermometer-low, aliases: temperature-low, tags: Home Automation, Weather +#define ICON_MD_THERMOMETER_MINUS \ + "\xf3\xb0\xb8\x84" // U+F0E04 thermometer-minus, aliases: temperature-minus, thermometer-decrease, + // temperature-decrease, tags: Home Automation, Weather +#define ICON_MD_THERMOMETER_OFF "\xf3\xb1\x94\xb1" // U+F1531 thermometer-off, aliases: temperature-off, tags: Weather, Home Automation +#define ICON_MD_THERMOMETER_PLUS \ + "\xf3\xb0\xb8\x85" // U+F0E05 thermometer-plus, aliases: thermometer-add, thermometer-increase, temperature-plus, + // temperature-add, temperature-increase, tags: Home Automation, Weather +#define ICON_MD_THERMOMETER_PROBE "\xf3\xb1\xac\xab" // U+F1B2B thermometer-probe +#define ICON_MD_THERMOMETER_PROBE_OFF "\xf3\xb1\xac\xac" // U+F1B2C thermometer-probe-off +#define ICON_MD_THERMOMETER_WATER \ + "\xf3\xb1\xaa\x80" // U+F1A80 thermometer-water, aliases: dew-point, water-temperature, boiling-point, tags: + // Weather, Home Automation +#define ICON_MD_THERMOSTAT "\xf3\xb0\x8e\x93" // U+F0393 thermostat, aliases: nest, tags: Device / Tech, Home Automation +#define ICON_MD_THERMOSTAT_AUTO "\xf3\xb1\xac\x97" // U+F1B17 thermostat-auto, tags: Home Automation +#define ICON_MD_THERMOSTAT_BOX "\xf3\xb0\xa2\x91" // U+F0891 thermostat-box, tags: Home Automation, Device / Tech +#define ICON_MD_THERMOSTAT_BOX_AUTO "\xf3\xb1\xac\x98" // U+F1B18 thermostat-box-auto, tags: Home Automation +#define ICON_MD_THOUGHT_BUBBLE "\xf3\xb0\x9f\xb6" // U+F07F6 thought-bubble, aliases: comic-bubble, thinking +#define ICON_MD_THOUGHT_BUBBLE_OUTLINE \ + "\xf3\xb0\x9f\xb7" // U+F07F7 thought-bubble-outline, aliases: comic-thought-bubble-outline, thinking-outline, + // think-outline +#define ICON_MD_THUMB_DOWN "\xf3\xb0\x94\x91" // U+F0511 thumb-down, aliases: dislike, thumbs-down +#define ICON_MD_THUMB_DOWN_OUTLINE "\xf3\xb0\x94\x92" // U+F0512 thumb-down-outline, aliases: dislike-outline, thumbs-down-outline +#define ICON_MD_THUMB_UP "\xf3\xb0\x94\x93" // U+F0513 thumb-up, aliases: like, thumbs-up +#define ICON_MD_THUMB_UP_OUTLINE "\xf3\xb0\x94\x94" // U+F0514 thumb-up-outline, aliases: like-outline, thumbs-up-outline +#define ICON_MD_THUMBS_UP_DOWN "\xf3\xb0\x94\x95" // U+F0515 thumbs-up-down, aliases: like-dislike +#define ICON_MD_THUMBS_UP_DOWN_OUTLINE "\xf3\xb1\xa4\x94" // U+F1914 thumbs-up-down-outline, aliases: like-dislike-outline +#define ICON_MD_TICKET "\xf3\xb0\x94\x96" // U+F0516 ticket, aliases: local-activity, local-play, local-attraction +#define ICON_MD_TICKET_ACCOUNT "\xf3\xb0\x94\x97" // U+F0517 ticket-account, aliases: ticket-user, tags: Account / User +#define ICON_MD_TICKET_CONFIRMATION "\xf3\xb0\x94\x98" // U+F0518 ticket-confirmation, aliases: confirmation-number +#define ICON_MD_TICKET_CONFIRMATION_OUTLINE "\xf3\xb1\x8e\xaa" // U+F13AA ticket-confirmation-outline, aliases: confirmation-number-outline +#define ICON_MD_TICKET_OUTLINE "\xf3\xb0\xa4\x93" // U+F0913 ticket-outline +#define ICON_MD_TICKET_PERCENT "\xf3\xb0\x9c\xa4" // U+F0724 ticket-percent, aliases: coupon, voucher +#define ICON_MD_TICKET_PERCENT_OUTLINE "\xf3\xb1\x90\xab" // U+F142B ticket-percent-outline, aliases: coupon-outline, voucher-outline +#define ICON_MD_TIE "\xf3\xb0\x94\x99" // U+F0519 tie, tags: Clothing +#define ICON_MD_TILDE "\xf3\xb0\x9c\xa5" // U+F0725 tilde +#define ICON_MD_TILDE_OFF "\xf3\xb1\xa3\xb3" // U+F18F3 tilde-off +#define ICON_MD_TIMELAPSE "\xf3\xb0\x94\x9a" // U+F051A timelapse, tags: Date / Time +#define ICON_MD_TIMELINE "\xf3\xb0\xaf\x91" // U+F0BD1 timeline +#define ICON_MD_TIMELINE_ALERT "\xf3\xb0\xbe\x95" // U+F0F95 timeline-alert, tags: Alert / Error +#define ICON_MD_TIMELINE_ALERT_OUTLINE "\xf3\xb0\xbe\x98" // U+F0F98 timeline-alert-outline, tags: Alert / Error +#define ICON_MD_TIMELINE_CHECK "\xf3\xb1\x94\xb2" // U+F1532 timeline-check +#define ICON_MD_TIMELINE_CHECK_OUTLINE "\xf3\xb1\x94\xb3" // U+F1533 timeline-check-outline +#define ICON_MD_TIMELINE_CLOCK "\xf3\xb1\x87\xbb" // U+F11FB timeline-clock, tags: Date / Time +#define ICON_MD_TIMELINE_CLOCK_OUTLINE "\xf3\xb1\x87\xbc" // U+F11FC timeline-clock-outline, tags: Date / Time +#define ICON_MD_TIMELINE_MINUS "\xf3\xb1\x94\xb4" // U+F1534 timeline-minus +#define ICON_MD_TIMELINE_MINUS_OUTLINE "\xf3\xb1\x94\xb5" // U+F1535 timeline-minus-outline +#define ICON_MD_TIMELINE_OUTLINE "\xf3\xb0\xaf\x92" // U+F0BD2 timeline-outline +#define ICON_MD_TIMELINE_PLUS "\xf3\xb0\xbe\x96" // U+F0F96 timeline-plus +#define ICON_MD_TIMELINE_PLUS_OUTLINE "\xf3\xb0\xbe\x97" // U+F0F97 timeline-plus-outline +#define ICON_MD_TIMELINE_QUESTION "\xf3\xb0\xbe\x99" // U+F0F99 timeline-question, aliases: timeline-help +#define ICON_MD_TIMELINE_QUESTION_OUTLINE "\xf3\xb0\xbe\x9a" // U+F0F9A timeline-question-outline, aliases: timeline-help-outline +#define ICON_MD_TIMELINE_REMOVE "\xf3\xb1\x94\xb6" // U+F1536 timeline-remove +#define ICON_MD_TIMELINE_REMOVE_OUTLINE "\xf3\xb1\x94\xb7" // U+F1537 timeline-remove-outline +#define ICON_MD_TIMELINE_TEXT "\xf3\xb0\xaf\x93" // U+F0BD3 timeline-text +#define ICON_MD_TIMELINE_TEXT_OUTLINE "\xf3\xb0\xaf\x94" // U+F0BD4 timeline-text-outline +#define ICON_MD_TIMER "\xf3\xb1\x8e\xab" // U+F13AB timer, aliases: stopwatch, tags: Sport, Date / Time +#define ICON_MD_TIMER_10 "\xf3\xb0\x94\x9c" // U+F051C timer-10, aliases: timer-ten, tags: Date / Time +#define ICON_MD_TIMER_3 "\xf3\xb0\x94\x9d" // U+F051D timer-3, aliases: timer-three, tags: Date / Time +#define ICON_MD_TIMER_ALERT "\xf3\xb1\xab\x8c" // U+F1ACC timer-alert, aliases: stopwatch-alert, tags: Date / Time, Alert / Error +#define ICON_MD_TIMER_ALERT_OUTLINE \ + "\xf3\xb1\xab\x8d" // U+F1ACD timer-alert-outline, aliases: stopwatch-alert-outline, tags: Date / Time, Alert / + // Error +#define ICON_MD_TIMER_CANCEL "\xf3\xb1\xab\x8e" // U+F1ACE timer-cancel, aliases: stopwatch-cancel, tags: Date / Time +#define ICON_MD_TIMER_CANCEL_OUTLINE "\xf3\xb1\xab\x8f" // U+F1ACF timer-cancel-outline, aliases: stopwatch-cancel-outline, tags: Date / Time +#define ICON_MD_TIMER_CHECK "\xf3\xb1\xab\x90" // U+F1AD0 timer-check, aliases: stopwatch-check, timer-tick, stopwatch-tick, tags: Date / Time +#define ICON_MD_TIMER_CHECK_OUTLINE \ + "\xf3\xb1\xab\x91" // U+F1AD1 timer-check-outline, aliases: timer-tick-outline, stopwatch-check-outline, + // stopwatch-tick-outline, tags: Date / Time +#define ICON_MD_TIMER_COG "\xf3\xb1\xa4\xa5" // U+F1925 timer-cog, aliases: timer-settings, tags: Date / Time, Settings +#define ICON_MD_TIMER_COG_OUTLINE "\xf3\xb1\xa4\xa6" // U+F1926 timer-cog-outline, aliases: timer-settings-outline, tags: Date / Time, Settings +#define ICON_MD_TIMER_EDIT "\xf3\xb1\xab\x92" // U+F1AD2 timer-edit, aliases: stopwatch-edit, tags: Date / Time, Edit / Modify +#define ICON_MD_TIMER_EDIT_OUTLINE "\xf3\xb1\xab\x93" // U+F1AD3 timer-edit-outline, aliases: stopwatch-edit-outline, tags: Date / Time, Edit / Modify +#define ICON_MD_TIMER_LOCK \ + "\xf3\xb1\xab\x94" // U+F1AD4 timer-lock, aliases: stopwatch-lock, timer-secure, stopwatch-secure, tags: Date / + // Time, Lock +#define ICON_MD_TIMER_LOCK_OPEN "\xf3\xb1\xab\x95" // U+F1AD5 timer-lock-open, aliases: stopwatch-lock-open, tags: Date / Time, Lock +#define ICON_MD_TIMER_LOCK_OPEN_OUTLINE "\xf3\xb1\xab\x96" // U+F1AD6 timer-lock-open-outline, aliases: stopwatch-lock-open-outline, tags: Date / Time, Lock +#define ICON_MD_TIMER_LOCK_OUTLINE \ + "\xf3\xb1\xab\x97" // U+F1AD7 timer-lock-outline, aliases: stopwatch-lock-outline, stopwatch-secure-outline, + // timer-secure-outline, tags: Date / Time, Lock +#define ICON_MD_TIMER_MARKER \ + "\xf3\xb1\xab\x98" // U+F1AD8 timer-marker, aliases: stopwatch-marker, timer-location, stopwatch-location, tags: + // Date / Time, Navigation +#define ICON_MD_TIMER_MARKER_OUTLINE \ + "\xf3\xb1\xab\x99" // U+F1AD9 timer-marker-outline, aliases: stopwatch-marker-outline, timer-location-outline, + // stopwatch-location-outline, tags: Date / Time, Navigation +#define ICON_MD_TIMER_MINUS \ + "\xf3\xb1\xab\x9a" // U+F1ADA timer-minus, aliases: timer-subtract, stopwatch-minus, stopwatch-subtract, tags: Date + // / Time +#define ICON_MD_TIMER_MINUS_OUTLINE \ + "\xf3\xb1\xab\x9b" // U+F1ADB timer-minus-outline, aliases: timer-subtract-outline, stopwatch-minus-outline, + // stopwatch-subtract-outline, tags: Date / Time +#define ICON_MD_TIMER_MUSIC "\xf3\xb1\xab\x9c" // U+F1ADC timer-music, aliases: stopwatch-music, tags: Date / Time, Music +#define ICON_MD_TIMER_MUSIC_OUTLINE "\xf3\xb1\xab\x9d" // U+F1ADD timer-music-outline, aliases: stopwatch-music-outline, tags: Date / Time, Music +#define ICON_MD_TIMER_OFF "\xf3\xb1\x8e\xac" // U+F13AC timer-off, aliases: stopwatch-off, tags: Date / Time +#define ICON_MD_TIMER_OFF_OUTLINE "\xf3\xb0\x94\x9e" // U+F051E timer-off-outline, aliases: stopwatch-off-outline, tags: Date / Time +#define ICON_MD_TIMER_OUTLINE "\xf3\xb0\x94\x9b" // U+F051B timer-outline, aliases: stopwatch-outline, tags: Date / Time, Sport +#define ICON_MD_TIMER_PAUSE "\xf3\xb1\xab\x9e" // U+F1ADE timer-pause, aliases: stopwatch-pause, tags: Date / Time +#define ICON_MD_TIMER_PAUSE_OUTLINE "\xf3\xb1\xab\x9f" // U+F1ADF timer-pause-outline, aliases: stopwatch-pause-outline, tags: Date / Time +#define ICON_MD_TIMER_PLAY "\xf3\xb1\xab\xa0" // U+F1AE0 timer-play, aliases: timer-start, stopwatch-play, stopwatch-start, tags: Date / Time +#define ICON_MD_TIMER_PLAY_OUTLINE \ + "\xf3\xb1\xab\xa1" // U+F1AE1 timer-play-outline, aliases: timer-start-outline, stopwatch-play-outline, + // stopwatch-start-outline, tags: Date / Time +#define ICON_MD_TIMER_PLUS "\xf3\xb1\xab\xa2" // U+F1AE2 timer-plus, aliases: timer-add, stopwatch-plus, stopwatch-add, tags: Date / Time +#define ICON_MD_TIMER_PLUS_OUTLINE \ + "\xf3\xb1\xab\xa3" // U+F1AE3 timer-plus-outline, aliases: timer-add-outline, stopwatch-plus-outline, + // stopwatch-add-outline, tags: Date / Time +#define ICON_MD_TIMER_REFRESH "\xf3\xb1\xab\xa4" // U+F1AE4 timer-refresh, aliases: stopwatch-refresh, tags: Date / Time +#define ICON_MD_TIMER_REFRESH_OUTLINE "\xf3\xb1\xab\xa5" // U+F1AE5 timer-refresh-outline, aliases: stopwatch-refresh-outline, tags: Date / Time +#define ICON_MD_TIMER_REMOVE "\xf3\xb1\xab\xa6" // U+F1AE6 timer-remove, aliases: stopwatch-remove, tags: Date / Time +#define ICON_MD_TIMER_REMOVE_OUTLINE "\xf3\xb1\xab\xa7" // U+F1AE7 timer-remove-outline, aliases: stopwatch-remove-outline, tags: Date / Time +#define ICON_MD_TIMER_SAND "\xf3\xb0\x94\x9f" // U+F051F timer-sand, aliases: hourglass, tags: Date / Time +#define ICON_MD_TIMER_SAND_COMPLETE "\xf3\xb1\xa6\x9f" // U+F199F timer-sand-complete, aliases: hourglass-complete, tags: Date / Time +#define ICON_MD_TIMER_SAND_EMPTY "\xf3\xb0\x9a\xad" // U+F06AD timer-sand-empty, aliases: hourglass-empty, tags: Date / Time +#define ICON_MD_TIMER_SAND_FULL "\xf3\xb0\x9e\x8c" // U+F078C timer-sand-full, aliases: hourglass-full, tags: Date / Time +#define ICON_MD_TIMER_SAND_PAUSED "\xf3\xb1\xa6\xa0" // U+F19A0 timer-sand-paused, aliases: hourglass-paused, tags: Date / Time +#define ICON_MD_TIMER_SETTINGS "\xf3\xb1\xa4\xa3" // U+F1923 timer-settings, tags: Date / Time, Settings +#define ICON_MD_TIMER_SETTINGS_OUTLINE "\xf3\xb1\xa4\xa4" // U+F1924 timer-settings-outline, tags: Date / Time, Settings +#define ICON_MD_TIMER_STAR \ + "\xf3\xb1\xab\xa8" // U+F1AE8 timer-star, aliases: timer-favorite, stopwatch-star, stopwatch-favorite, tags: Date / + // Time +#define ICON_MD_TIMER_STAR_OUTLINE \ + "\xf3\xb1\xab\xa9" // U+F1AE9 timer-star-outline, aliases: timer-favorite-outline, stopwatch-star-outline, + // stopwatch-favorite-outline, tags: Date / Time +#define ICON_MD_TIMER_STOP "\xf3\xb1\xab\xaa" // U+F1AEA timer-stop, aliases: stopwatch-stop, tags: Date / Time +#define ICON_MD_TIMER_STOP_OUTLINE "\xf3\xb1\xab\xab" // U+F1AEB timer-stop-outline, aliases: stopwatch-stop-outline, tags: Date / Time +#define ICON_MD_TIMER_SYNC "\xf3\xb1\xab\xac" // U+F1AEC timer-sync, aliases: stopwatch-sync, tags: Date / Time +#define ICON_MD_TIMER_SYNC_OUTLINE "\xf3\xb1\xab\xad" // U+F1AED timer-sync-outline, aliases: stopwatch-sync-outline, tags: Date / Time +#define ICON_MD_TIMETABLE "\xf3\xb0\x94\xa0" // U+F0520 timetable, tags: Date / Time +#define ICON_MD_TIRE "\xf3\xb1\xa2\x96" // U+F1896 tire, aliases: tyre, wheel, tags: Automotive, Agriculture +#define ICON_MD_TOASTER "\xf3\xb1\x81\xa3" // U+F1063 toaster, tags: Home Automation +#define ICON_MD_TOASTER_OFF "\xf3\xb1\x86\xb7" // U+F11B7 toaster-off, tags: Home Automation +#define ICON_MD_TOASTER_OVEN "\xf3\xb0\xb3\x93" // U+F0CD3 toaster-oven, tags: Home Automation, Food / Drink +#define ICON_MD_TOGGLE_SWITCH "\xf3\xb0\x94\xa1" // U+F0521 toggle-switch +#define ICON_MD_TOGGLE_SWITCH_OFF "\xf3\xb0\x94\xa2" // U+F0522 toggle-switch-off +#define ICON_MD_TOGGLE_SWITCH_OFF_OUTLINE "\xf3\xb0\xa8\x99" // U+F0A19 toggle-switch-off-outline +#define ICON_MD_TOGGLE_SWITCH_OUTLINE "\xf3\xb0\xa8\x9a" // U+F0A1A toggle-switch-outline +#define ICON_MD_TOGGLE_SWITCH_VARIANT "\xf3\xb1\xa8\xa5" // U+F1A25 toggle-switch-variant, aliases: light-switch-on, tags: Home Automation +#define ICON_MD_TOGGLE_SWITCH_VARIANT_OFF \ + "\xf3\xb1\xa8\xa6" // U+F1A26 toggle-switch-variant-off, aliases: light-switch-off, rocker-switch-off, tags: Home + // Automation +#define ICON_MD_TOILET "\xf3\xb0\xa6\xab" // U+F09AB toilet, aliases: bathroom, lavatory, bidet, tags: Home Automation +#define ICON_MD_TOOLBOX "\xf3\xb0\xa6\xac" // U+F09AC toolbox, tags: Hardware / Tools +#define ICON_MD_TOOLBOX_OUTLINE "\xf3\xb0\xa6\xad" // U+F09AD toolbox-outline, aliases: service-toolbox, tags: Hardware / Tools +#define ICON_MD_TOOLS "\xf3\xb1\x81\xa4" // U+F1064 tools, aliases: wrench, screwdriver, tags: Hardware / Tools +#define ICON_MD_TOOLTIP "\xf3\xb0\x94\xa3" // U+F0523 tooltip, tags: Tooltip +#define ICON_MD_TOOLTIP_ACCOUNT \ + "\xf3\xb0\x80\x8c" // U+F000C tooltip-account, aliases: tooltip-user, tooltip-person, account-location, tags: + // Account / User, Tooltip +#define ICON_MD_TOOLTIP_CELLPHONE \ + "\xf3\xb1\xa0\xbb" // U+F183B tooltip-cellphone, aliases: cellphone-location, cellphone-gps, find-my-phone, tags: + // Cellphone / Phone, Tooltip +#define ICON_MD_TOOLTIP_CHECK "\xf3\xb1\x95\x9c" // U+F155C tooltip-check, tags: Tooltip +#define ICON_MD_TOOLTIP_CHECK_OUTLINE "\xf3\xb1\x95\x9d" // U+F155D tooltip-check-outline, tags: Tooltip +#define ICON_MD_TOOLTIP_EDIT "\xf3\xb0\x94\xa4" // U+F0524 tooltip-edit, tags: Tooltip, Edit / Modify +#define ICON_MD_TOOLTIP_EDIT_OUTLINE "\xf3\xb1\x8b\x85" // U+F12C5 tooltip-edit-outline, tags: Edit / Modify, Tooltip +#define ICON_MD_TOOLTIP_IMAGE "\xf3\xb0\x94\xa5" // U+F0525 tooltip-image, tags: Tooltip +#define ICON_MD_TOOLTIP_IMAGE_OUTLINE "\xf3\xb0\xaf\x95" // U+F0BD5 tooltip-image-outline, tags: Tooltip +#define ICON_MD_TOOLTIP_MINUS "\xf3\xb1\x95\x9e" // U+F155E tooltip-minus, tags: Tooltip +#define ICON_MD_TOOLTIP_MINUS_OUTLINE "\xf3\xb1\x95\x9f" // U+F155F tooltip-minus-outline, tags: Tooltip +#define ICON_MD_TOOLTIP_OUTLINE "\xf3\xb0\x94\xa6" // U+F0526 tooltip-outline, tags: Tooltip +#define ICON_MD_TOOLTIP_PLUS "\xf3\xb0\xaf\x96" // U+F0BD6 tooltip-plus, aliases: tooltip-add, tags: Tooltip +#define ICON_MD_TOOLTIP_PLUS_OUTLINE \ + "\xf3\xb0\x94\xa7" // U+F0527 tooltip-plus-outline, aliases: tooltip-outline-plus, tooltip-add-outline, tags: + // Tooltip +#define ICON_MD_TOOLTIP_REMOVE "\xf3\xb1\x95\xa0" // U+F1560 tooltip-remove, tags: Tooltip +#define ICON_MD_TOOLTIP_REMOVE_OUTLINE "\xf3\xb1\x95\xa1" // U+F1561 tooltip-remove-outline, tags: Tooltip +#define ICON_MD_TOOLTIP_TEXT "\xf3\xb0\x94\xa8" // U+F0528 tooltip-text, tags: Tooltip +#define ICON_MD_TOOLTIP_TEXT_OUTLINE "\xf3\xb0\xaf\x97" // U+F0BD7 tooltip-text-outline, tags: Tooltip +#define ICON_MD_TOOTH "\xf3\xb0\xa3\x83" // U+F08C3 tooth, aliases: dentist, tags: Medical / Hospital +#define ICON_MD_TOOTH_OUTLINE "\xf3\xb0\x94\xa9" // U+F0529 tooth-outline, tags: Medical / Hospital +#define ICON_MD_TOOTHBRUSH "\xf3\xb1\x84\xa9" // U+F1129 toothbrush, aliases: dentist, oral-hygiene, tags: Medical / Hospital +#define ICON_MD_TOOTHBRUSH_ELECTRIC "\xf3\xb1\x84\xac" // U+F112C toothbrush-electric, aliases: dentist, oral-hygiene, tags: Medical / Hospital +#define ICON_MD_TOOTHBRUSH_PASTE "\xf3\xb1\x84\xaa" // U+F112A toothbrush-paste, aliases: dentist, oral-hygiene, tags: Medical / Hospital +#define ICON_MD_TORCH "\xf3\xb1\x98\x86" // U+F1606 torch, aliases: olympics, tags: Sport +#define ICON_MD_TORTOISE "\xf3\xb0\xb4\xbb" // U+F0D3B tortoise, aliases: turtle, reptile, tags: Animal +#define ICON_MD_TOSLINK "\xf3\xb1\x8a\xb8" // U+F12B8 toslink, aliases: optical-audio, tags: Audio +#define ICON_MD_TOURNAMENT "\xf3\xb0\xa6\xae" // U+F09AE tournament, aliases: bracket, tags: Gaming / RPG, Sport +#define ICON_MD_TOW_TRUCK "\xf3\xb0\xa0\xbc" // U+F083C tow-truck, aliases: auto-towing, truck, tags: Transportation + Road +#define ICON_MD_TOWER_BEACH "\xf3\xb0\x9a\x81" // U+F0681 tower-beach +#define ICON_MD_TOWER_FIRE "\xf3\xb0\x9a\x82" // U+F0682 tower-fire +#define ICON_MD_TOWN_HALL "\xf3\xb1\xa1\xb5" // U+F1875 town-hall, aliases: school, tags: Places +#define ICON_MD_TOY_BRICK "\xf3\xb1\x8a\x88" // U+F1288 toy-brick, aliases: lego, plugin, extension +#define ICON_MD_TOY_BRICK_MARKER \ + "\xf3\xb1\x8a\x89" // U+F1289 toy-brick-marker, aliases: lego, plugin, extension, lego-location, toy-brick-location, + // tags: Navigation +#define ICON_MD_TOY_BRICK_MARKER_OUTLINE \ + "\xf3\xb1\x8a\x8a" // U+F128A toy-brick-marker-outline, aliases: extension-outline, lego-location-outline, + // toy-brick-location-outline, plugin-outline, lego-outline, tags: Navigation +#define ICON_MD_TOY_BRICK_MINUS "\xf3\xb1\x8a\x8b" // U+F128B toy-brick-minus, aliases: lego, plugin, extension +#define ICON_MD_TOY_BRICK_MINUS_OUTLINE "\xf3\xb1\x8a\x8c" // U+F128C toy-brick-minus-outline, aliases: lego, plugin, extension +#define ICON_MD_TOY_BRICK_OUTLINE "\xf3\xb1\x8a\x8d" // U+F128D toy-brick-outline, aliases: lego, plugin, extension +#define ICON_MD_TOY_BRICK_PLUS "\xf3\xb1\x8a\x8e" // U+F128E toy-brick-plus, aliases: lego, plugin, extension +#define ICON_MD_TOY_BRICK_PLUS_OUTLINE "\xf3\xb1\x8a\x8f" // U+F128F toy-brick-plus-outline, aliases: lego, plugin, extension +#define ICON_MD_TOY_BRICK_REMOVE "\xf3\xb1\x8a\x90" // U+F1290 toy-brick-remove, aliases: lego, plugin, extension +#define ICON_MD_TOY_BRICK_REMOVE_OUTLINE "\xf3\xb1\x8a\x91" // U+F1291 toy-brick-remove-outline, aliases: lego, plugin, extension +#define ICON_MD_TOY_BRICK_SEARCH "\xf3\xb1\x8a\x92" // U+F1292 toy-brick-search, aliases: lego, plugin, extension +#define ICON_MD_TOY_BRICK_SEARCH_OUTLINE "\xf3\xb1\x8a\x93" // U+F1293 toy-brick-search-outline, aliases: lego, plugin, extension +#define ICON_MD_TRACK_LIGHT "\xf3\xb0\xa4\x94" // U+F0914 track-light, tags: Home Automation +#define ICON_MD_TRACK_LIGHT_OFF "\xf3\xb1\xac\x81" // U+F1B01 track-light-off +#define ICON_MD_TRACKPAD "\xf3\xb0\x9f\xb8" // U+F07F8 trackpad +#define ICON_MD_TRACKPAD_LOCK "\xf3\xb0\xa4\xb3" // U+F0933 trackpad-lock, tags: Lock +#define ICON_MD_TRACTOR "\xf3\xb0\xa2\x92" // U+F0892 tractor, aliases: farm, tags: Agriculture, Transportation + Road +#define ICON_MD_TRACTOR_VARIANT "\xf3\xb1\x93\x84" // U+F14C4 tractor-variant, aliases: agriculture, tags: Agriculture +#define ICON_MD_TRADEMARK "\xf3\xb0\xa9\xb8" // U+F0A78 trademark, aliases: tm +#define ICON_MD_TRAFFIC_CONE "\xf3\xb1\x8d\xbc" // U+F137C traffic-cone, tags: Transportation + Road +#define ICON_MD_TRAFFIC_LIGHT "\xf3\xb0\x94\xab" // U+F052B traffic-light, aliases: traffic-signal, stop-light, tags: Transportation + Road +#define ICON_MD_TRAFFIC_LIGHT_OUTLINE \ + "\xf3\xb1\xa0\xaa" // U+F182A traffic-light-outline, aliases: traffic-signal-outline, stop-light-outline, tags: + // Transportation + Road +#define ICON_MD_TRAIN \ + "\xf3\xb0\x94\xac" // U+F052C train, aliases: directions-railway, locomotive, railroad, tags: Navigation, + // Transportation + Other +#define ICON_MD_TRAIN_CAR "\xf3\xb0\xaf\x98" // U+F0BD8 train-car, aliases: commute, transportation, travel, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_AUTORACK "\xf3\xb1\xac\xad" // U+F1B2D train-car-autorack, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_BOX "\xf3\xb1\xac\xae" // U+F1B2E train-car-box, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_BOX_FULL "\xf3\xb1\xac\xaf" // U+F1B2F train-car-box-full, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_BOX_OPEN "\xf3\xb1\xac\xb0" // U+F1B30 train-car-box-open, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_CABOOSE "\xf3\xb1\xac\xb1" // U+F1B31 train-car-caboose, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_CENTERBEAM "\xf3\xb1\xac\xb2" // U+F1B32 train-car-centerbeam, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_CENTERBEAM_FULL "\xf3\xb1\xac\xb3" // U+F1B33 train-car-centerbeam-full, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_CONTAINER "\xf3\xb1\xac\xb4" // U+F1B34 train-car-container, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_FLATBED "\xf3\xb1\xac\xb5" // U+F1B35 train-car-flatbed, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_FLATBED_CAR "\xf3\xb1\xac\xb6" // U+F1B36 train-car-flatbed-car, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_FLATBED_TANK "\xf3\xb1\xac\xb7" // U+F1B37 train-car-flatbed-tank, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_GONDOLA "\xf3\xb1\xac\xb8" // U+F1B38 train-car-gondola, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_GONDOLA_FULL "\xf3\xb1\xac\xb9" // U+F1B39 train-car-gondola-full, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_HOPPER "\xf3\xb1\xac\xba" // U+F1B3A train-car-hopper, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_HOPPER_COVERED "\xf3\xb1\xac\xbb" // U+F1B3B train-car-hopper-covered, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_HOPPER_FULL "\xf3\xb1\xac\xbc" // U+F1B3C train-car-hopper-full, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_INTERMODAL "\xf3\xb1\xac\xbd" // U+F1B3D train-car-intermodal, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_PASSENGER "\xf3\xb1\x9c\xb3" // U+F1733 train-car-passenger, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_PASSENGER_DOOR "\xf3\xb1\x9c\xb4" // U+F1734 train-car-passenger-door, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_PASSENGER_DOOR_OPEN "\xf3\xb1\x9c\xb5" // U+F1735 train-car-passenger-door-open, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_PASSENGER_VARIANT "\xf3\xb1\x9c\xb6" // U+F1736 train-car-passenger-variant, tags: Transportation + Other +#define ICON_MD_TRAIN_CAR_TANK "\xf3\xb1\xac\xbe" // U+F1B3E train-car-tank, tags: Transportation + Other +#define ICON_MD_TRAIN_VARIANT \ + "\xf3\xb0\xa3\x84" // U+F08C4 train-variant, aliases: locomotive-variant, railroad-variant, tags: Transportation + + // Other +#define ICON_MD_TRAM "\xf3\xb0\x94\xad" // U+F052D tram, tags: Navigation, Transportation + Other +#define ICON_MD_TRAM_SIDE "\xf3\xb0\xbf\xa7" // U+F0FE7 tram-side, tags: Transportation + Other +#define ICON_MD_TRANSCRIBE "\xf3\xb0\x94\xae" // U+F052E transcribe +#define ICON_MD_TRANSCRIBE_CLOSE "\xf3\xb0\x94\xaf" // U+F052F transcribe-close +#define ICON_MD_TRANSFER "\xf3\xb1\x81\xa5" // U+F1065 transfer +#define ICON_MD_TRANSFER_DOWN "\xf3\xb0\xb6\xa1" // U+F0DA1 transfer-down, tags: Arrow +#define ICON_MD_TRANSFER_LEFT "\xf3\xb0\xb6\xa2" // U+F0DA2 transfer-left, tags: Arrow +#define ICON_MD_TRANSFER_RIGHT "\xf3\xb0\x94\xb0" // U+F0530 transfer-right, tags: Arrow +#define ICON_MD_TRANSFER_UP "\xf3\xb0\xb6\xa3" // U+F0DA3 transfer-up, tags: Arrow +#define ICON_MD_TRANSIT_CONNECTION "\xf3\xb0\xb4\xbc" // U+F0D3C transit-connection, tags: Transportation + Other, Navigation +#define ICON_MD_TRANSIT_CONNECTION_HORIZONTAL "\xf3\xb1\x95\x86" // U+F1546 transit-connection-horizontal, tags: Transportation + Other +#define ICON_MD_TRANSIT_CONNECTION_VARIANT "\xf3\xb0\xb4\xbd" // U+F0D3D transit-connection-variant, tags: Transportation + Other, Navigation +#define ICON_MD_TRANSIT_DETOUR "\xf3\xb0\xbe\x8b" // U+F0F8B transit-detour, tags: Transportation + Other, Navigation +#define ICON_MD_TRANSIT_SKIP "\xf3\xb1\x94\x95" // U+F1515 transit-skip, tags: Transportation + Other +#define ICON_MD_TRANSIT_TRANSFER \ + "\xf3\xb0\x9a\xae" // U+F06AE transit-transfer, aliases: transfer-within-a-station, tags: Transportation + Other, + // Navigation +#define ICON_MD_TRANSITION "\xf3\xb0\xa4\x95" // U+F0915 transition, aliases: animation, motion, translate +#define ICON_MD_TRANSITION_MASKED "\xf3\xb0\xa4\x96" // U+F0916 transition-masked, aliases: masked-transitions +#define ICON_MD_TRANSLATE "\xf3\xb0\x97\x8a" // U+F05CA translate, aliases: language +#define ICON_MD_TRANSLATE_OFF "\xf3\xb0\xb8\x86" // U+F0E06 translate-off +#define ICON_MD_TRANSLATE_VARIANT "\xf3\xb1\xae\x99" // U+F1B99 translate-variant, aliases: spoken-language, tags: Developer / Languages +#define ICON_MD_TRANSMISSION_TOWER \ + "\xf3\xb0\xb4\xbe" // U+F0D3E transmission-tower, aliases: pylon, powerline, electricity, energy, power, grid, tags: + // Home Automation +#define ICON_MD_TRANSMISSION_TOWER_EXPORT \ + "\xf3\xb1\xa4\xac" // U+F192C transmission-tower-export, aliases: power-from-grid, energy-from-grid, + // electricity-from-grid, tags: Home Automation +#define ICON_MD_TRANSMISSION_TOWER_IMPORT \ + "\xf3\xb1\xa4\xad" // U+F192D transmission-tower-import, aliases: power-to-grid, energy-to-grid, + // electricity-to-grid, return-to-grid, tags: Home Automation +#define ICON_MD_TRANSMISSION_TOWER_OFF \ + "\xf3\xb1\xa7\x9d" // U+F19DD transmission-tower-off, aliases: powerline-off, pylon-off, grid-off, tags: Home + // Automation +#define ICON_MD_TRASH_CAN "\xf3\xb0\xa9\xb9" // U+F0A79 trash-can, aliases: delete, rubbish-bin, trashcan, garbage-can +#define ICON_MD_TRASH_CAN_OUTLINE \ + "\xf3\xb0\xa9\xba" // U+F0A7A trash-can-outline, aliases: delete-outline, rubbish-bin-outline, trashcan-outline, + // garbage-can-outline +#define ICON_MD_TRAY "\xf3\xb1\x8a\x94" // U+F1294 tray, aliases: queue, printer, inbox +#define ICON_MD_TRAY_ALERT "\xf3\xb1\x8a\x95" // U+F1295 tray-alert, aliases: queue, printer, inbox, tags: Alert / Error +#define ICON_MD_TRAY_ARROW_DOWN "\xf3\xb0\x84\xa0" // U+F0120 tray-arrow-down, aliases: tray-download, tags: Arrow +#define ICON_MD_TRAY_ARROW_UP "\xf3\xb0\x84\x9d" // U+F011D tray-arrow-up, aliases: tray-upload, tags: Arrow +#define ICON_MD_TRAY_FULL "\xf3\xb1\x8a\x96" // U+F1296 tray-full, aliases: queue, printer, inbox +#define ICON_MD_TRAY_MINUS "\xf3\xb1\x8a\x97" // U+F1297 tray-minus, aliases: queue, printer, inbox +#define ICON_MD_TRAY_PLUS "\xf3\xb1\x8a\x98" // U+F1298 tray-plus, aliases: queue, printer, inbox +#define ICON_MD_TRAY_REMOVE "\xf3\xb1\x8a\x99" // U+F1299 tray-remove, aliases: queue, printer, inbox +#define ICON_MD_TREASURE_CHEST "\xf3\xb0\x9c\xa6" // U+F0726 treasure-chest, tags: Gaming / RPG +#define ICON_MD_TREE "\xf3\xb0\x94\xb1" // U+F0531 tree, aliases: plant, tags: Nature +#define ICON_MD_TREE_OUTLINE "\xf3\xb0\xb9\xa9" // U+F0E69 tree-outline, aliases: plant, tags: Nature +#define ICON_MD_TRELLO "\xf3\xb0\x94\xb2" // U+F0532 trello, tags: Brand / Logo +#define ICON_MD_TRENDING_DOWN "\xf3\xb0\x94\xb3" // U+F0533 trending-down +#define ICON_MD_TRENDING_NEUTRAL "\xf3\xb0\x94\xb4" // U+F0534 trending-neutral, aliases: trending-flat +#define ICON_MD_TRENDING_UP "\xf3\xb0\x94\xb5" // U+F0535 trending-up +#define ICON_MD_TRIANGLE "\xf3\xb0\x94\xb6" // U+F0536 triangle, tags: Shape +#define ICON_MD_TRIANGLE_OUTLINE "\xf3\xb0\x94\xb7" // U+F0537 triangle-outline, tags: Shape +#define ICON_MD_TRIANGLE_SMALL_DOWN "\xf3\xb1\xa8\x89" // U+F1A09 triangle-small-down, aliases: trending-down-variant, tags: Shape +#define ICON_MD_TRIANGLE_SMALL_UP "\xf3\xb1\xa8\x8a" // U+F1A0A triangle-small-up, aliases: trending-up-variant, tags: Shape +#define ICON_MD_TRIANGLE_WAVE "\xf3\xb1\x91\xbc" // U+F147C triangle-wave, tags: Audio +#define ICON_MD_TRIFORCE "\xf3\xb0\xaf\x99" // U+F0BD9 triforce, aliases: zelda, tags: Gaming / RPG +#define ICON_MD_TROPHY "\xf3\xb0\x94\xb8" // U+F0538 trophy, aliases: achievement, tags: Sport +#define ICON_MD_TROPHY_AWARD "\xf3\xb0\x94\xb9" // U+F0539 trophy-award, aliases: achievement-award, tags: Sport +#define ICON_MD_TROPHY_BROKEN "\xf3\xb0\xb6\xa4" // U+F0DA4 trophy-broken, tags: Sport +#define ICON_MD_TROPHY_OUTLINE "\xf3\xb0\x94\xba" // U+F053A trophy-outline, aliases: achievement-outline, tags: Sport +#define ICON_MD_TROPHY_VARIANT "\xf3\xb0\x94\xbb" // U+F053B trophy-variant, aliases: achievement-variant, tags: Sport +#define ICON_MD_TROPHY_VARIANT_OUTLINE "\xf3\xb0\x94\xbc" // U+F053C trophy-variant-outline, aliases: achievement-variant-outline, tags: Sport +#define ICON_MD_TRUCK "\xf3\xb0\x94\xbd" // U+F053D truck, aliases: lorry, local-shipping, courier, tags: Transportation + Road +#define ICON_MD_TRUCK_ALERT "\xf3\xb1\xa7\x9e" // U+F19DE truck-alert, aliases: truck-error, tags: Transportation + Road, Alert / Error +#define ICON_MD_TRUCK_ALERT_OUTLINE \ + "\xf3\xb1\xa7\x9f" // U+F19DF truck-alert-outline, aliases: truck-error-outline, tags: Transportation + Road, Alert + // / Error +#define ICON_MD_TRUCK_CARGO_CONTAINER "\xf3\xb1\xa3\x98" // U+F18D8 truck-cargo-container, aliases: truck-shipping, tags: Transportation + Road +#define ICON_MD_TRUCK_CHECK \ + "\xf3\xb0\xb3\x94" // U+F0CD4 truck-check, aliases: truck-tick, lorry-check, courier-check, tags: Transportation + + // Road +#define ICON_MD_TRUCK_CHECK_OUTLINE "\xf3\xb1\x8a\x9a" // U+F129A truck-check-outline, tags: Transportation + Road +#define ICON_MD_TRUCK_DELIVERY "\xf3\xb0\x94\xbe" // U+F053E truck-delivery, aliases: lorry-delivery, tags: Transportation + Road +#define ICON_MD_TRUCK_DELIVERY_OUTLINE "\xf3\xb1\x8a\x9b" // U+F129B truck-delivery-outline, tags: Transportation + Road +#define ICON_MD_TRUCK_FAST "\xf3\xb0\x9e\x88" // U+F0788 truck-fast, aliases: lorry-fast, courier-fast, tags: Transportation + Road +#define ICON_MD_TRUCK_FAST_OUTLINE "\xf3\xb1\x8a\x9c" // U+F129C truck-fast-outline, tags: Transportation + Road +#define ICON_MD_TRUCK_FLATBED "\xf3\xb1\xa2\x91" // U+F1891 truck-flatbed, aliases: truck-flatbed-tow, tags: Automotive, Transportation + Road +#define ICON_MD_TRUCK_MINUS "\xf3\xb1\xa6\xae" // U+F19AE truck-minus, aliases: truck-subtract, tags: Transportation + Road +#define ICON_MD_TRUCK_MINUS_OUTLINE "\xf3\xb1\xa6\xbd" // U+F19BD truck-minus-outline, aliases: truck-subtract-outline, tags: Transportation + Road +#define ICON_MD_TRUCK_OUTLINE "\xf3\xb1\x8a\x9d" // U+F129D truck-outline, tags: Transportation + Road +#define ICON_MD_TRUCK_PLUS "\xf3\xb1\xa6\xad" // U+F19AD truck-plus, aliases: truck-add, tags: Transportation + Road, Medical / Hospital +#define ICON_MD_TRUCK_PLUS_OUTLINE \ + "\xf3\xb1\xa6\xbc" // U+F19BC truck-plus-outline, aliases: truck-add-outline, tags: Transportation + Road, Medical / + // Hospital +#define ICON_MD_TRUCK_REMOVE "\xf3\xb1\xa6\xaf" // U+F19AF truck-remove, tags: Transportation + Road +#define ICON_MD_TRUCK_REMOVE_OUTLINE "\xf3\xb1\xa6\xbe" // U+F19BE truck-remove-outline, tags: Transportation + Road +#define ICON_MD_TRUCK_SNOWFLAKE \ + "\xf3\xb1\xa6\xa6" // U+F19A6 truck-snowflake, aliases: truck-refrigerator, truck-freezer, tags: Transportation + + // Road +#define ICON_MD_TRUCK_TRAILER "\xf3\xb0\x9c\xa7" // U+F0727 truck-trailer, tags: Transportation + Road +#define ICON_MD_TRUMPET "\xf3\xb1\x82\x96" // U+F1096 trumpet, tags: Music +#define ICON_MD_TSHIRT_CREW "\xf3\xb0\xa9\xbb" // U+F0A7B tshirt-crew, aliases: t-shirt-crew, tags: Clothing +#define ICON_MD_TSHIRT_CREW_OUTLINE "\xf3\xb0\x94\xbf" // U+F053F tshirt-crew-outline, aliases: t-shirt-crew-outline, tags: Clothing +#define ICON_MD_TSHIRT_V "\xf3\xb0\xa9\xbc" // U+F0A7C tshirt-v, aliases: t-shirt-v, tags: Clothing +#define ICON_MD_TSHIRT_V_OUTLINE "\xf3\xb0\x95\x80" // U+F0540 tshirt-v-outline, aliases: t-shirt-v-outline, tags: Clothing +#define ICON_MD_TSUNAMI "\xf3\xb1\xaa\x81" // U+F1A81 tsunami, tags: Nature, Weather +#define ICON_MD_TUMBLE_DRYER "\xf3\xb0\xa4\x97" // U+F0917 tumble-dryer, aliases: laundry-room, tags: Home Automation +#define ICON_MD_TUMBLE_DRYER_ALERT "\xf3\xb1\x86\xba" // U+F11BA tumble-dryer-alert, aliases: laundry-room-alert, tags: Home Automation, Alert / Error +#define ICON_MD_TUMBLE_DRYER_OFF "\xf3\xb1\x86\xbb" // U+F11BB tumble-dryer-off, aliases: laundry-room-off, tags: Home Automation +#define ICON_MD_TUNE "\xf3\xb0\x98\xae" // U+F062E tune, aliases: mixer-settings, equaliser, settings, tags: Settings, Audio +#define ICON_MD_TUNE_VARIANT "\xf3\xb1\x95\x82" // U+F1542 tune-variant, aliases: settings, equalizer, tags: Audio, Settings +#define ICON_MD_TUNE_VERTICAL \ + "\xf3\xb0\x99\xaa" // U+F066A tune-vertical, aliases: equaliser-vertical, instant-mix, settings-vertical, + // mixer-settings-vertical, tags: Settings, Audio +#define ICON_MD_TUNE_VERTICAL_VARIANT \ + "\xf3\xb1\x95\x83" // U+F1543 tune-vertical-variant, aliases: settings-vertical, equalizer-vertical, tags: Audio, + // Settings +#define ICON_MD_TUNNEL "\xf3\xb1\xa0\xbd" // U+F183D tunnel, tags: Transportation + Road, Transportation + Other +#define ICON_MD_TUNNEL_OUTLINE "\xf3\xb1\xa0\xbe" // U+F183E tunnel-outline, tags: Transportation + Road, Transportation + Other +#define ICON_MD_TURBINE "\xf3\xb1\xaa\x82" // U+F1A82 turbine, aliases: jet-engine, wind-turbine, tags: Transportation + Flying +#define ICON_MD_TURKEY "\xf3\xb1\x9c\x9b" // U+F171B turkey, aliases: thanksgiving, tags: Animal, Holiday, Agriculture +#define ICON_MD_TURNSTILE "\xf3\xb0\xb3\x95" // U+F0CD5 turnstile +#define ICON_MD_TURNSTILE_OUTLINE "\xf3\xb0\xb3\x96" // U+F0CD6 turnstile-outline +#define ICON_MD_TURTLE "\xf3\xb0\xb3\x97" // U+F0CD7 turtle, aliases: reptile, tags: Animal +#define ICON_MD_TWITCH "\xf3\xb0\x95\x83" // U+F0543 twitch, tags: Social Media, Brand / Logo +#define ICON_MD_TWITTER "\xf3\xb0\x95\x84" // U+F0544 twitter, tags: Brand / Logo, Social Media +#define ICON_MD_TWO_FACTOR_AUTHENTICATION "\xf3\xb0\xa6\xaf" // U+F09AF two-factor-authentication +#define ICON_MD_TYPEWRITER "\xf3\xb0\xbc\xad" // U+F0F2D typewriter +#define ICON_MD_UBISOFT "\xf3\xb0\xaf\x9a" // U+F0BDA ubisoft, aliases: uplay, tags: Brand / Logo, Gaming / RPG +#define ICON_MD_UBUNTU "\xf3\xb0\x95\x88" // U+F0548 ubuntu, tags: Brand / Logo +#define ICON_MD_UFO "\xf3\xb1\x83\x84" // U+F10C4 ufo, aliases: unidentified-flying-object, alien +#define ICON_MD_UFO_OUTLINE "\xf3\xb1\x83\x85" // U+F10C5 ufo-outline, aliases: unidentified-flying-object-outline, alien +#define ICON_MD_ULTRA_HIGH_DEFINITION "\xf3\xb0\x9f\xb9" // U+F07F9 ultra-high-definition, aliases: uhd, tags: Video / Movie +#define ICON_MD_UMBRACO "\xf3\xb0\x95\x89" // U+F0549 umbraco, tags: Brand / Logo +#define ICON_MD_UMBRELLA "\xf3\xb0\x95\x8a" // U+F054A umbrella, tags: Weather +#define ICON_MD_UMBRELLA_BEACH "\xf3\xb1\xa2\x8a" // U+F188A umbrella-beach, tags: Weather +#define ICON_MD_UMBRELLA_BEACH_OUTLINE "\xf3\xb1\xa2\x8b" // U+F188B umbrella-beach-outline, tags: Weather +#define ICON_MD_UMBRELLA_CLOSED "\xf3\xb0\xa6\xb0" // U+F09B0 umbrella-closed, tags: Weather +#define ICON_MD_UMBRELLA_CLOSED_OUTLINE "\xf3\xb1\x8f\xa2" // U+F13E2 umbrella-closed-outline, tags: Weather +#define ICON_MD_UMBRELLA_CLOSED_VARIANT "\xf3\xb1\x8f\xa1" // U+F13E1 umbrella-closed-variant, tags: Weather +#define ICON_MD_UMBRELLA_OUTLINE "\xf3\xb0\x95\x8b" // U+F054B umbrella-outline, tags: Weather +#define ICON_MD_UNDO "\xf3\xb0\x95\x8c" // U+F054C undo, aliases: arrow +#define ICON_MD_UNDO_VARIANT "\xf3\xb0\x95\x8d" // U+F054D undo-variant, aliases: arrow +#define ICON_MD_UNFOLD_LESS_HORIZONTAL "\xf3\xb0\x95\x8e" // U+F054E unfold-less-horizontal, aliases: chevron-down-up, collapse-horizontal +#define ICON_MD_UNFOLD_LESS_VERTICAL "\xf3\xb0\x9d\xa0" // U+F0760 unfold-less-vertical, aliases: chevron-right-left, collapse-vertical +#define ICON_MD_UNFOLD_MORE_HORIZONTAL "\xf3\xb0\x95\x8f" // U+F054F unfold-more-horizontal, aliases: chevron-up-down, expand-horizontal +#define ICON_MD_UNFOLD_MORE_VERTICAL "\xf3\xb0\x9d\xa1" // U+F0761 unfold-more-vertical, aliases: chevron-left-right, expand-vertical +#define ICON_MD_UNGROUP "\xf3\xb0\x95\x90" // U+F0550 ungroup +#define ICON_MD_UNICODE "\xf3\xb0\xbb\x90" // U+F0ED0 unicode, tags: Developer / Languages, Brand / Logo +#define ICON_MD_UNICORN "\xf3\xb1\x97\x82" // U+F15C2 unicorn, aliases: fantasy, tags: Animal +#define ICON_MD_UNICORN_VARIANT "\xf3\xb1\x97\x83" // U+F15C3 unicorn-variant, aliases: fantasy-variant, tags: Animal +#define ICON_MD_UNICYCLE "\xf3\xb1\x97\xa5" // U+F15E5 unicycle, tags: Sport, Transportation + Other +#define ICON_MD_UNITY "\xf3\xb0\x9a\xaf" // U+F06AF unity, tags: Brand / Logo, Gaming / RPG +#define ICON_MD_UNREAL "\xf3\xb0\xa6\xb1" // U+F09B1 unreal, aliases: unreal-engine, tags: Brand / Logo, Gaming / RPG +#define ICON_MD_UPDATE "\xf3\xb0\x9a\xb0" // U+F06B0 update, aliases: clockwise, clock-arrow, tags: Date / Time +#define ICON_MD_UPLOAD "\xf3\xb0\x95\x92" // U+F0552 upload, aliases: file-upload +#define ICON_MD_UPLOAD_LOCK "\xf3\xb1\x8d\xb3" // U+F1373 upload-lock, tags: Lock +#define ICON_MD_UPLOAD_LOCK_OUTLINE "\xf3\xb1\x8d\xb4" // U+F1374 upload-lock-outline, tags: Lock +#define ICON_MD_UPLOAD_MULTIPLE "\xf3\xb0\xa0\xbd" // U+F083D upload-multiple, aliases: uploads +#define ICON_MD_UPLOAD_NETWORK "\xf3\xb0\x9b\xb6" // U+F06F6 upload-network +#define ICON_MD_UPLOAD_NETWORK_OUTLINE "\xf3\xb0\xb3\x98" // U+F0CD8 upload-network-outline +#define ICON_MD_UPLOAD_OFF "\xf3\xb1\x83\x86" // U+F10C6 upload-off +#define ICON_MD_UPLOAD_OFF_OUTLINE "\xf3\xb1\x83\x87" // U+F10C7 upload-off-outline +#define ICON_MD_UPLOAD_OUTLINE "\xf3\xb0\xb8\x87" // U+F0E07 upload-outline, aliases: file-upload-outline +#define ICON_MD_USB "\xf3\xb0\x95\x93" // U+F0553 usb +#define ICON_MD_USB_FLASH_DRIVE "\xf3\xb1\x8a\x9e" // U+F129E usb-flash-drive +#define ICON_MD_USB_FLASH_DRIVE_OUTLINE "\xf3\xb1\x8a\x9f" // U+F129F usb-flash-drive-outline +#define ICON_MD_USB_PORT "\xf3\xb1\x87\xb0" // U+F11F0 usb-port +#define ICON_MD_VACUUM "\xf3\xb1\xa6\xa1" // U+F19A1 vacuum, aliases: vacuum-cleaner, tags: Home Automation +#define ICON_MD_VACUUM_OUTLINE "\xf3\xb1\xa6\xa2" // U+F19A2 vacuum-outline, aliases: vacuum-cleaner-outline, tags: Home Automation +#define ICON_MD_VALVE "\xf3\xb1\x81\xa6" // U+F1066 valve, tags: Home Automation +#define ICON_MD_VALVE_CLOSED "\xf3\xb1\x81\xa7" // U+F1067 valve-closed, tags: Home Automation +#define ICON_MD_VALVE_OPEN "\xf3\xb1\x81\xa8" // U+F1068 valve-open, tags: Home Automation +#define ICON_MD_VAN_PASSENGER "\xf3\xb0\x9f\xba" // U+F07FA van-passenger, tags: Transportation + Road +#define ICON_MD_VAN_UTILITY "\xf3\xb0\x9f\xbb" // U+F07FB van-utility, aliases: van-candy, tags: Transportation + Road +#define ICON_MD_VANISH "\xf3\xb0\x9f\xbc" // U+F07FC vanish +#define ICON_MD_VANISH_QUARTER "\xf3\xb1\x95\x94" // U+F1554 vanish-quarter +#define ICON_MD_VANITY_LIGHT "\xf3\xb1\x87\xa1" // U+F11E1 vanity-light, tags: Home Automation +#define ICON_MD_VARIABLE "\xf3\xb0\xab\xa7" // U+F0AE7 variable, tags: Developer / Languages, Math +#define ICON_MD_VARIABLE_BOX "\xf3\xb1\x84\x91" // U+F1111 variable-box, tags: Developer / Languages +#define ICON_MD_VECTOR_ARRANGE_ABOVE "\xf3\xb0\x95\x94" // U+F0554 vector-arrange-above, tags: Vector, Arrange, Geographic Information System +#define ICON_MD_VECTOR_ARRANGE_BELOW "\xf3\xb0\x95\x95" // U+F0555 vector-arrange-below, tags: Vector, Arrange, Geographic Information System +#define ICON_MD_VECTOR_BEZIER "\xf3\xb0\xab\xa8" // U+F0AE8 vector-bezier, tags: Vector +#define ICON_MD_VECTOR_CIRCLE "\xf3\xb0\x95\x96" // U+F0556 vector-circle, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_CIRCLE_VARIANT "\xf3\xb0\x95\x97" // U+F0557 vector-circle-variant, tags: Vector +#define ICON_MD_VECTOR_COMBINE "\xf3\xb0\x95\x98" // U+F0558 vector-combine, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_CURVE "\xf3\xb0\x95\x99" // U+F0559 vector-curve, aliases: bezier, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_DIFFERENCE "\xf3\xb0\x95\x9a" // U+F055A vector-difference, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_DIFFERENCE_AB "\xf3\xb0\x95\x9b" // U+F055B vector-difference-ab, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_DIFFERENCE_BA "\xf3\xb0\x95\x9c" // U+F055C vector-difference-ba, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_ELLIPSE "\xf3\xb0\xa2\x93" // U+F0893 vector-ellipse, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_INTERSECTION "\xf3\xb0\x95\x9d" // U+F055D vector-intersection, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_LINE "\xf3\xb0\x95\x9e" // U+F055E vector-line, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_LINK "\xf3\xb0\xbf\xa8" // U+F0FE8 vector-link, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_POINT "\xf3\xb0\x87\x84" // U+F01C4 vector-point, tags: Vector +#define ICON_MD_VECTOR_POINT_EDIT "\xf3\xb0\xa7\xa8" // U+F09E8 vector-point-edit, tags: Vector +#define ICON_MD_VECTOR_POINT_MINUS "\xf3\xb1\xad\xb8" // U+F1B78 vector-point-minus, tags: Vector +#define ICON_MD_VECTOR_POINT_PLUS "\xf3\xb1\xad\xb9" // U+F1B79 vector-point-plus, aliases: vector-point-add, tags: Vector +#define ICON_MD_VECTOR_POINT_SELECT "\xf3\xb0\x95\x9f" // U+F055F vector-point-select, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_POLYGON "\xf3\xb0\x95\xa0" // U+F0560 vector-polygon, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_POLYGON_VARIANT "\xf3\xb1\xa1\x96" // U+F1856 vector-polygon-variant, tags: Vector +#define ICON_MD_VECTOR_POLYLINE "\xf3\xb0\x95\xa1" // U+F0561 vector-polyline, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_POLYLINE_EDIT "\xf3\xb1\x88\xa5" // U+F1225 vector-polyline-edit, tags: Edit / Modify +#define ICON_MD_VECTOR_POLYLINE_MINUS "\xf3\xb1\x88\xa6" // U+F1226 vector-polyline-minus +#define ICON_MD_VECTOR_POLYLINE_PLUS "\xf3\xb1\x88\xa7" // U+F1227 vector-polyline-plus +#define ICON_MD_VECTOR_POLYLINE_REMOVE "\xf3\xb1\x88\xa8" // U+F1228 vector-polyline-remove +#define ICON_MD_VECTOR_RADIUS "\xf3\xb0\x9d\x8a" // U+F074A vector-radius, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_RECTANGLE "\xf3\xb0\x97\x86" // U+F05C6 vector-rectangle, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_SELECTION "\xf3\xb0\x95\xa2" // U+F0562 vector-selection, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_SQUARE "\xf3\xb0\x80\x81" // U+F0001 vector-square, aliases: mdi, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_SQUARE_CLOSE "\xf3\xb1\xa1\x97" // U+F1857 vector-square-close, tags: Vector +#define ICON_MD_VECTOR_SQUARE_EDIT "\xf3\xb1\xa3\x99" // U+F18D9 vector-square-edit, tags: Vector, Edit / Modify +#define ICON_MD_VECTOR_SQUARE_MINUS "\xf3\xb1\xa3\x9a" // U+F18DA vector-square-minus, aliases: vector-square-subtract, tags: Vector +#define ICON_MD_VECTOR_SQUARE_OPEN "\xf3\xb1\xa1\x98" // U+F1858 vector-square-open, tags: Vector +#define ICON_MD_VECTOR_SQUARE_PLUS "\xf3\xb1\xa3\x9b" // U+F18DB vector-square-plus, aliases: vector-square-add, tags: Vector +#define ICON_MD_VECTOR_SQUARE_REMOVE "\xf3\xb1\xa3\x9c" // U+F18DC vector-square-remove, aliases: vector-square-delete, tags: Vector +#define ICON_MD_VECTOR_TRIANGLE "\xf3\xb0\x95\xa3" // U+F0563 vector-triangle, tags: Vector, Geographic Information System +#define ICON_MD_VECTOR_UNION "\xf3\xb0\x95\xa4" // U+F0564 vector-union, tags: Vector, Geographic Information System +#define ICON_MD_VHS "\xf3\xb0\xa8\x9b" // U+F0A1B vhs, aliases: video-home-system, vhs-cassette, vhs-tape, tags: Video / Movie +#define ICON_MD_VIBRATE "\xf3\xb0\x95\xa6" // U+F0566 vibrate, aliases: vibration +#define ICON_MD_VIBRATE_OFF "\xf3\xb0\xb3\x99" // U+F0CD9 vibrate-off +#define ICON_MD_VIDEO "\xf3\xb0\x95\xa7" // U+F0567 video, aliases: videocam, tags: Video / Movie, Home Automation +#define ICON_MD_VIDEO_2D "\xf3\xb1\xa8\x9c" // U+F1A1C video-2d, tags: Video / Movie +#define ICON_MD_VIDEO_3D "\xf3\xb0\x9f\xbd" // U+F07FD video-3d, tags: Video / Movie +#define ICON_MD_VIDEO_3D_OFF "\xf3\xb1\x8f\x99" // U+F13D9 video-3d-off, tags: Video / Movie +#define ICON_MD_VIDEO_3D_VARIANT "\xf3\xb0\xbb\x91" // U+F0ED1 video-3d-variant, tags: Video / Movie +#define ICON_MD_VIDEO_4K_BOX "\xf3\xb0\xa0\xbe" // U+F083E video-4k-box, aliases: 4k, tags: Video / Movie +#define ICON_MD_VIDEO_ACCOUNT "\xf3\xb0\xa4\x99" // U+F0919 video-account, aliases: video-user, tags: Account / User, Video / Movie +#define ICON_MD_VIDEO_BOX "\xf3\xb0\x83\xbd" // U+F00FD video-box, tags: Video / Movie +#define ICON_MD_VIDEO_BOX_OFF "\xf3\xb0\x83\xbe" // U+F00FE video-box-off, tags: Video / Movie +#define ICON_MD_VIDEO_CHECK "\xf3\xb1\x81\xa9" // U+F1069 video-check, tags: Video / Movie +#define ICON_MD_VIDEO_CHECK_OUTLINE "\xf3\xb1\x81\xaa" // U+F106A video-check-outline, tags: Video / Movie +#define ICON_MD_VIDEO_HIGH_DEFINITION "\xf3\xb1\x94\xae" // U+F152E video-high-definition, tags: Video / Movie +#define ICON_MD_VIDEO_IMAGE "\xf3\xb0\xa4\x9a" // U+F091A video-image, tags: Video / Movie +#define ICON_MD_VIDEO_INPUT_ANTENNA "\xf3\xb0\xa0\xbf" // U+F083F video-input-antenna, aliases: settings-input-antenna, tags: Video / Movie +#define ICON_MD_VIDEO_INPUT_COMPONENT \ + "\xf3\xb0\xa1\x80" // U+F0840 video-input-component, aliases: video-input-composite, settings-input-component, + // settings-input-composite, video-input-ypbpr, rca, tags: Video / Movie +#define ICON_MD_VIDEO_INPUT_HDMI "\xf3\xb0\xa1\x81" // U+F0841 video-input-hdmi, aliases: settings-input-hdmi, tags: Video / Movie +#define ICON_MD_VIDEO_INPUT_SCART "\xf3\xb0\xbe\x8c" // U+F0F8C video-input-scart, tags: Video / Movie +#define ICON_MD_VIDEO_INPUT_SVIDEO "\xf3\xb0\xa1\x82" // U+F0842 video-input-svideo, aliases: settings-input-svideo, tags: Video / Movie +#define ICON_MD_VIDEO_MARKER "\xf3\xb1\xa6\xa9" // U+F19A9 video-marker, aliases: video-location, tags: Video / Movie, Navigation +#define ICON_MD_VIDEO_MARKER_OUTLINE "\xf3\xb1\xa6\xaa" // U+F19AA video-marker-outline, aliases: video-location-outline, tags: Video / Movie, Navigation +#define ICON_MD_VIDEO_MINUS "\xf3\xb0\xa6\xb2" // U+F09B2 video-minus, aliases: video-remove, tags: Video / Movie +#define ICON_MD_VIDEO_MINUS_OUTLINE "\xf3\xb0\x8a\xba" // U+F02BA video-minus-outline, tags: Video / Movie +#define ICON_MD_VIDEO_OFF "\xf3\xb0\x95\xa8" // U+F0568 video-off, aliases: videocam-off, tags: Video / Movie, Home Automation +#define ICON_MD_VIDEO_OFF_OUTLINE "\xf3\xb0\xaf\x9b" // U+F0BDB video-off-outline, aliases: videocam-off-outline, tags: Video / Movie +#define ICON_MD_VIDEO_OUTLINE "\xf3\xb0\xaf\x9c" // U+F0BDC video-outline, aliases: videocam-outline, tags: Video / Movie +#define ICON_MD_VIDEO_PLUS "\xf3\xb0\xa6\xb3" // U+F09B3 video-plus, aliases: video-call, video-add, tags: Video / Movie +#define ICON_MD_VIDEO_PLUS_OUTLINE "\xf3\xb0\x87\x93" // U+F01D3 video-plus-outline, tags: Video / Movie +#define ICON_MD_VIDEO_STABILIZATION "\xf3\xb0\xa4\x9b" // U+F091B video-stabilization, aliases: video-stabilisation, tags: Video / Movie +#define ICON_MD_VIDEO_SWITCH "\xf3\xb0\x95\xa9" // U+F0569 video-switch, aliases: switch-video, tags: Video / Movie +#define ICON_MD_VIDEO_SWITCH_OUTLINE "\xf3\xb0\x9e\x90" // U+F0790 video-switch-outline, tags: Video / Movie +#define ICON_MD_VIDEO_VINTAGE "\xf3\xb0\xa8\x9c" // U+F0A1C video-vintage, aliases: video-film, video-classic, tags: Video / Movie +#define ICON_MD_VIDEO_WIRELESS "\xf3\xb0\xbb\x92" // U+F0ED2 video-wireless, tags: Video / Movie +#define ICON_MD_VIDEO_WIRELESS_OUTLINE "\xf3\xb0\xbb\x93" // U+F0ED3 video-wireless-outline, tags: Video / Movie +#define ICON_MD_VIEW_AGENDA "\xf3\xb0\x95\xaa" // U+F056A view-agenda, tags: View +#define ICON_MD_VIEW_AGENDA_OUTLINE "\xf3\xb1\x87\x98" // U+F11D8 view-agenda-outline, tags: View +#define ICON_MD_VIEW_ARRAY "\xf3\xb0\x95\xab" // U+F056B view-array, tags: View +#define ICON_MD_VIEW_ARRAY_OUTLINE "\xf3\xb1\x92\x85" // U+F1485 view-array-outline, tags: View +#define ICON_MD_VIEW_CAROUSEL "\xf3\xb0\x95\xac" // U+F056C view-carousel, tags: View +#define ICON_MD_VIEW_CAROUSEL_OUTLINE "\xf3\xb1\x92\x86" // U+F1486 view-carousel-outline, tags: View +#define ICON_MD_VIEW_COLUMN "\xf3\xb0\x95\xad" // U+F056D view-column, tags: View +#define ICON_MD_VIEW_COLUMN_OUTLINE "\xf3\xb1\x92\x87" // U+F1487 view-column-outline, tags: View +#define ICON_MD_VIEW_COMFY "\xf3\xb0\xb9\xaa" // U+F0E6A view-comfy, tags: View +#define ICON_MD_VIEW_COMFY_OUTLINE "\xf3\xb1\x92\x88" // U+F1488 view-comfy-outline, tags: View +#define ICON_MD_VIEW_COMPACT "\xf3\xb0\xb9\xab" // U+F0E6B view-compact, tags: View +#define ICON_MD_VIEW_COMPACT_OUTLINE "\xf3\xb0\xb9\xac" // U+F0E6C view-compact-outline, tags: View +#define ICON_MD_VIEW_DASHBOARD "\xf3\xb0\x95\xae" // U+F056E view-dashboard, tags: View +#define ICON_MD_VIEW_DASHBOARD_EDIT "\xf3\xb1\xa5\x87" // U+F1947 view-dashboard-edit, tags: View, Edit / Modify +#define ICON_MD_VIEW_DASHBOARD_EDIT_OUTLINE "\xf3\xb1\xa5\x88" // U+F1948 view-dashboard-edit-outline, tags: View, Edit / Modify +#define ICON_MD_VIEW_DASHBOARD_OUTLINE "\xf3\xb0\xa8\x9d" // U+F0A1D view-dashboard-outline, tags: View +#define ICON_MD_VIEW_DASHBOARD_VARIANT "\xf3\xb0\xa1\x83" // U+F0843 view-dashboard-variant, tags: View +#define ICON_MD_VIEW_DASHBOARD_VARIANT_OUTLINE "\xf3\xb1\x92\x89" // U+F1489 view-dashboard-variant-outline, tags: View +#define ICON_MD_VIEW_DAY "\xf3\xb0\x95\xaf" // U+F056F view-day, tags: View +#define ICON_MD_VIEW_DAY_OUTLINE "\xf3\xb1\x92\x8a" // U+F148A view-day-outline, tags: View +#define ICON_MD_VIEW_GALLERY "\xf3\xb1\xa2\x88" // U+F1888 view-gallery, tags: View +#define ICON_MD_VIEW_GALLERY_OUTLINE "\xf3\xb1\xa2\x89" // U+F1889 view-gallery-outline, tags: View +#define ICON_MD_VIEW_GRID "\xf3\xb0\x95\xb0" // U+F0570 view-grid, tags: View +#define ICON_MD_VIEW_GRID_OUTLINE "\xf3\xb1\x87\x99" // U+F11D9 view-grid-outline, tags: View +#define ICON_MD_VIEW_GRID_PLUS "\xf3\xb0\xbe\x8d" // U+F0F8D view-grid-plus, aliases: view-grid-add, tags: View +#define ICON_MD_VIEW_GRID_PLUS_OUTLINE "\xf3\xb1\x87\x9a" // U+F11DA view-grid-plus-outline, tags: View +#define ICON_MD_VIEW_HEADLINE "\xf3\xb0\x95\xb1" // U+F0571 view-headline, tags: View +#define ICON_MD_VIEW_LIST "\xf3\xb0\x95\xb2" // U+F0572 view-list, tags: View +#define ICON_MD_VIEW_LIST_OUTLINE "\xf3\xb1\x92\x8b" // U+F148B view-list-outline, tags: View +#define ICON_MD_VIEW_MODULE "\xf3\xb0\x95\xb3" // U+F0573 view-module, tags: View +#define ICON_MD_VIEW_MODULE_OUTLINE "\xf3\xb1\x92\x8c" // U+F148C view-module-outline, tags: View +#define ICON_MD_VIEW_PARALLEL "\xf3\xb0\x9c\xa8" // U+F0728 view-parallel, tags: View +#define ICON_MD_VIEW_PARALLEL_OUTLINE "\xf3\xb1\x92\x8d" // U+F148D view-parallel-outline, tags: View +#define ICON_MD_VIEW_QUILT "\xf3\xb0\x95\xb4" // U+F0574 view-quilt, tags: View +#define ICON_MD_VIEW_QUILT_OUTLINE "\xf3\xb1\x92\x8e" // U+F148E view-quilt-outline, tags: View +#define ICON_MD_VIEW_SEQUENTIAL "\xf3\xb0\x9c\xa9" // U+F0729 view-sequential, tags: View +#define ICON_MD_VIEW_SEQUENTIAL_OUTLINE "\xf3\xb1\x92\x8f" // U+F148F view-sequential-outline, tags: View +#define ICON_MD_VIEW_SPLIT_HORIZONTAL "\xf3\xb0\xaf\x8b" // U+F0BCB view-split-horizontal, tags: View +#define ICON_MD_VIEW_SPLIT_VERTICAL "\xf3\xb0\xaf\x8c" // U+F0BCC view-split-vertical, tags: View +#define ICON_MD_VIEW_STREAM "\xf3\xb0\x95\xb5" // U+F0575 view-stream, tags: View +#define ICON_MD_VIEW_STREAM_OUTLINE "\xf3\xb1\x92\x90" // U+F1490 view-stream-outline, tags: View +#define ICON_MD_VIEW_WEEK "\xf3\xb0\x95\xb6" // U+F0576 view-week, tags: View +#define ICON_MD_VIEW_WEEK_OUTLINE "\xf3\xb1\x92\x91" // U+F1491 view-week-outline, tags: View +#define ICON_MD_VIMEO "\xf3\xb0\x95\xb7" // U+F0577 vimeo, tags: Brand / Logo +#define ICON_MD_VIOLIN "\xf3\xb0\x98\x8f" // U+F060F violin, tags: Music +#define ICON_MD_VIRTUAL_REALITY "\xf3\xb0\xa2\x94" // U+F0894 virtual-reality, aliases: vr +#define ICON_MD_VIRUS "\xf3\xb1\x8e\xb6" // U+F13B6 virus, tags: Science, Medical / Hospital +#define ICON_MD_VIRUS_OFF "\xf3\xb1\xa3\xa1" // U+F18E1 virus-off, tags: Science +#define ICON_MD_VIRUS_OFF_OUTLINE "\xf3\xb1\xa3\xa2" // U+F18E2 virus-off-outline, tags: Science +#define ICON_MD_VIRUS_OUTLINE "\xf3\xb1\x8e\xb7" // U+F13B7 virus-outline, tags: Science, Medical / Hospital +#define ICON_MD_VLC "\xf3\xb0\x95\xbc" // U+F057C vlc, tags: Brand / Logo +#define ICON_MD_VOICEMAIL "\xf3\xb0\x95\xbd" // U+F057D voicemail +#define ICON_MD_VOLCANO "\xf3\xb1\xaa\x83" // U+F1A83 volcano, aliases: eruption, tags: Nature +#define ICON_MD_VOLCANO_OUTLINE "\xf3\xb1\xaa\x84" // U+F1A84 volcano-outline, aliases: eruption-outline, tags: Nature +#define ICON_MD_VOLLEYBALL "\xf3\xb0\xa6\xb4" // U+F09B4 volleyball, tags: Sport +#define ICON_MD_VOLUME_EQUAL "\xf3\xb1\xac\x90" // U+F1B10 volume-equal, tags: Audio +#define ICON_MD_VOLUME_HIGH \ + "\xf3\xb0\x95\xbe" // U+F057E volume-high, aliases: audio, speaker, speakerphone, tags: Audio, Home Automation, + // Cellphone / Phone +#define ICON_MD_VOLUME_LOW "\xf3\xb0\x95\xbf" // U+F057F volume-low, aliases: audio, speaker, tags: Audio, Home Automation, Cellphone / Phone +#define ICON_MD_VOLUME_MEDIUM \ + "\xf3\xb0\x96\x80" // U+F0580 volume-medium, aliases: audio, speaker, tags: Audio, Home Automation, Cellphone / + // Phone +#define ICON_MD_VOLUME_MINUS \ + "\xf3\xb0\x9d\x9e" // U+F075E volume-minus, aliases: volume-decrease, tags: Audio, Home Automation, Cellphone / + // Phone +#define ICON_MD_VOLUME_MUTE "\xf3\xb0\x9d\x9f" // U+F075F volume-mute, tags: Audio, Cellphone / Phone +#define ICON_MD_VOLUME_OFF \ + "\xf3\xb0\x96\x81" // U+F0581 volume-off, aliases: mute, audio-off, speaker-off, speakerphone-off, tags: Audio, Home + // Automation, Cellphone / Phone +#define ICON_MD_VOLUME_PLUS "\xf3\xb0\x9d\x9d" // U+F075D volume-plus, aliases: volume-increase, tags: Audio, Home Automation, Cellphone / Phone +#define ICON_MD_VOLUME_SOURCE "\xf3\xb1\x84\xa0" // U+F1120 volume-source, tags: Cellphone / Phone, Audio +#define ICON_MD_VOLUME_VARIANT_OFF "\xf3\xb0\xb8\x88" // U+F0E08 volume-variant-off, tags: Audio, Cellphone / Phone +#define ICON_MD_VOLUME_VIBRATE "\xf3\xb1\x84\xa1" // U+F1121 volume-vibrate, tags: Cellphone / Phone, Audio +#define ICON_MD_VOTE "\xf3\xb0\xa8\x9f" // U+F0A1F vote, aliases: how-to-vote +#define ICON_MD_VOTE_OUTLINE "\xf3\xb0\xa8\xa0" // U+F0A20 vote-outline, aliases: how-to-vote-outline +#define ICON_MD_VPN "\xf3\xb0\x96\x82" // U+F0582 vpn, aliases: virtual-private-network +#define ICON_MD_VUEJS "\xf3\xb0\xa1\x84" // U+F0844 vuejs, aliases: vue-js, tags: Brand / Logo, Developer / Languages +#define ICON_MD_VUETIFY "\xf3\xb0\xb9\xad" // U+F0E6D vuetify, tags: Brand / Logo +#define ICON_MD_WALK \ + "\xf3\xb0\x96\x83" // U+F0583 walk, aliases: directions-walk, walker, walking, human-walk, tags: Sport, + // Transportation + Other, People / Family +#define ICON_MD_WALL "\xf3\xb0\x9f\xbe" // U+F07FE wall, aliases: bricks +#define ICON_MD_WALL_FIRE "\xf3\xb1\xa8\x91" // U+F1A11 wall-fire, aliases: firewall, tags: Device / Tech +#define ICON_MD_WALL_SCONCE "\xf3\xb0\xa4\x9c" // U+F091C wall-sconce, tags: Home Automation +#define ICON_MD_WALL_SCONCE_FLAT "\xf3\xb0\xa4\x9d" // U+F091D wall-sconce-flat, aliases: ceiling-light-flat, pot-light-flat, tags: Home Automation +#define ICON_MD_WALL_SCONCE_FLAT_OUTLINE "\xf3\xb1\x9f\x89" // U+F17C9 wall-sconce-flat-outline, tags: Home Automation +#define ICON_MD_WALL_SCONCE_FLAT_VARIANT "\xf3\xb0\x90\x9c" // U+F041C wall-sconce-flat-variant, aliases: pot-light-flat-variant, tags: Home Automation +#define ICON_MD_WALL_SCONCE_FLAT_VARIANT_OUTLINE "\xf3\xb1\x9f\x8a" // U+F17CA wall-sconce-flat-variant-outline, tags: Home Automation +#define ICON_MD_WALL_SCONCE_OUTLINE "\xf3\xb1\x9f\x8b" // U+F17CB wall-sconce-outline, tags: Home Automation +#define ICON_MD_WALL_SCONCE_ROUND "\xf3\xb0\x9d\x88" // U+F0748 wall-sconce-round, aliases: pot-light-round, tags: Home Automation +#define ICON_MD_WALL_SCONCE_ROUND_OUTLINE "\xf3\xb1\x9f\x8c" // U+F17CC wall-sconce-round-outline, tags: Home Automation +#define ICON_MD_WALL_SCONCE_ROUND_VARIANT "\xf3\xb0\xa4\x9e" // U+F091E wall-sconce-round-variant, aliases: pot-light-round-variant, tags: Home Automation +#define ICON_MD_WALL_SCONCE_ROUND_VARIANT_OUTLINE "\xf3\xb1\x9f\x8d" // U+F17CD wall-sconce-round-variant-outline, tags: Home Automation +#define ICON_MD_WALLET "\xf3\xb0\x96\x84" // U+F0584 wallet, aliases: account-balance-wallet, tags: Currency, Banking +#define ICON_MD_WALLET_GIFTCARD "\xf3\xb0\x96\x85" // U+F0585 wallet-giftcard, aliases: card-giftcard, redeem, tags: Shopping, Banking +#define ICON_MD_WALLET_MEMBERSHIP "\xf3\xb0\x96\x86" // U+F0586 wallet-membership, aliases: card-membership +#define ICON_MD_WALLET_OUTLINE "\xf3\xb0\xaf\x9d" // U+F0BDD wallet-outline, aliases: account-balance-wallet-outline, tags: Currency, Banking +#define ICON_MD_WALLET_PLUS "\xf3\xb0\xbe\x8e" // U+F0F8E wallet-plus, aliases: wallet-add, tags: Banking +#define ICON_MD_WALLET_PLUS_OUTLINE "\xf3\xb0\xbe\x8f" // U+F0F8F wallet-plus-outline, aliases: wallet-add-outline, tags: Banking +#define ICON_MD_WALLET_TRAVEL "\xf3\xb0\x96\x87" // U+F0587 wallet-travel, aliases: card-travel +#define ICON_MD_WALLPAPER "\xf3\xb0\xb8\x89" // U+F0E09 wallpaper +#define ICON_MD_WAN "\xf3\xb0\x96\x88" // U+F0588 wan, aliases: wide-area-network +#define ICON_MD_WARDROBE "\xf3\xb0\xbe\x90" // U+F0F90 wardrobe, aliases: closet, tags: Home Automation +#define ICON_MD_WARDROBE_OUTLINE "\xf3\xb0\xbe\x91" // U+F0F91 wardrobe-outline, aliases: closet-outline, tags: Home Automation +#define ICON_MD_WAREHOUSE "\xf3\xb0\xbe\x81" // U+F0F81 warehouse, tags: Places +#define ICON_MD_WASHING_MACHINE \ + "\xf3\xb0\x9c\xaa" // U+F072A washing-machine, aliases: laundrette, local-laundry-service, laundry-room, tags: Home + // Automation +#define ICON_MD_WASHING_MACHINE_ALERT \ + "\xf3\xb1\x86\xbc" // U+F11BC washing-machine-alert, aliases: laundry-room-alert, tags: Home Automation, Alert / + // Error +#define ICON_MD_WASHING_MACHINE_OFF "\xf3\xb1\x86\xbd" // U+F11BD washing-machine-off, aliases: laundry-room-off, tags: Home Automation +#define ICON_MD_WATCH "\xf3\xb0\x96\x89" // U+F0589 watch, tags: Device / Tech +#define ICON_MD_WATCH_EXPORT "\xf3\xb0\x96\x8a" // U+F058A watch-export, tags: Device / Tech +#define ICON_MD_WATCH_EXPORT_VARIANT "\xf3\xb0\xa2\x95" // U+F0895 watch-export-variant, tags: Device / Tech +#define ICON_MD_WATCH_IMPORT "\xf3\xb0\x96\x8b" // U+F058B watch-import, tags: Device / Tech +#define ICON_MD_WATCH_IMPORT_VARIANT "\xf3\xb0\xa2\x96" // U+F0896 watch-import-variant, tags: Device / Tech +#define ICON_MD_WATCH_VARIANT "\xf3\xb0\xa2\x97" // U+F0897 watch-variant, tags: Device / Tech +#define ICON_MD_WATCH_VIBRATE "\xf3\xb0\x9a\xb1" // U+F06B1 watch-vibrate, tags: Device / Tech +#define ICON_MD_WATCH_VIBRATE_OFF "\xf3\xb0\xb3\x9a" // U+F0CDA watch-vibrate-off, tags: Device / Tech +#define ICON_MD_WATER \ + "\xf3\xb0\x96\x8c" // U+F058C water, aliases: drop, blood, water-drop, trans-fat, ink, tags: Home Automation, Health + // / Beauty, Food / Drink, Weather +#define ICON_MD_WATER_ALERT "\xf3\xb1\x94\x82" // U+F1502 water-alert, aliases: drop-alert, blood-alert, ink-alert, tags: Alert / Error +#define ICON_MD_WATER_ALERT_OUTLINE \ + "\xf3\xb1\x94\x83" // U+F1503 water-alert-outline, aliases: drop-alert-outline, blood-alert-outline, + // ink-alert-outline, tags: Alert / Error +#define ICON_MD_WATER_BOILER \ + "\xf3\xb0\xbe\x92" // U+F0F92 water-boiler, aliases: water-heater, gas-water-boiler, electric-water-boiler, + // gas-water-heater, electric-water-heater, tags: Home Automation +#define ICON_MD_WATER_BOILER_ALERT \ + "\xf3\xb1\x86\xb3" // U+F11B3 water-boiler-alert, aliases: water-heater-alert, water-boiler-error, + // water-heater-error, tags: Home Automation, Alert / Error +#define ICON_MD_WATER_BOILER_AUTO "\xf3\xb1\xae\x98" // U+F1B98 water-boiler-auto, aliases: water-heater-auto, tags: Home Automation +#define ICON_MD_WATER_BOILER_OFF "\xf3\xb1\x86\xb4" // U+F11B4 water-boiler-off, aliases: water-heater-off, tags: Home Automation +#define ICON_MD_WATER_CHECK "\xf3\xb1\x94\x84" // U+F1504 water-check, aliases: drop-check, blood-check, ink-check +#define ICON_MD_WATER_CHECK_OUTLINE \ + "\xf3\xb1\x94\x85" // U+F1505 water-check-outline, aliases: drop-check-outline, blood-check-outline, + // ink-check-outline +#define ICON_MD_WATER_CIRCLE "\xf3\xb1\xa0\x86" // U+F1806 water-circle, aliases: drop-circle, blood-circle, ink-circle, tags: Home Automation +#define ICON_MD_WATER_MINUS "\xf3\xb1\x94\x86" // U+F1506 water-minus, aliases: drop-minus, blood-minus, ink-minus +#define ICON_MD_WATER_MINUS_OUTLINE \ + "\xf3\xb1\x94\x87" // U+F1507 water-minus-outline, aliases: drop-minus-outline, blood-minus-outline, + // ink-minus-outline +#define ICON_MD_WATER_OFF "\xf3\xb0\x96\x8d" // U+F058D water-off, aliases: format-color-reset, trans-fat-off, blood-off, ink-off +#define ICON_MD_WATER_OFF_OUTLINE \ + "\xf3\xb1\x94\x88" // U+F1508 water-off-outline, aliases: drop-off-outline, blood-off-outline, + // trans-fat-off-outline, ink-off-outline +#define ICON_MD_WATER_OPACITY \ + "\xf3\xb1\xa1\x95" // U+F1855 water-opacity, aliases: water-transparent, water-saver, blood-saver, + // blood-transparent, oil-saver, oil-transparent, drop-transparent, drop-saver, tags: Home + // Automation, Drawing / Art, Weather +#define ICON_MD_WATER_OUTLINE \ + "\xf3\xb0\xb8\x8a" // U+F0E0A water-outline, aliases: drop-outline, blood-outline, water-drop-outline, ink-outline, + // tags: Home Automation, Weather +#define ICON_MD_WATER_PERCENT "\xf3\xb0\x96\x8e" // U+F058E water-percent, aliases: humidity, ink-percent, tags: Weather, Home Automation, Nature +#define ICON_MD_WATER_PERCENT_ALERT \ + "\xf3\xb1\x94\x89" // U+F1509 water-percent-alert, aliases: humidity-alert, ink-percent-alert, tags: Alert / Error, + // Nature +#define ICON_MD_WATER_PLUS "\xf3\xb1\x94\x8a" // U+F150A water-plus, aliases: drop-plus, blood-plus, ink-plus +#define ICON_MD_WATER_PLUS_OUTLINE "\xf3\xb1\x94\x8b" // U+F150B water-plus-outline, aliases: drop-plus-outline, blood-plus-outline, ink-plus-outline +#define ICON_MD_WATER_POLO "\xf3\xb1\x8a\xa0" // U+F12A0 water-polo, tags: Sport +#define ICON_MD_WATER_PUMP "\xf3\xb0\x96\x8f" // U+F058F water-pump, aliases: tap, kitchen-tap, faucet, tags: Agriculture, Home Automation +#define ICON_MD_WATER_PUMP_OFF \ + "\xf3\xb0\xbe\x93" // U+F0F93 water-pump-off, aliases: tap-off, kitchen-tap-off, faucet-off, tags: Agriculture, Home + // Automation +#define ICON_MD_WATER_REMOVE "\xf3\xb1\x94\x8c" // U+F150C water-remove, aliases: drop-remove, blood-remove, ink-remove +#define ICON_MD_WATER_REMOVE_OUTLINE \ + "\xf3\xb1\x94\x8d" // U+F150D water-remove-outline, aliases: drop-remove-outline, blood-remove-outline, + // ink-remove-outline +#define ICON_MD_WATER_SYNC "\xf3\xb1\x9f\x86" // U+F17C6 water-sync, aliases: water-recycle, water-reuse, tags: Agriculture +#define ICON_MD_WATER_THERMOMETER \ + "\xf3\xb1\xaa\x85" // U+F1A85 water-thermometer, aliases: boil-point, water-temperature, dew-point, tags: Weather, + // Home Automation +#define ICON_MD_WATER_THERMOMETER_OUTLINE \ + "\xf3\xb1\xaa\x86" // U+F1A86 water-thermometer-outline, aliases: dew-point-outline, water-temperature-outline, + // boil-point-outline, tags: Weather, Home Automation +#define ICON_MD_WATER_WELL "\xf3\xb1\x81\xab" // U+F106B water-well +#define ICON_MD_WATER_WELL_OUTLINE "\xf3\xb1\x81\xac" // U+F106C water-well-outline +#define ICON_MD_WATERFALL "\xf3\xb1\xa1\x89" // U+F1849 waterfall, tags: Home Automation, Nature +#define ICON_MD_WATERING_CAN "\xf3\xb1\x92\x81" // U+F1481 watering-can, aliases: watering-pot, tags: Agriculture +#define ICON_MD_WATERING_CAN_OUTLINE "\xf3\xb1\x92\x82" // U+F1482 watering-can-outline, aliases: watering-pot-outline, tags: Agriculture +#define ICON_MD_WATERMARK "\xf3\xb0\x98\x92" // U+F0612 watermark, aliases: branding-watermark +#define ICON_MD_WAVE "\xf3\xb0\xbc\xae" // U+F0F2E wave, aliases: water, tags: Transportation + Water +#define ICON_MD_WAVEFORM "\xf3\xb1\x91\xbd" // U+F147D waveform, tags: Audio +#define ICON_MD_WAVES "\xf3\xb0\x9e\x8d" // U+F078D waves, aliases: ocean, lake, flood, water, tags: Weather, Transportation + Water +#define ICON_MD_WAVES_ARROW_LEFT "\xf3\xb1\xa1\x99" // U+F1859 waves-arrow-left, aliases: tide-in, water-flow, tags: Nature, Weather +#define ICON_MD_WAVES_ARROW_RIGHT "\xf3\xb1\xa1\x9a" // U+F185A waves-arrow-right, aliases: tide-out, water-flow, tags: Nature, Weather +#define ICON_MD_WAVES_ARROW_UP \ + "\xf3\xb1\xa1\x9b" // U+F185B waves-arrow-up, aliases: water-evaporation, humidity, sea-level-rise, + // ocean-level-rise, climate-change, tags: Nature, Weather +#define ICON_MD_WAZE "\xf3\xb0\xaf\x9e" // U+F0BDE waze, tags: Brand / Logo +#define ICON_MD_WEATHER_CLOUDY "\xf3\xb0\x96\x90" // U+F0590 weather-cloudy, tags: Weather, Cloud +#define ICON_MD_WEATHER_CLOUDY_ALERT "\xf3\xb0\xbc\xaf" // U+F0F2F weather-cloudy-alert, tags: Weather, Alert / Error, Cloud +#define ICON_MD_WEATHER_CLOUDY_ARROW_RIGHT "\xf3\xb0\xb9\xae" // U+F0E6E weather-cloudy-arrow-right, tags: Weather, Cloud +#define ICON_MD_WEATHER_CLOUDY_CLOCK \ + "\xf3\xb1\xa3\xb6" // U+F18F6 weather-cloudy-clock, aliases: weather-history, weather-time, weather-date, tags: + // Weather, Cloud +#define ICON_MD_WEATHER_DUST "\xf3\xb1\xad\x9a" // U+F1B5A weather-dust, aliases: dust-storm, windy, tags: Weather +#define ICON_MD_WEATHER_FOG "\xf3\xb0\x96\x91" // U+F0591 weather-fog, aliases: weather-mist, tags: Weather +#define ICON_MD_WEATHER_HAIL "\xf3\xb0\x96\x92" // U+F0592 weather-hail, tags: Weather +#define ICON_MD_WEATHER_HAZY "\xf3\xb0\xbc\xb0" // U+F0F30 weather-hazy, tags: Weather +#define ICON_MD_WEATHER_HURRICANE "\xf3\xb0\xa2\x98" // U+F0898 weather-hurricane, aliases: cyclone, tags: Weather, Nature +#define ICON_MD_WEATHER_LIGHTNING \ + "\xf3\xb0\x96\x93" // U+F0593 weather-lightning, aliases: weather-storm, weather-thunder, weather-flash, tags: + // Weather +#define ICON_MD_WEATHER_LIGHTNING_RAINY "\xf3\xb0\x99\xbe" // U+F067E weather-lightning-rainy, aliases: weather-thunder-rainy, weather-storm, tags: Weather +#define ICON_MD_WEATHER_NIGHT "\xf3\xb0\x96\x94" // U+F0594 weather-night, aliases: moon-and-stars, night-sky, tags: Weather, Holiday +#define ICON_MD_WEATHER_NIGHT_PARTLY_CLOUDY "\xf3\xb0\xbc\xb1" // U+F0F31 weather-night-partly-cloudy, tags: Weather, Cloud +#define ICON_MD_WEATHER_PARTLY_CLOUDY "\xf3\xb0\x96\x95" // U+F0595 weather-partly-cloudy, aliases: weather-partlycloudy, tags: Weather, Cloud +#define ICON_MD_WEATHER_PARTLY_LIGHTNING "\xf3\xb0\xbc\xb2" // U+F0F32 weather-partly-lightning, tags: Weather +#define ICON_MD_WEATHER_PARTLY_RAINY "\xf3\xb0\xbc\xb3" // U+F0F33 weather-partly-rainy, tags: Weather +#define ICON_MD_WEATHER_PARTLY_SNOWY "\xf3\xb0\xbc\xb4" // U+F0F34 weather-partly-snowy, tags: Weather +#define ICON_MD_WEATHER_PARTLY_SNOWY_RAINY "\xf3\xb0\xbc\xb5" // U+F0F35 weather-partly-snowy-rainy, tags: Weather +#define ICON_MD_WEATHER_POURING "\xf3\xb0\x96\x96" // U+F0596 weather-pouring, aliases: weather-heavy-rain, tags: Weather +#define ICON_MD_WEATHER_RAINY "\xf3\xb0\x96\x97" // U+F0597 weather-rainy, aliases: weather-drizzle, weather-spitting, tags: Weather +#define ICON_MD_WEATHER_SNOWY "\xf3\xb0\x96\x98" // U+F0598 weather-snowy, tags: Weather +#define ICON_MD_WEATHER_SNOWY_HEAVY "\xf3\xb0\xbc\xb6" // U+F0F36 weather-snowy-heavy, aliases: flurries, tags: Weather +#define ICON_MD_WEATHER_SNOWY_RAINY "\xf3\xb0\x99\xbf" // U+F067F weather-snowy-rainy, aliases: weather-sleet, tags: Weather +#define ICON_MD_WEATHER_SUNNY "\xf3\xb0\x96\x99" // U+F0599 weather-sunny, tags: Weather +#define ICON_MD_WEATHER_SUNNY_ALERT \ + "\xf3\xb0\xbc\xb7" // U+F0F37 weather-sunny-alert, aliases: heat-alert, heat-advisory, sun-advisory, tags: Weather, + // Alert / Error, Home Automation +#define ICON_MD_WEATHER_SUNNY_OFF "\xf3\xb1\x93\xa4" // U+F14E4 weather-sunny-off, tags: Weather +#define ICON_MD_WEATHER_SUNSET "\xf3\xb0\x96\x9a" // U+F059A weather-sunset, tags: Weather +#define ICON_MD_WEATHER_SUNSET_DOWN "\xf3\xb0\x96\x9b" // U+F059B weather-sunset-down, tags: Weather +#define ICON_MD_WEATHER_SUNSET_UP "\xf3\xb0\x96\x9c" // U+F059C weather-sunset-up, aliases: sunrise, tags: Weather +#define ICON_MD_WEATHER_TORNADO "\xf3\xb0\xbc\xb8" // U+F0F38 weather-tornado, tags: Weather +#define ICON_MD_WEATHER_WINDY "\xf3\xb0\x96\x9d" // U+F059D weather-windy, tags: Weather +#define ICON_MD_WEATHER_WINDY_VARIANT "\xf3\xb0\x96\x9e" // U+F059E weather-windy-variant, tags: Weather +#define ICON_MD_WEB \ + "\xf3\xb0\x96\x9f" // U+F059F web, aliases: language, globe, internet, world-wide-web, tags: Geographic Information + // System +#define ICON_MD_WEB_BOX \ + "\xf3\xb0\xbe\x94" // U+F0F94 web-box, aliases: language-box, globe-box, internet-box, tags: Geographic Information + // System +#define ICON_MD_WEB_CANCEL "\xf3\xb1\x9e\x90" // U+F1790 web-cancel +#define ICON_MD_WEB_CHECK "\xf3\xb0\x9e\x89" // U+F0789 web-check +#define ICON_MD_WEB_CLOCK "\xf3\xb1\x89\x8a" // U+F124A web-clock, tags: Date / Time +#define ICON_MD_WEB_MINUS "\xf3\xb1\x82\xa0" // U+F10A0 web-minus +#define ICON_MD_WEB_OFF "\xf3\xb0\xaa\x8e" // U+F0A8E web-off +#define ICON_MD_WEB_PLUS "\xf3\xb0\x80\xb3" // U+F0033 web-plus +#define ICON_MD_WEB_REFRESH "\xf3\xb1\x9e\x91" // U+F1791 web-refresh +#define ICON_MD_WEB_REMOVE "\xf3\xb0\x95\x91" // U+F0551 web-remove +#define ICON_MD_WEB_SYNC "\xf3\xb1\x9e\x92" // U+F1792 web-sync +#define ICON_MD_WEBCAM "\xf3\xb0\x96\xa0" // U+F05A0 webcam, aliases: web-camera, tags: Video / Movie, Home Automation +#define ICON_MD_WEBCAM_OFF "\xf3\xb1\x9c\xb7" // U+F1737 webcam-off +#define ICON_MD_WEBHOOK "\xf3\xb0\x98\xaf" // U+F062F webhook +#define ICON_MD_WEBPACK "\xf3\xb0\x9c\xab" // U+F072B webpack, tags: Brand / Logo, Developer / Languages +#define ICON_MD_WEBRTC "\xf3\xb1\x89\x88" // U+F1248 webrtc, tags: Brand / Logo +#define ICON_MD_WECHAT "\xf3\xb0\x98\x91" // U+F0611 wechat, tags: Brand / Logo +#define ICON_MD_WEIGHT "\xf3\xb0\x96\xa1" // U+F05A1 weight +#define ICON_MD_WEIGHT_GRAM "\xf3\xb0\xb4\xbf" // U+F0D3F weight-gram +#define ICON_MD_WEIGHT_KILOGRAM "\xf3\xb0\x96\xa2" // U+F05A2 weight-kilogram, aliases: weight-kg +#define ICON_MD_WEIGHT_LIFTER \ + "\xf3\xb1\x85\x9d" // U+F115D weight-lifter, aliases: crossfit, gym, fitness-center, human-barbell, tags: Sport, + // People / Family +#define ICON_MD_WEIGHT_POUND "\xf3\xb0\xa6\xb5" // U+F09B5 weight-pound, aliases: weight-lb +#define ICON_MD_WHATSAPP "\xf3\xb0\x96\xa3" // U+F05A3 whatsapp, tags: Brand / Logo +#define ICON_MD_WHEEL_BARROW "\xf3\xb1\x93\xb2" // U+F14F2 wheel-barrow, tags: Hardware / Tools +#define ICON_MD_WHEELCHAIR \ + "\xf3\xb1\xaa\x87" // U+F1A87 wheelchair, aliases: accessible, isa, international-symbol-of-access, tags: Medical / + // Hospital, People / Family +#define ICON_MD_WHEELCHAIR_ACCESSIBILITY "\xf3\xb0\x96\xa4" // U+F05A4 wheelchair-accessibility, aliases: accessible, tags: Medical / Hospital +#define ICON_MD_WHISTLE "\xf3\xb0\xa6\xb6" // U+F09B6 whistle, tags: Sport +#define ICON_MD_WHISTLE_OUTLINE "\xf3\xb1\x8a\xbc" // U+F12BC whistle-outline, tags: Sport +#define ICON_MD_WHITE_BALANCE_AUTO "\xf3\xb0\x96\xa5" // U+F05A5 white-balance-auto, aliases: wb-auto, tags: Photography +#define ICON_MD_WHITE_BALANCE_INCANDESCENT "\xf3\xb0\x96\xa6" // U+F05A6 white-balance-incandescent, aliases: wb-incandescent, tags: Photography +#define ICON_MD_WHITE_BALANCE_IRIDESCENT "\xf3\xb0\x96\xa7" // U+F05A7 white-balance-iridescent, aliases: wb-iridescent, tags: Photography +#define ICON_MD_WHITE_BALANCE_SUNNY "\xf3\xb0\x96\xa8" // U+F05A8 white-balance-sunny, aliases: wb-sunny, tags: Photography +#define ICON_MD_WIDGETS "\xf3\xb0\x9c\xac" // U+F072C widgets +#define ICON_MD_WIDGETS_OUTLINE "\xf3\xb1\x8d\x95" // U+F1355 widgets-outline +#define ICON_MD_WIFI "\xf3\xb0\x96\xa9" // U+F05A9 wifi +#define ICON_MD_WIFI_ALERT "\xf3\xb1\x9a\xb5" // U+F16B5 wifi-alert, tags: Alert / Error +#define ICON_MD_WIFI_ARROW_DOWN "\xf3\xb1\x9a\xb6" // U+F16B6 wifi-arrow-down +#define ICON_MD_WIFI_ARROW_LEFT "\xf3\xb1\x9a\xb7" // U+F16B7 wifi-arrow-left +#define ICON_MD_WIFI_ARROW_LEFT_RIGHT "\xf3\xb1\x9a\xb8" // U+F16B8 wifi-arrow-left-right +#define ICON_MD_WIFI_ARROW_RIGHT "\xf3\xb1\x9a\xb9" // U+F16B9 wifi-arrow-right +#define ICON_MD_WIFI_ARROW_UP "\xf3\xb1\x9a\xba" // U+F16BA wifi-arrow-up +#define ICON_MD_WIFI_ARROW_UP_DOWN "\xf3\xb1\x9a\xbb" // U+F16BB wifi-arrow-up-down +#define ICON_MD_WIFI_CANCEL "\xf3\xb1\x9a\xbc" // U+F16BC wifi-cancel +#define ICON_MD_WIFI_CHECK "\xf3\xb1\x9a\xbd" // U+F16BD wifi-check +#define ICON_MD_WIFI_COG "\xf3\xb1\x9a\xbe" // U+F16BE wifi-cog +#define ICON_MD_WIFI_LOCK "\xf3\xb1\x9a\xbf" // U+F16BF wifi-lock, tags: Lock +#define ICON_MD_WIFI_LOCK_OPEN "\xf3\xb1\x9b\x80" // U+F16C0 wifi-lock-open, tags: Lock +#define ICON_MD_WIFI_MARKER "\xf3\xb1\x9b\x81" // U+F16C1 wifi-marker, aliases: wifi-location, tags: Navigation +#define ICON_MD_WIFI_MINUS "\xf3\xb1\x9b\x82" // U+F16C2 wifi-minus +#define ICON_MD_WIFI_OFF "\xf3\xb0\x96\xaa" // U+F05AA wifi-off +#define ICON_MD_WIFI_PLUS "\xf3\xb1\x9b\x83" // U+F16C3 wifi-plus +#define ICON_MD_WIFI_REFRESH "\xf3\xb1\x9b\x84" // U+F16C4 wifi-refresh +#define ICON_MD_WIFI_REMOVE "\xf3\xb1\x9b\x85" // U+F16C5 wifi-remove +#define ICON_MD_WIFI_SETTINGS "\xf3\xb1\x9b\x86" // U+F16C6 wifi-settings, tags: Settings +#define ICON_MD_WIFI_STAR "\xf3\xb0\xb8\x8b" // U+F0E0B wifi-star, aliases: wifi-favourite, network-favourite, wifi-favorite, network-favorite +#define ICON_MD_WIFI_STRENGTH_1 "\xf3\xb0\xa4\x9f" // U+F091F wifi-strength-1 +#define ICON_MD_WIFI_STRENGTH_1_ALERT "\xf3\xb0\xa4\xa0" // U+F0920 wifi-strength-1-alert, aliases: wifi-strength-1-warning, tags: Alert / Error +#define ICON_MD_WIFI_STRENGTH_1_LOCK "\xf3\xb0\xa4\xa1" // U+F0921 wifi-strength-1-lock, tags: Lock +#define ICON_MD_WIFI_STRENGTH_1_LOCK_OPEN "\xf3\xb1\x9b\x8b" // U+F16CB wifi-strength-1-lock-open, tags: Lock +#define ICON_MD_WIFI_STRENGTH_2 "\xf3\xb0\xa4\xa2" // U+F0922 wifi-strength-2 +#define ICON_MD_WIFI_STRENGTH_2_ALERT "\xf3\xb0\xa4\xa3" // U+F0923 wifi-strength-2-alert, aliases: wifi-strength-2-warning, tags: Alert / Error +#define ICON_MD_WIFI_STRENGTH_2_LOCK "\xf3\xb0\xa4\xa4" // U+F0924 wifi-strength-2-lock, tags: Lock +#define ICON_MD_WIFI_STRENGTH_2_LOCK_OPEN "\xf3\xb1\x9b\x8c" // U+F16CC wifi-strength-2-lock-open, tags: Lock +#define ICON_MD_WIFI_STRENGTH_3 "\xf3\xb0\xa4\xa5" // U+F0925 wifi-strength-3 +#define ICON_MD_WIFI_STRENGTH_3_ALERT "\xf3\xb0\xa4\xa6" // U+F0926 wifi-strength-3-alert, aliases: wifi-strength-3-warning, tags: Alert / Error +#define ICON_MD_WIFI_STRENGTH_3_LOCK "\xf3\xb0\xa4\xa7" // U+F0927 wifi-strength-3-lock, tags: Lock +#define ICON_MD_WIFI_STRENGTH_3_LOCK_OPEN "\xf3\xb1\x9b\x8d" // U+F16CD wifi-strength-3-lock-open, tags: Lock +#define ICON_MD_WIFI_STRENGTH_4 "\xf3\xb0\xa4\xa8" // U+F0928 wifi-strength-4 +#define ICON_MD_WIFI_STRENGTH_4_ALERT "\xf3\xb0\xa4\xa9" // U+F0929 wifi-strength-4-alert, aliases: wifi-strength-4-warning, tags: Alert / Error +#define ICON_MD_WIFI_STRENGTH_4_LOCK "\xf3\xb0\xa4\xaa" // U+F092A wifi-strength-4-lock, tags: Lock +#define ICON_MD_WIFI_STRENGTH_4_LOCK_OPEN "\xf3\xb1\x9b\x8e" // U+F16CE wifi-strength-4-lock-open, tags: Lock +#define ICON_MD_WIFI_STRENGTH_ALERT_OUTLINE \ + "\xf3\xb0\xa4\xab" // U+F092B wifi-strength-alert-outline, aliases: wifi-strength-warning-outline, + // wifi-strength-0-alert, wifi-strength-0-warning, tags: Alert / Error +#define ICON_MD_WIFI_STRENGTH_LOCK_OPEN_OUTLINE "\xf3\xb1\x9b\x8f" // U+F16CF wifi-strength-lock-open-outline, tags: Lock +#define ICON_MD_WIFI_STRENGTH_LOCK_OUTLINE "\xf3\xb0\xa4\xac" // U+F092C wifi-strength-lock-outline, aliases: wifi-strength-0-lock, tags: Lock +#define ICON_MD_WIFI_STRENGTH_OFF "\xf3\xb0\xa4\xad" // U+F092D wifi-strength-off +#define ICON_MD_WIFI_STRENGTH_OFF_OUTLINE "\xf3\xb0\xa4\xae" // U+F092E wifi-strength-off-outline +#define ICON_MD_WIFI_STRENGTH_OUTLINE "\xf3\xb0\xa4\xaf" // U+F092F wifi-strength-outline, aliases: wifi-strength-0 +#define ICON_MD_WIFI_SYNC "\xf3\xb1\x9b\x87" // U+F16C7 wifi-sync +#define ICON_MD_WIKIPEDIA "\xf3\xb0\x96\xac" // U+F05AC wikipedia, tags: Brand / Logo +#define ICON_MD_WIND_POWER "\xf3\xb1\xaa\x88" // U+F1A88 wind-power, aliases: wind-energy, wind-electricity, tags: Home Automation +#define ICON_MD_WIND_POWER_OUTLINE \ + "\xf3\xb1\xaa\x89" // U+F1A89 wind-power-outline, aliases: wind-energy-outline, wind-electricity-outline, tags: Home + // Automation +#define ICON_MD_WIND_TURBINE "\xf3\xb0\xb6\xa5" // U+F0DA5 wind-turbine, aliases: wind-power, wind-electricity, tags: Home Automation +#define ICON_MD_WIND_TURBINE_ALERT \ + "\xf3\xb1\xa6\xab" // U+F19AB wind-turbine-alert, aliases: wind-power-alert, wind-turbine-warning, tags: Home + // Automation, Alert / Error +#define ICON_MD_WIND_TURBINE_CHECK \ + "\xf3\xb1\xa6\xac" // U+F19AC wind-turbine-check, aliases: wind-power-check, wind-turbine-success, + // wind-power-success, tags: Home Automation +#define ICON_MD_WINDOW_CLOSE "\xf3\xb0\x96\xad" // U+F05AD window-close, aliases: cancel, close +#define ICON_MD_WINDOW_CLOSED "\xf3\xb0\x96\xae" // U+F05AE window-closed, tags: Home Automation +#define ICON_MD_WINDOW_CLOSED_VARIANT "\xf3\xb1\x87\x9b" // U+F11DB window-closed-variant, tags: Home Automation +#define ICON_MD_WINDOW_MAXIMIZE "\xf3\xb0\x96\xaf" // U+F05AF window-maximize +#define ICON_MD_WINDOW_MINIMIZE "\xf3\xb0\x96\xb0" // U+F05B0 window-minimize +#define ICON_MD_WINDOW_OPEN "\xf3\xb0\x96\xb1" // U+F05B1 window-open, tags: Home Automation +#define ICON_MD_WINDOW_OPEN_VARIANT "\xf3\xb1\x87\x9c" // U+F11DC window-open-variant, tags: Home Automation +#define ICON_MD_WINDOW_RESTORE "\xf3\xb0\x96\xb2" // U+F05B2 window-restore +#define ICON_MD_WINDOW_SHUTTER "\xf3\xb1\x84\x9c" // U+F111C window-shutter, tags: Home Automation +#define ICON_MD_WINDOW_SHUTTER_ALERT "\xf3\xb1\x84\x9d" // U+F111D window-shutter-alert, tags: Home Automation, Alert / Error +#define ICON_MD_WINDOW_SHUTTER_AUTO "\xf3\xb1\xae\xa3" // U+F1BA3 window-shutter-auto, tags: Home Automation +#define ICON_MD_WINDOW_SHUTTER_COG "\xf3\xb1\xaa\x8a" // U+F1A8A window-shutter-cog, aliases: window-shutter-settings, tags: Home Automation, Settings +#define ICON_MD_WINDOW_SHUTTER_OPEN "\xf3\xb1\x84\x9e" // U+F111E window-shutter-open, tags: Home Automation +#define ICON_MD_WINDOW_SHUTTER_SETTINGS "\xf3\xb1\xaa\x8b" // U+F1A8B window-shutter-settings, tags: Home Automation, Settings +#define ICON_MD_WINDSOCK "\xf3\xb1\x97\xba" // U+F15FA windsock, tags: Weather +#define ICON_MD_WIPER "\xf3\xb0\xab\xa9" // U+F0AE9 wiper +#define ICON_MD_WIPER_WASH "\xf3\xb0\xb6\xa6" // U+F0DA6 wiper-wash, aliases: wiper-fluid, washer-fluid, tags: Automotive +#define ICON_MD_WIPER_WASH_ALERT \ + "\xf3\xb1\xa3\x9f" // U+F18DF wiper-wash-alert, aliases: wiper-fluid-alert, washer-fluid-alert, wiper-fluid-low, + // washer-fluid-low, tags: Alert / Error, Automotive +#define ICON_MD_WIZARD_HAT "\xf3\xb1\x91\xb7" // U+F1477 wizard-hat, tags: Clothing, Gaming / RPG +#define ICON_MD_WORDPRESS "\xf3\xb0\x96\xb4" // U+F05B4 wordpress, tags: Brand / Logo +#define ICON_MD_WRAP "\xf3\xb0\x96\xb6" // U+F05B6 wrap +#define ICON_MD_WRAP_DISABLED "\xf3\xb0\xaf\x9f" // U+F0BDF wrap-disabled, aliases: unwrap +#define ICON_MD_WRENCH "\xf3\xb0\x96\xb7" // U+F05B7 wrench, aliases: build, spanner, tags: Hardware / Tools +#define ICON_MD_WRENCH_CHECK "\xf3\xb1\xae\x8f" // U+F1B8F wrench-check +#define ICON_MD_WRENCH_CHECK_OUTLINE "\xf3\xb1\xae\x90" // U+F1B90 wrench-check-outline +#define ICON_MD_WRENCH_CLOCK \ + "\xf3\xb1\xa6\xa3" // U+F19A3 wrench-clock, aliases: scheduled-maintenance, wrench-time, tool-time, tool-clock, + // tags: Date / Time, Hardware / Tools +#define ICON_MD_WRENCH_CLOCK_OUTLINE "\xf3\xb1\xae\x93" // U+F1B93 wrench-clock-outline +#define ICON_MD_WRENCH_COG "\xf3\xb1\xae\x91" // U+F1B91 wrench-cog, aliases: wrench-settings, tags: Settings +#define ICON_MD_WRENCH_COG_OUTLINE "\xf3\xb1\xae\x92" // U+F1B92 wrench-cog-outline, aliases: wrench-settings-outline, tags: Settings +#define ICON_MD_WRENCH_OUTLINE "\xf3\xb0\xaf\xa0" // U+F0BE0 wrench-outline, aliases: build-outline, spanner-outline, tags: Hardware / Tools +#define ICON_MD_XAMARIN "\xf3\xb0\xa1\x85" // U+F0845 xamarin, aliases: microsoft-xamarin, tags: Brand / Logo +#define ICON_MD_XML "\xf3\xb0\x97\x80" // U+F05C0 xml, aliases: code, tags: Developer / Languages +#define ICON_MD_XMPP "\xf3\xb0\x9f\xbf" // U+F07FF xmpp, tags: Brand / Logo +#define ICON_MD_YAHOO "\xf3\xb0\xad\x8f" // U+F0B4F yahoo, tags: Brand / Logo +#define ICON_MD_YEAST "\xf3\xb0\x97\x81" // U+F05C1 yeast +#define ICON_MD_YIN_YANG "\xf3\xb0\x9a\x80" // U+F0680 yin-yang, aliases: taoism +#define ICON_MD_YOGA "\xf3\xb1\x85\xbc" // U+F117C yoga, tags: Sport +#define ICON_MD_YOUTUBE "\xf3\xb0\x97\x83" // U+F05C3 youtube, aliases: video-youtube, youtube-play, tags: Brand / Logo, Social Media +#define ICON_MD_YOUTUBE_GAMING "\xf3\xb0\xa1\x88" // U+F0848 youtube-gaming, tags: Brand / Logo +#define ICON_MD_YOUTUBE_STUDIO "\xf3\xb0\xa1\x87" // U+F0847 youtube-studio, aliases: youtube-creator-studio, tags: Brand / Logo +#define ICON_MD_YOUTUBE_SUBSCRIPTION "\xf3\xb0\xb5\x80" // U+F0D40 youtube-subscription, tags: Brand / Logo +#define ICON_MD_YOUTUBE_TV "\xf3\xb0\x91\x88" // U+F0448 youtube-tv, tags: Brand / Logo +#define ICON_MD_YURT "\xf3\xb1\x94\x96" // U+F1516 yurt +#define ICON_MD_Z_WAVE "\xf3\xb0\xab\xaa" // U+F0AEA z-wave, aliases: zwave, tags: Home Automation, Brand / Logo +#define ICON_MD_ZEND "\xf3\xb0\xab\xab" // U+F0AEB zend, tags: Developer / Languages, Brand / Logo +#define ICON_MD_ZIGBEE "\xf3\xb0\xb5\x81" // U+F0D41 zigbee, tags: Home Automation, Brand / Logo +#define ICON_MD_ZIP_BOX "\xf3\xb0\x97\x84" // U+F05C4 zip-box, aliases: compressed-file, tags: Files / Folders +#define ICON_MD_ZIP_BOX_OUTLINE "\xf3\xb0\xbf\xba" // U+F0FFA zip-box-outline, aliases: compressed-file-outline, tags: Files / Folders +#define ICON_MD_ZIP_DISK "\xf3\xb0\xa8\xa3" // U+F0A23 zip-disk +#define ICON_MD_ZODIAC_AQUARIUS "\xf3\xb0\xa9\xbd" // U+F0A7D zodiac-aquarius, aliases: horoscope-aquarius +#define ICON_MD_ZODIAC_ARIES "\xf3\xb0\xa9\xbe" // U+F0A7E zodiac-aries, aliases: horoscope-aries +#define ICON_MD_ZODIAC_CANCER "\xf3\xb0\xa9\xbf" // U+F0A7F zodiac-cancer, aliases: horoscope-cancer +#define ICON_MD_ZODIAC_CAPRICORN "\xf3\xb0\xaa\x80" // U+F0A80 zodiac-capricorn, aliases: horoscope-capricorn +#define ICON_MD_ZODIAC_GEMINI "\xf3\xb0\xaa\x81" // U+F0A81 zodiac-gemini, aliases: horoscope-gemini +#define ICON_MD_ZODIAC_LEO "\xf3\xb0\xaa\x82" // U+F0A82 zodiac-leo, aliases: horoscope-leo +#define ICON_MD_ZODIAC_LIBRA "\xf3\xb0\xaa\x83" // U+F0A83 zodiac-libra, aliases: horoscope-libra +#define ICON_MD_ZODIAC_PISCES "\xf3\xb0\xaa\x84" // U+F0A84 zodiac-pisces, aliases: horoscope-pisces +#define ICON_MD_ZODIAC_SAGITTARIUS "\xf3\xb0\xaa\x85" // U+F0A85 zodiac-sagittarius, aliases: horoscope-sagittarius +#define ICON_MD_ZODIAC_SCORPIO "\xf3\xb0\xaa\x86" // U+F0A86 zodiac-scorpio, aliases: horoscope-scorpio +#define ICON_MD_ZODIAC_TAURUS "\xf3\xb0\xaa\x87" // U+F0A87 zodiac-taurus, aliases: horoscope-taurus +#define ICON_MD_ZODIAC_VIRGO "\xf3\xb0\xaa\x88" // U+F0A88 zodiac-virgo, aliases: horoscope-virgo diff --git a/src/common/Logging.h b/src/common/Logging.h index 78f8b680..9744fde9 100644 --- a/src/common/Logging.h +++ b/src/common/Logging.h @@ -5,8 +5,7 @@ namespace Log using source_location = std::source_location; [[nodiscard]] constexpr auto get_log_source_location(const source_location& location) { - return spdlog::source_loc{location.file_name(), static_cast(location.line()), - location.function_name()}; + return spdlog::source_loc{location.file_name(), static_cast(location.line()), location.function_name()}; } struct format_with_location @@ -14,7 +13,7 @@ struct format_with_location std::string_view value; spdlog::source_loc loc; - template + template format_with_location(const String& s, const source_location& location = source_location::current()) : value{s} , loc{get_log_source_location(location)} @@ -22,39 +21,33 @@ struct format_with_location } }; -template -void Warn(format_with_location fmt, Args&&... args) +template void Warn(format_with_location fmt, Args&&... args) { spdlog::default_logger_raw()->log(fmt.loc, spdlog::level::warn, fmt::runtime(fmt.value), std::forward(args)...); } -template -void Info(format_with_location fmt, Args&&... args) +template void Info(format_with_location fmt, Args&&... args) { spdlog::default_logger_raw()->log(fmt.loc, spdlog::level::info, fmt::runtime(fmt.value), std::forward(args)...); } -template -void Debug(format_with_location fmt, Args&&... args) +template void Debug(format_with_location fmt, Args&&... args) { spdlog::default_logger_raw()->log(fmt.loc, spdlog::level::debug, fmt::runtime(fmt.value), std::forward(args)...); } -template -void Error(format_with_location fmt, Args&&... args) +template void Error(format_with_location fmt, Args&&... args) { spdlog::default_logger_raw()->log(fmt.loc, spdlog::level::err, fmt::runtime(fmt.value), std::forward(args)...); } -template -void Critical(format_with_location fmt, Args&&... args) +template void Critical(format_with_location fmt, Args&&... args) { spdlog::default_logger_raw()->log(fmt.loc, spdlog::level::critical, fmt::runtime(fmt.value), std::forward(args)...); } -template -void Trace(format_with_location fmt, Args&&... args) +template void Trace(format_with_location fmt, Args&&... args) { spdlog::default_logger_raw()->log(fmt.loc, spdlog::level::trace, fmt::runtime(fmt.value), std::forward(args)...); } -} // namespace logging \ No newline at end of file +} // namespace Log \ No newline at end of file diff --git a/src/common/Meta.h b/src/common/Meta.h index 1448025c..60ee5d4c 100644 --- a/src/common/Meta.h +++ b/src/common/Meta.h @@ -1,12 +1,14 @@ #pragma once // Source: https://www.reddit.com/r/cpp/comments/bhxx49/c20_string_literals_as_nontype_template/elwmdjp/ -template -struct FixedString { +template struct FixedString +{ char buf[N + 1]{}; - constexpr FixedString(char const* s) { - for (unsigned i = 0; i != N; ++i) buf[i] = s[i]; + constexpr FixedString(char const* s) + { + for (unsigned i = 0; i != N; ++i) + buf[i] = s[i]; } - constexpr operator char const* () const { return buf; } + constexpr operator char const*() const { return buf; } }; -template FixedString(char const (&)[N])->FixedString; \ No newline at end of file +template FixedString(char const (&)[N]) -> FixedString; \ No newline at end of file diff --git a/src/common/ScopeGuard.h b/src/common/ScopeGuard.h index 006020ea..64b90c28 100644 --- a/src/common/ScopeGuard.h +++ b/src/common/ScopeGuard.h @@ -4,8 +4,7 @@ class ScopeGuard { public: - template - ScopeGuard(Callable&& undo_func) + template ScopeGuard(Callable&& undo_func) try : f(std::forward(undo_func)) { } @@ -27,10 +26,7 @@ class ScopeGuard f(); // must not throw } - void dismiss() noexcept - { - f = nullptr; - } + void dismiss() noexcept { f = nullptr; } ScopeGuard(const ScopeGuard&) = delete; void operator=(const ScopeGuard&) = delete; diff --git a/src/d3d12/D3D12.cpp b/src/d3d12/D3D12.cpp index f9dc4597..58a99bc7 100644 --- a/src/d3d12/D3D12.cpp +++ b/src/d3d12/D3D12.cpp @@ -11,9 +11,15 @@ void D3D12::SetTrapInputInImGui(const bool acEnabled) { int showCursorState; if (acEnabled) - do { showCursorState = ShowCursor(TRUE); } while (showCursorState < 0); + do + { + showCursorState = ShowCursor(TRUE); + } while (showCursorState < 0); else - do { showCursorState = ShowCursor(FALSE); } while (showCursorState >= 0); + do + { + showCursorState = ShowCursor(FALSE); + } while (showCursorState >= 0); m_trapInputInImGui = acEnabled; } @@ -42,8 +48,7 @@ LRESULT D3D12::OnWndProc(HWND ahWnd, UINT auMsg, WPARAM awParam, LPARAM alParam) if (d3d12.m_trapInputInImGui) // TODO: look into io.WantCaptureMouse and io.WantCaptureKeyboard { // ignore mouse & keyboard events - if ((auMsg >= WM_MOUSEFIRST && auMsg <= WM_MOUSELAST) || - (auMsg >= WM_KEYFIRST && auMsg <= WM_KEYLAST)) + if ((auMsg >= WM_MOUSEFIRST && auMsg <= WM_MOUSELAST) || (auMsg >= WM_KEYFIRST && auMsg <= WM_KEYLAST)) return 1; // ignore input messages @@ -63,7 +68,12 @@ D3D12::D3D12(Window& aWindow, Paths& aPaths, Options& aOptions) HookGame(); // add repeated task which prepares next ImGui frame for update - GameMainThread::Get().AddGenericTask([this]{ PrepareUpdate(); return false; }); + GameMainThread::Get().AddGenericTask( + [this] + { + PrepareUpdate(); + return false; + }); } D3D12::~D3D12() diff --git a/src/d3d12/D3D12.h b/src/d3d12/D3D12.h index 11f489ff..0c64197b 100644 --- a/src/d3d12/D3D12.h +++ b/src/d3d12/D3D12.h @@ -4,9 +4,10 @@ #include "window/Window.h" using TPresentD3D12Downlevel = HRESULT(ID3D12CommandQueueDownlevel*, ID3D12GraphicsCommandList*, ID3D12Resource*, HWND, D3D12_DOWNLEVEL_PRESENT_FLAGS); -using TCreateCommittedResource = HRESULT(ID3D12Device*, const D3D12_HEAP_PROPERTIES*, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC*, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE*, const IID*, void**); +using TCreateCommittedResource = + HRESULT(ID3D12Device*, const D3D12_HEAP_PROPERTIES*, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC*, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE*, const IID*, void**); using TExecuteCommandLists = void(ID3D12CommandQueue*, UINT, ID3D12CommandList* const*); -using TCRenderNode_Present_InternalPresent = void*(int32_t*, uint8_t ,UINT); +using TCRenderNode_Present_InternalPresent = void*(int32_t*, uint8_t, UINT); using TCRenderGlobal_Resize = void*(uint32_t a1, uint32_t a2, uint32_t a3, uint8_t a4, int32_t* a5); using TCRenderGlobal_Shutdown = void*(uint64_t a1, uint64_t a2, uint64_t a3, uint64_t a4); @@ -33,7 +34,6 @@ struct D3D12 std::tuple CreateTextureDescriptor(); protected: - void Hook(); void HookGame(); @@ -41,7 +41,7 @@ struct D3D12 { Microsoft::WRL::ComPtr CommandAllocator; Microsoft::WRL::ComPtr BackBuffer; - D3D12_CPU_DESCRIPTOR_HANDLE MainRenderTargetDescriptor{ 0 }; + D3D12_CPU_DESCRIPTOR_HANDLE MainRenderTargetDescriptor{0}; }; bool ResetState(const bool acClearDownlevelBackbuffers = true, const bool acDestroyContext = false); @@ -52,8 +52,12 @@ struct D3D12 void PrepareUpdate(); void Update(); - static HRESULT PresentDownlevel(ID3D12CommandQueueDownlevel* apCommandQueueDownlevel, ID3D12GraphicsCommandList* apOpenCommandList, ID3D12Resource* apSourceTex2D, HWND ahWindow, D3D12_DOWNLEVEL_PRESENT_FLAGS aFlags); - static HRESULT CreateCommittedResource(ID3D12Device* apDevice, const D3D12_HEAP_PROPERTIES* acpHeapProperties, D3D12_HEAP_FLAGS aHeapFlags, const D3D12_RESOURCE_DESC* acpDesc, D3D12_RESOURCE_STATES aInitialResourceState, const D3D12_CLEAR_VALUE* acpOptimizedClearValue, const IID* acpRIID, void** appvResource); + static HRESULT PresentDownlevel( + ID3D12CommandQueueDownlevel* apCommandQueueDownlevel, ID3D12GraphicsCommandList* apOpenCommandList, ID3D12Resource* apSourceTex2D, HWND ahWindow, + D3D12_DOWNLEVEL_PRESENT_FLAGS aFlags); + static HRESULT CreateCommittedResource( + ID3D12Device* apDevice, const D3D12_HEAP_PROPERTIES* acpHeapProperties, D3D12_HEAP_FLAGS aHeapFlags, const D3D12_RESOURCE_DESC* acpDesc, + D3D12_RESOURCE_STATES aInitialResourceState, const D3D12_CLEAR_VALUE* acpOptimizedClearValue, const IID* acpRIID, void** appvResource); static void ExecuteCommandLists(ID3D12CommandQueue* apCommandQueue, UINT aNumCommandLists, ID3D12CommandList* const* apcpCommandLists); static void* CRenderNode_Present_InternalPresent(int32_t* apSomeInt, uint8_t aSomeSync, UINT aSyncInterval); @@ -61,33 +65,32 @@ struct D3D12 static void* CRenderGlobal_Shutdown(uint64_t a1, uint64_t a2, uint64_t a3, uint64_t a4); private: + TPresentD3D12Downlevel* m_realPresentD3D12Downlevel{nullptr}; + TCreateCommittedResource* m_realCreateCommittedResource{nullptr}; + TExecuteCommandLists* m_realExecuteCommandLists{nullptr}; + TCRenderNode_Present_InternalPresent* m_realInternalPresent{nullptr}; + TCRenderGlobal_Resize* m_realInternalResize{nullptr}; + TCRenderGlobal_Shutdown* m_realInternalShutdown{nullptr}; - TPresentD3D12Downlevel* m_realPresentD3D12Downlevel{ nullptr }; - TCreateCommittedResource* m_realCreateCommittedResource{ nullptr }; - TExecuteCommandLists* m_realExecuteCommandLists{ nullptr }; - TCRenderNode_Present_InternalPresent* m_realInternalPresent{ nullptr }; - TCRenderGlobal_Resize* m_realInternalResize{ nullptr }; - TCRenderGlobal_Shutdown* m_realInternalShutdown{ nullptr }; - - bool m_initialized{ false }; + bool m_initialized{false}; TiltedPhoques::Vector m_frameContexts; TiltedPhoques::Vector> m_downlevelBackbuffers; - uint32_t m_downlevelBufferIndex{ 0 }; + uint32_t m_downlevelBufferIndex{0}; - Microsoft::WRL::ComPtr m_pd3d12Device{ }; - Microsoft::WRL::ComPtr m_pd3dRtvDescHeap{ }; - Microsoft::WRL::ComPtr m_pd3dSrvDescHeap{ }; - Microsoft::WRL::ComPtr m_pd3dCommandList{ }; + Microsoft::WRL::ComPtr m_pd3d12Device{}; + Microsoft::WRL::ComPtr m_pd3dRtvDescHeap{}; + Microsoft::WRL::ComPtr m_pd3dSrvDescHeap{}; + Microsoft::WRL::ComPtr m_pd3dCommandList{}; // borrowed resources from game, do not manipulate reference counts on these! - Microsoft::WRL::ComPtr m_pdxgiSwapChain{ nullptr }; - Microsoft::WRL::ComPtr m_pCommandQueue{ nullptr }; + Microsoft::WRL::ComPtr m_pdxgiSwapChain{nullptr}; + Microsoft::WRL::ComPtr m_pCommandQueue{nullptr}; - SIZE m_outSize{ }; + SIZE m_outSize{}; - std::atomic_bool m_trapInputInImGui{ false }; - ImGuiStyle m_styleReference{ }; + std::atomic_bool m_trapInputInImGui{false}; + ImGuiStyle m_styleReference{}; Paths& m_paths; Window& m_window; @@ -95,6 +98,6 @@ struct D3D12 std::recursive_mutex m_imguiLock; std::array m_imguiDrawDataBuffers; - std::atomic_bool m_delayedTrapInput{ false }; - std::atomic_bool m_delayedTrapInputState{ false }; + std::atomic_bool m_delayedTrapInput{false}; + std::atomic_bool m_delayedTrapInputState{false}; }; diff --git a/src/d3d12/D3D12_Functions.cpp b/src/d3d12/D3D12_Functions.cpp index d26bf4c0..92f154fb 100644 --- a/src/d3d12/D3D12_Functions.cpp +++ b/src/d3d12/D3D12_Functions.cpp @@ -32,7 +32,7 @@ bool D3D12::ResetState(const bool acClearDownlevelBackbuffers, const bool acDest } m_frameContexts.clear(); - m_outSize = { 0, 0 }; + m_outSize = {0, 0}; if (acClearDownlevelBackbuffers) m_downlevelBackbuffers.clear(); @@ -76,9 +76,12 @@ bool D3D12::Initialize() m_pdxgiSwapChain->GetDesc(&sdesc); if (hWnd != sdesc.OutputWindow) - Log::Warn("D3D12::Initialize() - output window of current swap chain does not match hooked window! Currently hooked to {} while swap chain output window is {}.", reinterpret_cast(hWnd), reinterpret_cast(sdesc.OutputWindow)); + Log::Warn( + "D3D12::Initialize() - output window of current swap chain does not match hooked window! Currently hooked " + "to {} while swap chain output window is {}.", + reinterpret_cast(hWnd), reinterpret_cast(sdesc.OutputWindow)); - m_outSize = { static_cast(sdesc.BufferDesc.Width), static_cast(sdesc.BufferDesc.Height) }; + m_outSize = {static_cast(sdesc.BufferDesc.Width), static_cast(sdesc.BufferDesc.Height)}; const auto buffersCounts = std::min(sdesc.BufferCount, 3u); m_frameContexts.resize(buffersCounts); @@ -158,13 +161,16 @@ bool D3D12::InitializeDownlevel(ID3D12CommandQueue* apCommandQueue, ID3D12Resour if (m_initialized) { if (hWnd != ahWindow) - Log::Warn("D3D12::InitializeDownlevel() - current output window does not match hooked window! Currently hooked to {} while current output window is {}.", reinterpret_cast(hWnd), reinterpret_cast(ahWindow)); + Log::Warn( + "D3D12::InitializeDownlevel() - current output window does not match hooked window! Currently hooked " + "to {} while current output window is {}.", + reinterpret_cast(hWnd), reinterpret_cast(ahWindow)); return true; } const auto cmdQueueDesc = apCommandQueue->GetDesc(); - if(cmdQueueDesc.Type != D3D12_COMMAND_LIST_TYPE_DIRECT) + if (cmdQueueDesc.Type != D3D12_COMMAND_LIST_TYPE_DIRECT) { Log::Warn("D3D12::InitializeDownlevel() - ignoring command queue - invalid type of command list!"); return false; @@ -173,10 +179,13 @@ bool D3D12::InitializeDownlevel(ID3D12CommandQueue* apCommandQueue, ID3D12Resour m_pCommandQueue = apCommandQueue; const auto st2DDesc = apSourceTex2D->GetDesc(); - m_outSize = { static_cast(st2DDesc.Width), static_cast(st2DDesc.Height) }; + m_outSize = {static_cast(st2DDesc.Width), static_cast(st2DDesc.Height)}; if (hWnd != ahWindow) - Log::Warn("D3D12::InitializeDownlevel() - current output window does not match hooked window! Currently hooked to {} while current output window is {}.", reinterpret_cast(hWnd), reinterpret_cast(ahWindow)); + Log::Warn( + "D3D12::InitializeDownlevel() - current output window does not match hooked window! Currently hooked to {} " + "while current output window is {}.", + reinterpret_cast(hWnd), reinterpret_cast(ahWindow)); if (FAILED(apSourceTex2D->GetDevice(IID_PPV_ARGS(&m_pd3d12Device)))) { @@ -446,10 +455,9 @@ bool D3D12::InitializeImGui(size_t aBuffersCounts) return false; } - if (!ImGui_ImplDX12_Init(m_pd3d12Device.Get(), static_cast(aBuffersCounts), - DXGI_FORMAT_R8G8B8A8_UNORM, m_pd3dSrvDescHeap.Get(), - m_pd3dSrvDescHeap->GetCPUDescriptorHandleForHeapStart(), - m_pd3dSrvDescHeap->GetGPUDescriptorHandleForHeapStart())) + if (!ImGui_ImplDX12_Init( + m_pd3d12Device.Get(), static_cast(aBuffersCounts), DXGI_FORMAT_R8G8B8A8_UNORM, m_pd3dSrvDescHeap.Get(), m_pd3dSrvDescHeap->GetCPUDescriptorHandleForHeapStart(), + m_pd3dSrvDescHeap->GetGPUDescriptorHandleForHeapStart())) { Log::Error("D3D12::InitializeImGui() - ImGui_ImplDX12_Init call failed!"); ImGui_ImplWin32_Shutdown(); @@ -531,7 +539,7 @@ void D3D12::Update() barrier.Transition.StateBefore = D3D12_RESOURCE_STATE_PRESENT; barrier.Transition.StateAfter = D3D12_RESOURCE_STATE_RENDER_TARGET; - ID3D12DescriptorHeap* heaps[] = { m_pd3dSrvDescHeap.Get() }; + ID3D12DescriptorHeap* heaps[] = {m_pd3dSrvDescHeap.Get()}; m_pd3dCommandList->Reset(frameContext.CommandAllocator.Get(), nullptr); m_pd3dCommandList->ResourceBarrier(1, &barrier); @@ -545,7 +553,6 @@ void D3D12::Update() m_pd3dCommandList->ResourceBarrier(1, &barrier); m_pd3dCommandList->Close(); - ID3D12CommandList* commandLists[] = { m_pd3dCommandList.Get() }; + ID3D12CommandList* commandLists[] = {m_pd3dCommandList.Get()}; m_pCommandQueue->ExecuteCommandLists(1, commandLists); } - diff --git a/src/d3d12/D3D12_Hooks.cpp b/src/d3d12/D3D12_Hooks.cpp index 698e3e45..50570ed8 100644 --- a/src/d3d12/D3D12_Hooks.cpp +++ b/src/d3d12/D3D12_Hooks.cpp @@ -10,18 +10,20 @@ #include -HRESULT D3D12::PresentDownlevel(ID3D12CommandQueueDownlevel* apCommandQueueDownlevel, ID3D12GraphicsCommandList* apOpenCommandList, ID3D12Resource* apSourceTex2D, HWND ahWindow, D3D12_DOWNLEVEL_PRESENT_FLAGS aFlags) +HRESULT D3D12::PresentDownlevel( + ID3D12CommandQueueDownlevel* apCommandQueueDownlevel, ID3D12GraphicsCommandList* apOpenCommandList, ID3D12Resource* apSourceTex2D, HWND ahWindow, + D3D12_DOWNLEVEL_PRESENT_FLAGS aFlags) { if (CET::Get().GetOptions().Patches.DisableWin7Vsync) aFlags &= ~D3D12_DOWNLEVEL_PRESENT_FLAG_WAIT_FOR_VBLANK; auto& d3d12 = CET::Get().GetD3D12(); - // On Windows 7 there is no swap chain to query the current backbuffer index. Instead do a reverse lookup in the known backbuffer list - const auto cbegin = d3d12.m_downlevelBackbuffers.size() >= g_numDownlevelBackbuffersRequired - ? d3d12.m_downlevelBackbuffers.cend() - g_numDownlevelBackbuffersRequired - : d3d12.m_downlevelBackbuffers.cbegin(); - auto it = std::find_if(cbegin, d3d12.m_downlevelBackbuffers.cend(), [apSourceTex2D](const auto& downlevelBackbuffer){ return downlevelBackbuffer.Get() == apSourceTex2D; }); + // On Windows 7 there is no swap chain to query the current backbuffer index. Instead do a reverse lookup in the + // known backbuffer list + const auto cbegin = d3d12.m_downlevelBackbuffers.size() >= g_numDownlevelBackbuffersRequired ? d3d12.m_downlevelBackbuffers.cend() - g_numDownlevelBackbuffersRequired + : d3d12.m_downlevelBackbuffers.cbegin(); + auto it = std::find_if(cbegin, d3d12.m_downlevelBackbuffers.cend(), [apSourceTex2D](const auto& downlevelBackbuffer) { return downlevelBackbuffer.Get() == apSourceTex2D; }); if (it == d3d12.m_downlevelBackbuffers.cend()) { if (d3d12.m_initialized) @@ -49,16 +51,17 @@ HRESULT D3D12::PresentDownlevel(ID3D12CommandQueueDownlevel* apCommandQueueDownl return d3d12.m_realPresentD3D12Downlevel(apCommandQueueDownlevel, apOpenCommandList, apSourceTex2D, ahWindow, aFlags); } -HRESULT D3D12::CreateCommittedResource(ID3D12Device* apDevice, const D3D12_HEAP_PROPERTIES* acpHeapProperties, D3D12_HEAP_FLAGS aHeapFlags, const D3D12_RESOURCE_DESC* acpDesc, +HRESULT D3D12::CreateCommittedResource( + ID3D12Device* apDevice, const D3D12_HEAP_PROPERTIES* acpHeapProperties, D3D12_HEAP_FLAGS aHeapFlags, const D3D12_RESOURCE_DESC* acpDesc, D3D12_RESOURCE_STATES aInitialResourceState, const D3D12_CLEAR_VALUE* acpOptimizedClearValue, const IID* acpRIID, void** appvResource) { auto& d3d12 = CET::Get().GetD3D12(); // Check if this is a backbuffer resource being created bool isBackBuffer = false; - if (acpHeapProperties != nullptr && acpHeapProperties->Type == D3D12_HEAP_TYPE_DEFAULT && aHeapFlags == D3D12_HEAP_FLAG_NONE && - acpDesc != nullptr && acpDesc->Flags == D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET && aInitialResourceState == D3D12_RESOURCE_STATE_COMMON && - acpOptimizedClearValue == nullptr && acpRIID != nullptr && IsEqualGUID(*acpRIID, __uuidof(ID3D12Resource))) + if (acpHeapProperties != nullptr && acpHeapProperties->Type == D3D12_HEAP_TYPE_DEFAULT && aHeapFlags == D3D12_HEAP_FLAG_NONE && acpDesc != nullptr && + acpDesc->Flags == D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET && aInitialResourceState == D3D12_RESOURCE_STATE_COMMON && acpOptimizedClearValue == nullptr && + acpRIID != nullptr && IsEqualGUID(*acpRIID, __uuidof(ID3D12Resource))) { isBackBuffer = true; } @@ -73,7 +76,8 @@ HRESULT D3D12::CreateCommittedResource(ID3D12Device* apDevice, const D3D12_HEAP_ if (d3d12.m_initialized) { - // Reset state (a resize may have happened), but don't touch the backbuffer list. The downlevel Present hook will take care of this + // Reset state (a resize may have happened), but don't touch the backbuffer list. The downlevel Present hook + // will take care of this d3d12.ResetState(false); } } @@ -81,8 +85,7 @@ HRESULT D3D12::CreateCommittedResource(ID3D12Device* apDevice, const D3D12_HEAP_ return result; } -void D3D12::ExecuteCommandLists(ID3D12CommandQueue* apCommandQueue, UINT aNumCommandLists, - ID3D12CommandList* const* apcpCommandLists) +void D3D12::ExecuteCommandLists(ID3D12CommandQueue* apCommandQueue, UINT aNumCommandLists, ID3D12CommandList* const* apcpCommandLists) { auto& d3d12 = CET::Get().GetD3D12(); if (d3d12.m_pCommandQueue == nullptr) @@ -123,7 +126,8 @@ void* D3D12::CRenderNode_Present_InternalPresent(int32_t* apDeviceIndex, uint8_t d3d12.Update(); else { - // NOTE: checking against Windows 8 as Windows 10 requires specific compatibility manifest to be detected by these + // NOTE: checking against Windows 8 as Windows 10 requires specific compatibility manifest to be detected by + // these // DX12 does not work on Windows 8 and 8.1 so we should be safe with this check if (IsWindows8OrGreater()) { @@ -133,17 +137,20 @@ void* D3D12::CRenderNode_Present_InternalPresent(int32_t* apDeviceIndex, uint8_t } else { - std::call_once(s_kieroOnce, [] { - if (kiero::init() != kiero::Status::Success) - Log::Error("Kiero failed!"); - else + std::call_once( + s_kieroOnce, + [] { - std::string_view d3d12type = kiero::isDownLevelDevice() ? "D3D12on7" : "D3D12"; - Log::Info("Kiero initialized for {}", d3d12type); - - CET::Get().GetD3D12().Hook(); - } - }); + if (kiero::init() != kiero::Status::Success) + Log::Error("Kiero failed!"); + else + { + std::string_view d3d12type = kiero::isDownLevelDevice() ? "D3D12on7" : "D3D12"; + Log::Info("Kiero initialized for {}", d3d12type); + + CET::Get().GetD3D12().Hook(); + } + }); } } @@ -205,8 +212,7 @@ void D3D12::Hook() int d3d12FailedHooksCount = 0; int d3d12CompleteHooksCount = 0; - if (kiero::bind(175, reinterpret_cast(&m_realPresentD3D12Downlevel), reinterpret_cast(&PresentDownlevel)) != - kiero::Status::Success) + if (kiero::bind(175, reinterpret_cast(&m_realPresentD3D12Downlevel), reinterpret_cast(&PresentDownlevel)) != kiero::Status::Success) { Log::Error("D3D12on7: Downlevel Present hook failed!"); ++d3d12FailedHooksCount; @@ -217,8 +223,7 @@ void D3D12::Hook() ++d3d12CompleteHooksCount; } - if (kiero::bind(27, reinterpret_cast(&m_realCreateCommittedResource), reinterpret_cast(&CreateCommittedResource)) != - kiero::Status::Success) + if (kiero::bind(27, reinterpret_cast(&m_realCreateCommittedResource), reinterpret_cast(&CreateCommittedResource)) != kiero::Status::Success) { Log::Error("D3D12on7: CreateCommittedResource Hook failed!"); ++d3d12FailedHooksCount; @@ -229,8 +234,7 @@ void D3D12::Hook() ++d3d12CompleteHooksCount; } - if (kiero::bind(54, reinterpret_cast(&m_realExecuteCommandLists), reinterpret_cast(&ExecuteCommandLists)) != - kiero::Status::Success) + if (kiero::bind(54, reinterpret_cast(&m_realExecuteCommandLists), reinterpret_cast(&ExecuteCommandLists)) != kiero::Status::Success) { Log::Error("D3D12on7: ExecuteCommandLists hook failed!"); ++d3d12FailedHooksCount; @@ -242,11 +246,9 @@ void D3D12::Hook() } if (d3d12FailedHooksCount == 0) - Log::Info("D3D12on7: hook complete. ({}/{})", d3d12CompleteHooksCount, - d3d12CompleteHooksCount + d3d12FailedHooksCount); + Log::Info("D3D12on7: hook complete. ({}/{})", d3d12CompleteHooksCount, d3d12CompleteHooksCount + d3d12FailedHooksCount); else - Log::Error("D3D12on7: hook failed! ({}/{})", d3d12CompleteHooksCount, - d3d12CompleteHooksCount + d3d12FailedHooksCount); + Log::Error("D3D12on7: hook failed! ({}/{})", d3d12CompleteHooksCount, d3d12CompleteHooksCount + d3d12FailedHooksCount); } else Log::Info("Skipping internal d3d12 hook, using game method"); @@ -258,25 +260,21 @@ void D3D12::HookGame() const RED4ext::RelocPtr resizeInternal(CyberEngineTweaks::Addresses::CRenderGlobal_Resize); const RED4ext::RelocPtr shutdownInternal(CyberEngineTweaks::Addresses::CRenderGlobal_Shutdown); - if (MH_CreateHook(presentInternal.GetAddr(), reinterpret_cast(&CRenderNode_Present_InternalPresent), - reinterpret_cast(&m_realInternalPresent)) != MH_OK || + if (MH_CreateHook(presentInternal.GetAddr(), reinterpret_cast(&CRenderNode_Present_InternalPresent), reinterpret_cast(&m_realInternalPresent)) != MH_OK || MH_EnableHook(presentInternal.GetAddr()) != MH_OK) Log::Error("Could not hook CRenderNode_Present_InternalPresent function!"); else Log::Info("CRenderNode_Present_InternalPresent function hook complete!"); - if (MH_CreateHook(resizeInternal.GetAddr(), reinterpret_cast(&CRenderGlobal_Resize), - reinterpret_cast(&m_realInternalResize)) != MH_OK || + if (MH_CreateHook(resizeInternal.GetAddr(), reinterpret_cast(&CRenderGlobal_Resize), reinterpret_cast(&m_realInternalResize)) != MH_OK || MH_EnableHook(resizeInternal.GetAddr()) != MH_OK) Log::Error("Could not hook CRenderGlobal_Resize function!"); else Log::Info("CRenderGlobal_Resize function hook complete!"); - if (MH_CreateHook(shutdownInternal.GetAddr(), reinterpret_cast(&CRenderGlobal_Shutdown), - reinterpret_cast(&m_realInternalShutdown)) != MH_OK || + if (MH_CreateHook(shutdownInternal.GetAddr(), reinterpret_cast(&CRenderGlobal_Shutdown), reinterpret_cast(&m_realInternalShutdown)) != MH_OK || MH_EnableHook(shutdownInternal.GetAddr()) != MH_OK) Log::Error("Could not hook CRenderGlobal_Shutdown function!"); else Log::Info("CRenderGlobal_Shutdown function hook complete!"); } - diff --git a/src/dllmain.cpp b/src/dllmain.cpp index 22294c17..98aa8bed 100644 --- a/src/dllmain.cpp +++ b/src/dllmain.cpp @@ -64,8 +64,9 @@ static void Initialize() MH_EnableHook(nullptr); } - catch(...) - {} + catch (...) + { + } } static void Shutdown() @@ -96,16 +97,11 @@ BOOL APIENTRY DllMain(HMODULE mod, DWORD ul_reason_for_call, LPVOID) { DisableThreadLibraryCalls(mod); - switch(ul_reason_for_call) + switch (ul_reason_for_call) { - case DLL_PROCESS_ATTACH: - Initialize(); - break; - case DLL_PROCESS_DETACH: - Shutdown(); - break; - default: - break; + case DLL_PROCESS_ATTACH: Initialize(); break; + case DLL_PROCESS_DETACH: Shutdown(); break; + default: break; } return TRUE; diff --git a/src/imgui_impl/dx12.cpp b/src/imgui_impl/dx12.cpp index 74514904..50078e76 100644 --- a/src/imgui_impl/dx12.cpp +++ b/src/imgui_impl/dx12.cpp @@ -2,12 +2,13 @@ // This needs to be used along with a Platform Backend (e.g. Win32) // Implemented features: -// [X] Renderer: User texture binding. Use 'D3D12_GPU_DESCRIPTOR_HANDLE' as ImTextureID. Read the FAQ about ImTextureID! -// [X] Renderer: Support for large meshes (64k+ vertices) with 16-bit indices. +// [X] Renderer: User texture binding. Use 'D3D12_GPU_DESCRIPTOR_HANDLE' as ImTextureID. Read the FAQ about +// ImTextureID! [X] Renderer: Support for large meshes (64k+ vertices) with 16-bit indices. // Important: to compile on 32-bit systems, this backend requires code to be compiled with '#define ImTextureID ImU64'. // This is because we need ImTextureID to carry a 64-bit value and by default ImTextureID is defined as void*. -// This define is set in the example .vcxproj file and need to be replicated in your app or by adding it to your imconfig.h file. +// This define is set in the example .vcxproj file and need to be replicated in your app or by adding it to your +// imconfig.h file. // You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this. // If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp. @@ -15,18 +16,19 @@ // CHANGELOG // (minor and older changes stripped away, please see git history for details) -// 2020-09-16: DirectX12: Avoid rendering calls with zero-sized scissor rectangle since it generates a validation layer warning. -// 2020-09-08: DirectX12: Clarified support for building on 32-bit systems by redefining ImTextureID. -// 2019-10-18: DirectX12: *BREAKING CHANGE* Added extra ID3D12DescriptorHeap parameter to ImGui_ImplDX12_Init() function. -// 2019-05-29: DirectX12: Added support for large mesh (64K+ vertices), enable ImGuiBackendFlags_RendererHasVtxOffset flag. -// 2019-04-30: DirectX12: Added support for special ImDrawCallback_ResetRenderState callback to reset render state. -// 2019-03-29: Misc: Various minor tidying up. -// 2018-12-03: Misc: Added #pragma comment statement to automatically link with d3dcompiler.lib when using D3DCompile(). -// 2018-11-30: Misc: Setting up io.BackendRendererName so it can be displayed in the About Window. +// 2020-09-16: DirectX12: Avoid rendering calls with zero-sized scissor rectangle since it generates a validation layer +// warning. 2020-09-08: DirectX12: Clarified support for building on 32-bit systems by redefining ImTextureID. +// 2019-10-18: DirectX12: *BREAKING CHANGE* Added extra ID3D12DescriptorHeap parameter to ImGui_ImplDX12_Init() +// function. 2019-05-29: DirectX12: Added support for large mesh (64K+ vertices), enable +// ImGuiBackendFlags_RendererHasVtxOffset flag. 2019-04-30: DirectX12: Added support for special +// ImDrawCallback_ResetRenderState callback to reset render state. 2019-03-29: Misc: Various minor tidying up. +// 2018-12-03: Misc: Added #pragma comment statement to automatically link with d3dcompiler.lib when using +// D3DCompile(). 2018-11-30: Misc: Setting up io.BackendRendererName so it can be displayed in the About Window. // 2018-06-12: DirectX12: Moved the ID3D12GraphicsCommandList* parameter from NewFrame() to RenderDrawData(). // 2018-06-08: Misc: Extracted imgui_impl_dx12.cpp/.h away from the old combined DX12+Win32 example. -// 2018-06-08: DirectX12: Use draw_data->DisplayPos and draw_data->DisplaySize to setup projection matrix and clipping rectangle (to ease support for future multi-viewport). -// 2018-02-22: Merged into master with all Win32 code synchronized to other examples. +// 2018-06-08: DirectX12: Use draw_data->DisplayPos and draw_data->DisplaySize to setup projection matrix and clipping +// rectangle (to ease support for future multi-viewport). 2018-02-22: Merged into master with all Win32 code +// synchronized to other examples. #include @@ -38,27 +40,26 @@ #endif // DirectX data -static ID3D12Device* g_pd3dDevice = NULL; -static ID3D12RootSignature* g_pRootSignature = NULL; -static ID3D12PipelineState* g_pPipelineState = NULL; -static DXGI_FORMAT g_RTVFormat = DXGI_FORMAT_UNKNOWN; -static ID3D12Resource* g_pFontTextureResource = NULL; +static ID3D12Device* g_pd3dDevice = NULL; +static ID3D12RootSignature* g_pRootSignature = NULL; +static ID3D12PipelineState* g_pPipelineState = NULL; +static DXGI_FORMAT g_RTVFormat = DXGI_FORMAT_UNKNOWN; +static ID3D12Resource* g_pFontTextureResource = NULL; static D3D12_CPU_DESCRIPTOR_HANDLE g_hFontSrvCpuDescHandle = {}; static D3D12_GPU_DESCRIPTOR_HANDLE g_hFontSrvGpuDescHandle = {}; struct FrameResources { - ID3D12Resource* IndexBuffer; - ID3D12Resource* VertexBuffer; - int IndexBufferSize; - int VertexBufferSize; + ID3D12Resource* IndexBuffer; + ID3D12Resource* VertexBuffer; + int IndexBufferSize; + int VertexBufferSize; }; -static FrameResources* g_pFrameResources = NULL; -static UINT g_numFramesInFlight = 0; -static UINT g_frameIndex = UINT_MAX; +static FrameResources* g_pFrameResources = NULL; +static UINT g_numFramesInFlight = 0; +static UINT g_frameIndex = UINT_MAX; -template -static void SafeRelease(T*& apRes) +template static void SafeRelease(T*& apRes) { if (apRes) apRes->Release(); @@ -67,25 +68,25 @@ static void SafeRelease(T*& apRes) struct VERTEX_CONSTANT_BUFFER { - float mvp[4][4]; + float mvp[4][4]; }; static void ImGui_ImplDX12_SetupRenderState(ImDrawData* apDrawData, ID3D12GraphicsCommandList* apCommandLists, FrameResources* apFrameResource) { // Setup orthographic projection matrix into our constant buffer - // Our visible imgui space lies from draw_data->DisplayPos (top left) to draw_data->DisplayPos+data_data->DisplaySize (bottom right). + // Our visible imgui space lies from draw_data->DisplayPos (top left) to + // draw_data->DisplayPos+data_data->DisplaySize (bottom right). VERTEX_CONSTANT_BUFFER vertex_constant_buffer; { float L = apDrawData->DisplayPos.x; float R = apDrawData->DisplayPos.x + apDrawData->DisplaySize.x; float T = apDrawData->DisplayPos.y; float B = apDrawData->DisplayPos.y + apDrawData->DisplaySize.y; - float mvp[4][4] = - { - { 2.0f/(R-L), 0.0f, 0.0f, 0.0f }, - { 0.0f, 2.0f/(T-B), 0.0f, 0.0f }, - { 0.0f, 0.0f, 0.5f, 0.0f }, - { (R+L)/(L-R), (T+B)/(B-T), 0.5f, 1.0f }, + float mvp[4][4] = { + {2.0f / (R - L), 0.0f, 0.0f, 0.0f}, + {0.0f, 2.0f / (T - B), 0.0f, 0.0f}, + {0.0f, 0.0f, 0.5f, 0.0f}, + {(R + L) / (L - R), (T + B) / (B - T), 0.5f, 1.0f}, }; memcpy(&vertex_constant_buffer.mvp, mvp, sizeof(mvp)); } @@ -121,7 +122,7 @@ static void ImGui_ImplDX12_SetupRenderState(ImDrawData* apDrawData, ID3D12Graphi apCommandLists->SetGraphicsRoot32BitConstants(0, 16, &vertex_constant_buffer, 0); // Setup blend factor - const float blend_factor[4] = { 0.f, 0.f, 0.f, 0.f }; + const float blend_factor[4] = {0.f, 0.f, 0.f, 0.f}; apCommandLists->OMSetBlendFactor(blend_factor); } @@ -186,7 +187,7 @@ void ImGui_ImplDX12_RenderDrawData(ImDrawData* apDrawData, ID3D12GraphicsCommand } // Upload vertex/index data into a single contiguous GPU buffer - void* vtx_resource, *idx_resource; + void *vtx_resource, *idx_resource; D3D12_RANGE range; memset(&range, 0, sizeof(D3D12_RANGE)); if (fr->VertexBuffer->Map(0, &range, &vtx_resource) != S_OK) @@ -223,7 +224,8 @@ void ImGui_ImplDX12_RenderDrawData(ImDrawData* apDrawData, ID3D12GraphicsCommand if (pcmd->UserCallback != NULL) { // User callback, registered via ImDrawList::AddCallback() - // (ImDrawCallback_ResetRenderState is a special callback value used by the user to request the renderer to reset render state.) + // (ImDrawCallback_ResetRenderState is a special callback value used by the user to request the renderer + // to reset render state.) if (pcmd->UserCallback == ImDrawCallback_ResetRenderState) ImGui_ImplDX12_SetupRenderState(apDrawData, apCommandLists, fr); else @@ -232,7 +234,8 @@ void ImGui_ImplDX12_RenderDrawData(ImDrawData* apDrawData, ID3D12GraphicsCommand else { // Apply Scissor, Bind texture, Draw - const D3D12_RECT r = { (LONG)(pcmd->ClipRect.x - clip_off.x), (LONG)(pcmd->ClipRect.y - clip_off.y), (LONG)(pcmd->ClipRect.z - clip_off.x), (LONG)(pcmd->ClipRect.w - clip_off.y) }; + const D3D12_RECT r = { + (LONG)(pcmd->ClipRect.x - clip_off.x), (LONG)(pcmd->ClipRect.y - clip_off.y), (LONG)(pcmd->ClipRect.z - clip_off.x), (LONG)(pcmd->ClipRect.w - clip_off.y)}; if (r.right > r.left && r.bottom > r.top) { apCommandLists->SetGraphicsRootDescriptorTable(1, *(D3D12_GPU_DESCRIPTOR_HANDLE*)&pcmd->TextureId); @@ -277,8 +280,7 @@ static void ImGui_ImplDX12_CreateFontsTexture(ID3D12CommandQueue* apCommandQueue desc.Flags = D3D12_RESOURCE_FLAG_NONE; ID3D12Resource* pTexture = NULL; - g_pd3dDevice->CreateCommittedResource(&props, D3D12_HEAP_FLAG_NONE, &desc, - D3D12_RESOURCE_STATE_COPY_DEST, NULL, IID_PPV_ARGS(&pTexture)); + g_pd3dDevice->CreateCommittedResource(&props, D3D12_HEAP_FLAG_NONE, &desc, D3D12_RESOURCE_STATE_COPY_DEST, NULL, IID_PPV_ARGS(&pTexture)); UINT uploadPitch = (width * 4 + D3D12_TEXTURE_DATA_PITCH_ALIGNMENT - 1u) & ~(D3D12_TEXTURE_DATA_PITCH_ALIGNMENT - 1u); UINT uploadSize = height * uploadPitch; @@ -299,16 +301,15 @@ static void ImGui_ImplDX12_CreateFontsTexture(ID3D12CommandQueue* apCommandQueue props.MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN; ID3D12Resource* uploadBuffer = NULL; - HRESULT hr = g_pd3dDevice->CreateCommittedResource(&props, D3D12_HEAP_FLAG_NONE, &desc, - D3D12_RESOURCE_STATE_GENERIC_READ, NULL, IID_PPV_ARGS(&uploadBuffer)); + HRESULT hr = g_pd3dDevice->CreateCommittedResource(&props, D3D12_HEAP_FLAG_NONE, &desc, D3D12_RESOURCE_STATE_GENERIC_READ, NULL, IID_PPV_ARGS(&uploadBuffer)); IM_ASSERT(SUCCEEDED(hr)); void* mapped = NULL; - D3D12_RANGE range = { 0, uploadSize }; + D3D12_RANGE range = {0, uploadSize}; hr = uploadBuffer->Map(0, &range, &mapped); IM_ASSERT(SUCCEEDED(hr)); for (int y = 0; y < height; y++) - memcpy((void*) ((uintptr_t) mapped + y * uploadPitch), pixels + y * width * 4, width * 4); + memcpy((void*)((uintptr_t)mapped + y * uploadPitch), pixels + y * width * 4, width * 4); uploadBuffer->Unmap(0, &range); D3D12_TEXTURE_COPY_LOCATION srcLocation = {}; @@ -328,10 +329,10 @@ static void ImGui_ImplDX12_CreateFontsTexture(ID3D12CommandQueue* apCommandQueue D3D12_RESOURCE_BARRIER barrier = {}; barrier.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION; barrier.Flags = D3D12_RESOURCE_BARRIER_FLAG_NONE; - barrier.Transition.pResource = pTexture; + barrier.Transition.pResource = pTexture; barrier.Transition.Subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES; barrier.Transition.StateBefore = D3D12_RESOURCE_STATE_COPY_DEST; - barrier.Transition.StateAfter = D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE; + barrier.Transition.StateAfter = D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE; ID3D12Fence* fence = NULL; hr = g_pd3dDevice->CreateFence(0, D3D12_FENCE_FLAG_NONE, IID_PPV_ARGS(&fence)); @@ -434,23 +435,19 @@ bool ImGui_ImplDX12_CreateDeviceObjects(ID3D12CommandQueue* apCommandQueue) desc.pParameters = param; desc.NumStaticSamplers = 1; desc.pStaticSamplers = &staticSampler; - desc.Flags = - D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT | - D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS | - D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS | - D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS; + desc.Flags = D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT | D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS | + D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS | D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS; // See if any version of d3d12.dll is already loaded in the process. If so, give preference to that. static HINSTANCE d3d12_dll = ::GetModuleHandle(_T("d3d12.dll")); if (d3d12_dll == NULL) { - // Attempt to load d3d12.dll from local directories in decreasing order of likelihood. This will only succeed if - // (1) the current OS is Windows 7, and - // (2) there exists a version of d3d12.dll for Windows 7 (D3D12On7) in one of the following directories. - static const TCHAR* localD3d12Paths[] = - { - _T(".\\d3d12on7\\d3d12.dll"), // used by some games - _T(".\\12on7\\d3d12.dll") // used in the Microsoft D3D12On7 sample + // Attempt to load d3d12.dll from local directories in decreasing order of likelihood. This will only + // succeed if (1) the current OS is Windows 7, and (2) there exists a version of d3d12.dll for Windows 7 + // (D3D12On7) in one of the following directories. + static const TCHAR* localD3d12Paths[] = { + _T(".\\d3d12on7\\d3d12.dll"), // used by some games + _T(".\\12on7\\d3d12.dll") // used in the Microsoft D3D12On7 sample }; for (unsigned int i = 0; i < _countof(localD3d12Paths); i++) @@ -480,10 +477,12 @@ bool ImGui_ImplDX12_CreateDeviceObjects(ID3D12CommandQueue* apCommandQueue) blob->Release(); } - // By using D3DCompile() from / d3dcompiler.lib, we introduce a dependency to a given version of d3dcompiler_XX.dll (see D3DCOMPILER_DLL_A) - // If you would like to use this DX12 sample code but remove this dependency you can: - // 1) compile once, save the compiled shader blobs into a file or source code and pass them to CreateVertexShader()/CreatePixelShader() [preferred solution] - // 2) use code to detect any version of the DLL and grab a pointer to D3DCompile from the DLL. + // By using D3DCompile() from / d3dcompiler.lib, we introduce a dependency to a given version of + // d3dcompiler_XX.dll (see D3DCOMPILER_DLL_A) If you would like to use this DX12 sample code but remove this + // dependency you can: + // 1) compile once, save the compiled shader blobs into a file or source code and pass them to + // CreateVertexShader()/CreatePixelShader() [preferred solution] 2) use code to detect any version of the DLL and + // grab a pointer to D3DCompile from the DLL. // See https://github.com/ocornut/imgui/pull/638 for sources and details. D3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc; @@ -502,8 +501,7 @@ bool ImGui_ImplDX12_CreateDeviceObjects(ID3D12CommandQueue* apCommandQueue) // Create the vertex shader { - static const char* vertexShader = - "cbuffer vertexBuffer : register(b0) \ + static const char* vertexShader = "cbuffer vertexBuffer : register(b0) \ {\ float4x4 ProjectionMatrix; \ };\ @@ -531,23 +529,22 @@ bool ImGui_ImplDX12_CreateDeviceObjects(ID3D12CommandQueue* apCommandQueue) }"; if (FAILED(D3DCompile(vertexShader, strlen(vertexShader), NULL, NULL, NULL, "main", "vs_5_0", 0, 0, &vertexShaderBlob, NULL))) - return false; // NB: Pass ID3D10Blob* pErrorBlob to D3DCompile() to get error showing in (const char*)pErrorBlob->GetBufferPointer(). Make sure to Release() the blob! - psoDesc.VS = { vertexShaderBlob->GetBufferPointer(), vertexShaderBlob->GetBufferSize() }; + return false; // NB: Pass ID3D10Blob* pErrorBlob to D3DCompile() to get error showing in (const + // char*)pErrorBlob->GetBufferPointer(). Make sure to Release() the blob! + psoDesc.VS = {vertexShaderBlob->GetBufferPointer(), vertexShaderBlob->GetBufferSize()}; // Create the input layout - static D3D12_INPUT_ELEMENT_DESC local_layout[] = - { - { "POSITION", 0, DXGI_FORMAT_R32G32_FLOAT, 0, (UINT)IM_OFFSETOF(ImDrawVert, pos), D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 }, - { "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, (UINT)IM_OFFSETOF(ImDrawVert, uv), D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 }, - { "COLOR", 0, DXGI_FORMAT_R8G8B8A8_UNORM, 0, (UINT)IM_OFFSETOF(ImDrawVert, col), D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 }, + static D3D12_INPUT_ELEMENT_DESC local_layout[] = { + {"POSITION", 0, DXGI_FORMAT_R32G32_FLOAT, 0, (UINT)IM_OFFSETOF(ImDrawVert, pos), D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0}, + {"TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, (UINT)IM_OFFSETOF(ImDrawVert, uv), D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0}, + {"COLOR", 0, DXGI_FORMAT_R8G8B8A8_UNORM, 0, (UINT)IM_OFFSETOF(ImDrawVert, col), D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0}, }; - psoDesc.InputLayout = { local_layout, 3 }; + psoDesc.InputLayout = {local_layout, 3}; } // Create the pixel shader { - static const char* pixelShader = - "struct PS_INPUT\ + static const char* pixelShader = "struct PS_INPUT\ {\ float4 pos : SV_POSITION;\ float4 col : COLOR0;\ @@ -565,9 +562,10 @@ bool ImGui_ImplDX12_CreateDeviceObjects(ID3D12CommandQueue* apCommandQueue) if (FAILED(D3DCompile(pixelShader, strlen(pixelShader), NULL, NULL, NULL, "main", "ps_5_0", 0, 0, &pixelShaderBlob, NULL))) { vertexShaderBlob->Release(); - return false; // NB: Pass ID3D10Blob* pErrorBlob to D3DCompile() to get error showing in (const char*)pErrorBlob->GetBufferPointer(). Make sure to Release() the blob! + return false; // NB: Pass ID3D10Blob* pErrorBlob to D3DCompile() to get error showing in (const + // char*)pErrorBlob->GetBufferPointer(). Make sure to Release() the blob! } - psoDesc.PS = { pixelShaderBlob->GetBufferPointer(), pixelShaderBlob->GetBufferSize() }; + psoDesc.PS = {pixelShaderBlob->GetBufferPointer(), pixelShaderBlob->GetBufferSize()}; } // Create the blending setup @@ -643,13 +641,15 @@ void ImGui_ImplDX12_InvalidateDeviceObjects() } } -bool ImGui_ImplDX12_Init(ID3D12Device* apDevice, int aNumFramesInFlight, DXGI_FORMAT aRTVFormat, ID3D12DescriptorHeap* apSRVHeapDesc, - D3D12_CPU_DESCRIPTOR_HANDLE aFontSRVDescCPU, D3D12_GPU_DESCRIPTOR_HANDLE aFontSRVDescGPU) +bool ImGui_ImplDX12_Init( + ID3D12Device* apDevice, int aNumFramesInFlight, DXGI_FORMAT aRTVFormat, ID3D12DescriptorHeap* apSRVHeapDesc, D3D12_CPU_DESCRIPTOR_HANDLE aFontSRVDescCPU, + D3D12_GPU_DESCRIPTOR_HANDLE aFontSRVDescGPU) { // Setup backend capabilities flags ImGuiIO& io = ImGui::GetIO(); io.BackendRendererName = "imgui_impl_dx12"; - io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset; // We can honor the ImDrawCmd::VtxOffset field, allowing for large meshes. + io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset; // We can honor the ImDrawCmd::VtxOffset field, allowing + // for large meshes. g_pd3dDevice = apDevice; g_RTVFormat = aRTVFormat; diff --git a/src/imgui_impl/dx12.h b/src/imgui_impl/dx12.h index 8d1a3f42..899afbdc 100644 --- a/src/imgui_impl/dx12.h +++ b/src/imgui_impl/dx12.h @@ -2,19 +2,20 @@ // This needs to be used along with a Platform Backend (e.g. Win32) // Implemented features: -// [X] Renderer: User texture binding. Use 'D3D12_GPU_DESCRIPTOR_HANDLE' as ImTextureID. Read the FAQ about ImTextureID! -// [X] Renderer: Support for large meshes (64k+ vertices) with 16-bit indices. +// [X] Renderer: User texture binding. Use 'D3D12_GPU_DESCRIPTOR_HANDLE' as ImTextureID. Read the FAQ about +// ImTextureID! [X] Renderer: Support for large meshes (64k+ vertices) with 16-bit indices. // Important: to compile on 32-bit systems, this backend requires code to be compiled with '#define ImTextureID ImU64'. // This is because we need ImTextureID to carry a 64-bit value and by default ImTextureID is defined as void*. -// This define is set in the example .vcxproj file and need to be replicated in your app or by adding it to your imconfig.h file. +// This define is set in the example .vcxproj file and need to be replicated in your app or by adding it to your +// imconfig.h file. // You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this. // If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp. // Read online: https://github.com/ocornut/imgui/tree/master/docs #pragma once -#include "imgui.h" // IMGUI_IMPL_API +#include "imgui.h" // IMGUI_IMPL_API struct ID3D12Device; struct ID3D12DescriptorHeap; @@ -25,8 +26,11 @@ struct D3D12_GPU_DESCRIPTOR_HANDLE; // cmd_list is the command list that the implementation will use to render imgui draw lists. // Before calling the render function, caller must prepare cmd_list by resetting it and setting the appropriate // render target and descriptor heap that contains font_srv_cpu_desc_handle/font_srv_gpu_desc_handle. -// font_srv_cpu_desc_handle and font_srv_gpu_desc_handle are handles to a single SRV descriptor to use for the internal font texture. -IMGUI_IMPL_API bool ImGui_ImplDX12_Init(ID3D12Device* apDevice, int aNumFramesInFlight, DXGI_FORMAT aRTVFormat, ID3D12DescriptorHeap* apSRVHeapDesc, D3D12_CPU_DESCRIPTOR_HANDLE aFontSRVDescCPU, D3D12_GPU_DESCRIPTOR_HANDLE aFontSRVDescGPU); +// font_srv_cpu_desc_handle and font_srv_gpu_desc_handle are handles to a single SRV descriptor to use for the internal +// font texture. +IMGUI_IMPL_API bool ImGui_ImplDX12_Init( + ID3D12Device* apDevice, int aNumFramesInFlight, DXGI_FORMAT aRTVFormat, ID3D12DescriptorHeap* apSRVHeapDesc, D3D12_CPU_DESCRIPTOR_HANDLE aFontSRVDescCPU, + D3D12_GPU_DESCRIPTOR_HANDLE aFontSRVDescGPU); IMGUI_IMPL_API void ImGui_ImplDX12_Shutdown(); IMGUI_IMPL_API void ImGui_ImplDX12_NewFrame(ID3D12CommandQueue* apCommandQueue); IMGUI_IMPL_API void ImGui_ImplDX12_RenderDrawData(ImDrawData* apDrawData, ID3D12GraphicsCommandList* apCommandLists); diff --git a/src/imgui_impl/imgui_user_config.cpp b/src/imgui_impl/imgui_user_config.cpp index 48444091..4d183eab 100644 --- a/src/imgui_impl/imgui_user_config.cpp +++ b/src/imgui_impl/imgui_user_config.cpp @@ -1,16 +1,18 @@ #include -// NOTE: imgui_user_config.h is included by imgui.h which is included with precompiled header, so no need to include it here once more +// NOTE: imgui_user_config.h is included by imgui.h which is included with precompiled header, so no need to include it +// here once more // global definition "Enable ImGui Assertions Logging" -bool g_ImGuiAssertionsEnabled{ false }; +bool g_ImGuiAssertionsEnabled{false}; #ifdef NDEBUG // inline _wassert decl for NDEBUG as it is not emitted inside assert.h header in this case extern "C" _ACRTIMP void __cdecl _wassert(wchar_t const* _Message, wchar_t const* _File, unsigned _Line); #endif -// runtime assertions which can be enabled/disabled inside CET options, always logged into main log file when they happen +// runtime assertions which can be enabled/disabled inside CET options, always logged into main log file when they +// happen void ImGuiAssert(wchar_t const* acpMessage, wchar_t const* acpFile, unsigned aLine) { // TODO - make this log to log of the one who caused assertion instead of default log! diff --git a/src/imgui_impl/imgui_user_config.h b/src/imgui_impl/imgui_user_config.h index 699e276a..6298b9c7 100644 --- a/src/imgui_impl/imgui_user_config.h +++ b/src/imgui_impl/imgui_user_config.h @@ -7,6 +7,4 @@ extern bool g_ImGuiAssertionsEnabled; void ImGuiAssert(wchar_t const* acpMessage, wchar_t const* acpFile, unsigned aLine); // custom assertion function macro for ImGui -#define IM_ASSERT(expression) (void)( \ - (g_ImGuiAssertionsEnabled && ((!!(expression)) || \ - (ImGuiAssert(_CRT_WIDE(#expression), _CRT_WIDE(__FILE__), (unsigned)(__LINE__)), 0)))) \ No newline at end of file +#define IM_ASSERT(expression) (void)((g_ImGuiAssertionsEnabled && ((!!(expression)) || (ImGuiAssert(_CRT_WIDE(#expression), _CRT_WIDE(__FILE__), (unsigned)(__LINE__)), 0)))) \ No newline at end of file diff --git a/src/imgui_impl/win32.cpp b/src/imgui_impl/win32.cpp index df55a8d7..d1b00895 100644 --- a/src/imgui_impl/win32.cpp +++ b/src/imgui_impl/win32.cpp @@ -3,9 +3,10 @@ // Implemented features: // [X] Platform: Clipboard support (for Win32 this is actually part of core dear imgui) -// [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'. -// [X] Platform: Keyboard arrays indexed using VK_* Virtual Key Codes, e.g. ImGui::IsKeyPressed(VK_SPACE). -// [X] Platform: Gamepad support. Enabled with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'. +// [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= +// ImGuiConfigFlags_NoMouseCursorChange'. [X] Platform: Keyboard arrays indexed using VK_* Virtual Key Codes, e.g. +// ImGui::IsKeyPressed(VK_SPACE). [X] Platform: Gamepad support. Enabled with 'io.ConfigFlags |= +// ImGuiConfigFlags_NavEnableGamepad'. // You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this. // If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp. @@ -21,35 +22,36 @@ // CHANGELOG // (minor and older changes stripped away, please see git history for details) // 2020-12-04: Misc: Fixed setting of io.DisplaySize to invalid/uninitialized data when after hwnd has been closed. -// 2020-03-03: Inputs: Calling AddInputCharacterUTF16() to support surrogate pairs leading to codepoint >= 0x10000 (for more complete CJK inputs) -// 2020-02-17: Added ImGui_ImplWin32_EnableDpiAwareness(), ImGui_ImplWin32_GetDpiScaleForHwnd(), ImGui_ImplWin32_GetDpiScaleForMonitor() helper functions. -// 2019-12-05: Inputs: Added support for ImGuiMouseCursor_NotAllowed mouse cursor. -// 2019-05-11: Inputs: Don't filter value from WM_CHAR before calling AddInputCharacter(). -// 2019-01-17: Misc: Using GetForegroundWindow()+IsChild() instead of GetActiveWindow() to be compatible with windows created in a different thread or parent. -// 2019-01-17: Inputs: Added support for mouse buttons 4 and 5 via WM_XBUTTON* messages. -// 2019-01-15: Inputs: Added support for XInput gamepads (if ImGuiConfigFlags_NavEnableGamepad is set by user application). -// 2018-11-30: Misc: Setting up io.BackendPlatformName so it can be displayed in the About Window. -// 2018-06-29: Inputs: Added support for the ImGuiMouseCursor_Hand cursor. -// 2018-06-10: Inputs: Fixed handling of mouse wheel messages to support fine position messages (typically sent by track-pads). -// 2018-06-08: Misc: Extracted imgui_impl_win32.cpp/.h away from the old combined DX9/DX10/DX11/DX12 examples. -// 2018-03-20: Misc: Setup io.BackendFlags ImGuiBackendFlags_HasMouseCursors and ImGuiBackendFlags_HasSetMousePos flags + honor ImGuiConfigFlags_NoMouseCursorChange flag. -// 2018-02-20: Inputs: Added support for mouse cursors (ImGui::GetMouseCursor() value and WM_SETCURSOR message handling). -// 2018-02-06: Inputs: Added mapping for ImGuiKey_Space. -// 2018-02-06: Inputs: Honoring the io.WantSetMousePos by repositioning the mouse (when using navigation and ImGuiConfigFlags_NavMoveMouse is set). -// 2018-02-06: Misc: Removed call to ImGui::Shutdown() which is not available from 1.60 WIP, user needs to call CreateContext/DestroyContext themselves. +// 2020-03-03: Inputs: Calling AddInputCharacterUTF16() to support surrogate pairs leading to codepoint >= 0x10000 (for +// more complete CJK inputs) 2020-02-17: Added ImGui_ImplWin32_EnableDpiAwareness(), +// ImGui_ImplWin32_GetDpiScaleForHwnd(), ImGui_ImplWin32_GetDpiScaleForMonitor() helper functions. 2019-12-05: Inputs: +// Added support for ImGuiMouseCursor_NotAllowed mouse cursor. 2019-05-11: Inputs: Don't filter value from WM_CHAR +// before calling AddInputCharacter(). 2019-01-17: Misc: Using GetForegroundWindow()+IsChild() instead of +// GetActiveWindow() to be compatible with windows created in a different thread or parent. 2019-01-17: Inputs: Added +// support for mouse buttons 4 and 5 via WM_XBUTTON* messages. 2019-01-15: Inputs: Added support for XInput gamepads +// (if ImGuiConfigFlags_NavEnableGamepad is set by user application). 2018-11-30: Misc: Setting up +// io.BackendPlatformName so it can be displayed in the About Window. 2018-06-29: Inputs: Added support for the +// ImGuiMouseCursor_Hand cursor. 2018-06-10: Inputs: Fixed handling of mouse wheel messages to support fine position +// messages (typically sent by track-pads). 2018-06-08: Misc: Extracted imgui_impl_win32.cpp/.h away from the old +// combined DX9/DX10/DX11/DX12 examples. 2018-03-20: Misc: Setup io.BackendFlags ImGuiBackendFlags_HasMouseCursors and +// ImGuiBackendFlags_HasSetMousePos flags + honor ImGuiConfigFlags_NoMouseCursorChange flag. 2018-02-20: Inputs: Added +// support for mouse cursors (ImGui::GetMouseCursor() value and WM_SETCURSOR message handling). 2018-02-06: Inputs: +// Added mapping for ImGuiKey_Space. 2018-02-06: Inputs: Honoring the io.WantSetMousePos by repositioning the mouse +// (when using navigation and ImGuiConfigFlags_NavMoveMouse is set). 2018-02-06: Misc: Removed call to +// ImGui::Shutdown() which is not available from 1.60 WIP, user needs to call CreateContext/DestroyContext themselves. // 2018-01-20: Inputs: Added Horizontal Mouse Wheel support. // 2018-01-08: Inputs: Added mapping for ImGuiKey_Insert. // 2018-01-05: Inputs: Added WM_LBUTTONDBLCLK double-click handlers for window classes with the CS_DBLCLKS flag. // 2017-10-23: Inputs: Added WM_SYSKEYDOWN / WM_SYSKEYUP handlers so e.g. the VK_MENU key can be read. -// 2017-10-23: Inputs: Using Win32 ::SetCapture/::GetCapture() to retrieve mouse positions outside the client area when dragging. -// 2016-11-12: Inputs: Only call Win32 ::SetCursor(NULL) when io.MouseDrawCursor is set. +// 2017-10-23: Inputs: Using Win32 ::SetCapture/::GetCapture() to retrieve mouse positions outside the client area when +// dragging. 2016-11-12: Inputs: Only call Win32 ::SetCursor(NULL) when io.MouseDrawCursor is set. // Win32 Data -static HWND g_hWnd = NULL; -static INT64 g_Time = 0; -static INT64 g_TicksPerSecond = 0; +static HWND g_hWnd = NULL; +static INT64 g_Time = 0; +static INT64 g_TicksPerSecond = 0; static ImGuiMouseCursor g_LastMouseCursor = ImGuiMouseCursor_COUNT; -static std::string g_LayoutPath = ""; +static std::string g_LayoutPath = ""; // Functions bool ImGui_ImplWin32_Init(HWND ahWnd) @@ -62,8 +64,8 @@ bool ImGui_ImplWin32_Init(HWND ahWnd) // Setup backend capabilities flags g_hWnd = ahWnd; ImGuiIO& io = ImGui::GetIO(); - io.BackendFlags |= ImGuiBackendFlags_HasMouseCursors; // We can honor GetMouseCursor() values (optional) - io.BackendFlags |= ImGuiBackendFlags_HasSetMousePos; // We can honor io.WantSetMousePos requests (optional, rarely used) + io.BackendFlags |= ImGuiBackendFlags_HasMouseCursors; // We can honor GetMouseCursor() values (optional) + io.BackendFlags |= ImGuiBackendFlags_HasSetMousePos; // We can honor io.WantSetMousePos requests (optional, rarely used) io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; io.BackendPlatformName = "imgui_impl_win32"; io.ImeWindowHandle = ahWnd; @@ -72,7 +74,8 @@ bool ImGui_ImplWin32_Init(HWND ahWnd) g_LayoutPath = UTF16ToUTF8(GetAbsolutePath(L"layout.ini", CET::Get().GetPaths().CETRoot(), true).native()); io.IniFilename = g_LayoutPath.c_str(); - // Keyboard mapping. ImGui will use those indices to peek into the io.KeysDown[] array that we will update during the application lifetime. + // Keyboard mapping. ImGui will use those indices to peek into the io.KeysDown[] array that we will update during + // the application lifetime. io.KeyMap[ImGuiKey_Tab] = VK_TAB; io.KeyMap[ImGuiKey_LeftArrow] = VK_LEFT; io.KeyMap[ImGuiKey_RightArrow] = VK_RIGHT; @@ -122,15 +125,15 @@ static bool ImGui_ImplWin32_UpdateMouseCursor() LPTSTR win32_cursor = IDC_ARROW; switch (imgui_cursor) { - case ImGuiMouseCursor_Arrow: win32_cursor = IDC_ARROW; break; - case ImGuiMouseCursor_TextInput: win32_cursor = IDC_IBEAM; break; - case ImGuiMouseCursor_ResizeAll: win32_cursor = IDC_SIZEALL; break; - case ImGuiMouseCursor_ResizeEW: win32_cursor = IDC_SIZEWE; break; - case ImGuiMouseCursor_ResizeNS: win32_cursor = IDC_SIZENS; break; - case ImGuiMouseCursor_ResizeNESW: win32_cursor = IDC_SIZENESW; break; - case ImGuiMouseCursor_ResizeNWSE: win32_cursor = IDC_SIZENWSE; break; - case ImGuiMouseCursor_Hand: win32_cursor = IDC_HAND; break; - case ImGuiMouseCursor_NotAllowed: win32_cursor = IDC_NO; break; + case ImGuiMouseCursor_Arrow: win32_cursor = IDC_ARROW; break; + case ImGuiMouseCursor_TextInput: win32_cursor = IDC_IBEAM; break; + case ImGuiMouseCursor_ResizeAll: win32_cursor = IDC_SIZEALL; break; + case ImGuiMouseCursor_ResizeEW: win32_cursor = IDC_SIZEWE; break; + case ImGuiMouseCursor_ResizeNS: win32_cursor = IDC_SIZENS; break; + case ImGuiMouseCursor_ResizeNESW: win32_cursor = IDC_SIZENESW; break; + case ImGuiMouseCursor_ResizeNWSE: win32_cursor = IDC_SIZENWSE; break; + case ImGuiMouseCursor_Hand: win32_cursor = IDC_HAND; break; + case ImGuiMouseCursor_NotAllowed: win32_cursor = IDC_NO; break; } ::SetCursor(::LoadCursor(NULL, win32_cursor)); } @@ -141,10 +144,11 @@ static void ImGui_ImplWin32_UpdateMousePos(SIZE aOutSize) { ImGuiIO& io = ImGui::GetIO(); - // Set OS mouse position if requested (rarely used, only when ImGuiConfigFlags_NavEnableSetMousePos is enabled by user) + // Set OS mouse position if requested (rarely used, only when ImGuiConfigFlags_NavEnableSetMousePos is enabled by + // user) if (io.WantSetMousePos) { - POINT pos = { (int)io.MousePos.x, (int)io.MousePos.y }; + POINT pos = {(int)io.MousePos.x, (int)io.MousePos.y}; if (::ClientToScreen(g_hWnd, &pos)) ::SetCursorPos(pos.x, pos.y); } @@ -172,10 +176,12 @@ static void ImGui_ImplWin32_UpdateMousePos(SIZE aOutSize) void ImGui_ImplWin32_NewFrame(SIZE aOutSize) { ImGuiIO& io = ImGui::GetIO(); - IM_ASSERT(io.Fonts->IsBuilt() && "Font atlas not built! It is generally built by the renderer backend. Missing call to renderer _NewFrame() function? e.g. ImGui_ImplOpenGL3_NewFrame()."); + IM_ASSERT( + io.Fonts->IsBuilt() && "Font atlas not built! It is generally built by the renderer backend. Missing call to " + "renderer _NewFrame() function? e.g. ImGui_ImplOpenGL3_NewFrame()."); // Setup display size (every frame to accommodate for window resizing) - io.DisplaySize = { static_cast(aOutSize.cx), static_cast(aOutSize.cy) }; + io.DisplaySize = {static_cast(aOutSize.cx), static_cast(aOutSize.cy)}; // Setup time step INT64 current_time = 0; @@ -204,12 +210,15 @@ void ImGui_ImplWin32_NewFrame(SIZE aOutSize) // Win32 message handler (process Win32 mouse/keyboard inputs, etc.) // Call from your application's message handler. -// When implementing your own backend, you can read the io.WantCaptureMouse, io.WantCaptureKeyboard flags to tell if Dear ImGui wants to use your inputs. +// When implementing your own backend, you can read the io.WantCaptureMouse, io.WantCaptureKeyboard flags to tell if +// Dear ImGui wants to use your inputs. // - When io.WantCaptureMouse is true, do not dispatch mouse input data to your main application. // - When io.WantCaptureKeyboard is true, do not dispatch keyboard input data to your main application. // Generally you may always pass all inputs to Dear ImGui, and hide them from your application based on those two flags. -// PS: In this Win32 handler, we use the capture API (GetCapture/SetCapture/ReleaseCapture) to be able to read mouse coordinates when dragging mouse outside of our window bounds. -// PS: We treat DBLCLK messages as regular mouse down messages, so this code will work on windows classes that have the CS_DBLCLKS flag set. Our own example app code doesn't set this flag. +// PS: In this Win32 handler, we use the capture API (GetCapture/SetCapture/ReleaseCapture) to be able to read mouse +// coordinates when dragging mouse outside of our window bounds. PS: We treat DBLCLK messages as regular mouse down +// messages, so this code will work on windows classes that have the CS_DBLCLKS flag set. Our own example app code +// doesn't set this flag. IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND ahWnd, UINT auMsg, WPARAM awParam, LPARAM alParam) { if (ImGui::GetCurrentContext() == NULL) @@ -218,16 +227,32 @@ IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND ahWnd, UINT auMsg, WP ImGuiIO& io = ImGui::GetIO(); switch (auMsg) { - case WM_LBUTTONDOWN: case WM_LBUTTONDBLCLK: - case WM_RBUTTONDOWN: case WM_RBUTTONDBLCLK: - case WM_MBUTTONDOWN: case WM_MBUTTONDBLCLK: - case WM_XBUTTONDOWN: case WM_XBUTTONDBLCLK: + case WM_LBUTTONDOWN: + case WM_LBUTTONDBLCLK: + case WM_RBUTTONDOWN: + case WM_RBUTTONDBLCLK: + case WM_MBUTTONDOWN: + case WM_MBUTTONDBLCLK: + case WM_XBUTTONDOWN: + case WM_XBUTTONDBLCLK: { int button = 0; - if (auMsg == WM_LBUTTONDOWN || auMsg == WM_LBUTTONDBLCLK) { button = 0; } - if (auMsg == WM_RBUTTONDOWN || auMsg == WM_RBUTTONDBLCLK) { button = 1; } - if (auMsg == WM_MBUTTONDOWN || auMsg == WM_MBUTTONDBLCLK) { button = 2; } - if (auMsg == WM_XBUTTONDOWN || auMsg == WM_XBUTTONDBLCLK) { button = (GET_XBUTTON_WPARAM(awParam) == XBUTTON1) ? 3 : 4; } + if (auMsg == WM_LBUTTONDOWN || auMsg == WM_LBUTTONDBLCLK) + { + button = 0; + } + if (auMsg == WM_RBUTTONDOWN || auMsg == WM_RBUTTONDBLCLK) + { + button = 1; + } + if (auMsg == WM_MBUTTONDOWN || auMsg == WM_MBUTTONDBLCLK) + { + button = 2; + } + if (auMsg == WM_XBUTTONDOWN || auMsg == WM_XBUTTONDBLCLK) + { + button = (GET_XBUTTON_WPARAM(awParam) == XBUTTON1) ? 3 : 4; + } if (!ImGui::IsAnyMouseDown() && ::GetCapture() == NULL) ::SetCapture(ahWnd); io.MouseDown[button] = true; @@ -239,21 +264,29 @@ IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND ahWnd, UINT auMsg, WP case WM_XBUTTONUP: { int button = 0; - if (auMsg == WM_LBUTTONUP) { button = 0; } - if (auMsg == WM_RBUTTONUP) { button = 1; } - if (auMsg == WM_MBUTTONUP) { button = 2; } - if (auMsg == WM_XBUTTONUP) { button = (GET_XBUTTON_WPARAM(awParam) == XBUTTON1) ? 3 : 4; } + if (auMsg == WM_LBUTTONUP) + { + button = 0; + } + if (auMsg == WM_RBUTTONUP) + { + button = 1; + } + if (auMsg == WM_MBUTTONUP) + { + button = 2; + } + if (auMsg == WM_XBUTTONUP) + { + button = (GET_XBUTTON_WPARAM(awParam) == XBUTTON1) ? 3 : 4; + } io.MouseDown[button] = false; if (!ImGui::IsAnyMouseDown() && ::GetCapture() == ahWnd) ::ReleaseCapture(); return 0; } - case WM_MOUSEWHEEL: - io.MouseWheel += (float)GET_WHEEL_DELTA_WPARAM(awParam) / (float)WHEEL_DELTA; - return 0; - case WM_MOUSEHWHEEL: - io.MouseWheelH += (float)GET_WHEEL_DELTA_WPARAM(awParam) / (float)WHEEL_DELTA; - return 0; + case WM_MOUSEWHEEL: io.MouseWheel += (float)GET_WHEEL_DELTA_WPARAM(awParam) / (float)WHEEL_DELTA; return 0; + case WM_MOUSEHWHEEL: io.MouseWheelH += (float)GET_WHEEL_DELTA_WPARAM(awParam) / (float)WHEEL_DELTA; return 0; case WM_KEYDOWN: case WM_SYSKEYDOWN: if (awParam < 256) @@ -281,45 +314,57 @@ IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND ahWnd, UINT auMsg, WP return 0; } - //-------------------------------------------------------------------------------------------------------- // DPI-related helpers (optional) //-------------------------------------------------------------------------------------------------------- // - Use to enable DPI awareness without having to create an application manifest. // - Your own app may already do this via a manifest or explicit calls. This is mostly useful for our examples/ apps. -// - In theory we could call simple functions from Windows SDK such as SetProcessDPIAware(), SetProcessDpiAwareness(), etc. -// but most of the functions provided by Microsoft require Windows 8.1/10+ SDK at compile time and Windows 8/10+ at runtime, -// neither we want to require the user to have. So we dynamically select and load those functions to avoid dependencies. +// - In theory we could call simple functions from Windows SDK such as SetProcessDPIAware(), SetProcessDpiAwareness(), +// etc. +// but most of the functions provided by Microsoft require Windows 8.1/10+ SDK at compile time and Windows 8/10+ at +// runtime, neither we want to require the user to have. So we dynamically select and load those functions to avoid +// dependencies. //--------------------------------------------------------------------------------------------------------- -// This is the scheme successfully used by GLFW (from which we borrowed some of the code) and other apps aiming to be highly portable. -// ImGui_ImplWin32_EnableDpiAwareness() is just a helper called by main.cpp, we don't call it automatically. -// If you are trying to implement your own backend for your own engine, you may ignore that noise. +// This is the scheme successfully used by GLFW (from which we borrowed some of the code) and other apps aiming to be +// highly portable. ImGui_ImplWin32_EnableDpiAwareness() is just a helper called by main.cpp, we don't call it +// automatically. If you are trying to implement your own backend for your own engine, you may ignore that noise. //--------------------------------------------------------------------------------------------------------- // Implement some of the functions and types normally declared in recent Windows SDK. #if !defined(_versionhelpers_H_INCLUDED_) && !defined(_INC_VERSIONHELPERS) static BOOL IsWindowsVersionOrGreater(WORD aMajor, WORD aMinor, WORD aSP) { - OSVERSIONINFOEXW osvi = { sizeof(osvi), aMajor, aMinor, 0, 0, { 0 }, aSP, 0, 0, 0, 0 }; + OSVERSIONINFOEXW osvi = {sizeof(osvi), aMajor, aMinor, 0, 0, {0}, aSP, 0, 0, 0, 0}; DWORD mask = VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR; ULONGLONG cond = ::VerSetConditionMask(0, VER_MAJORVERSION, VER_GREATER_EQUAL); cond = ::VerSetConditionMask(cond, VER_MINORVERSION, VER_GREATER_EQUAL); cond = ::VerSetConditionMask(cond, VER_SERVICEPACKMAJOR, VER_GREATER_EQUAL); return ::VerifyVersionInfoW(&osvi, mask, cond); } -#define IsWindows8Point1OrGreater() IsWindowsVersionOrGreater(HIBYTE(0x0602), LOBYTE(0x0602), 0) // _WIN32_WINNT_WINBLUE +#define IsWindows8Point1OrGreater() IsWindowsVersionOrGreater(HIBYTE(0x0602), LOBYTE(0x0602), 0) // _WIN32_WINNT_WINBLUE #endif #ifndef DPI_ENUMS_DECLARED -typedef enum { PROCESS_DPI_UNAWARE = 0, PROCESS_SYSTEM_DPI_AWARE = 1, PROCESS_PER_MONITOR_DPI_AWARE = 2 } PROCESS_DPI_AWARENESS; -typedef enum { MDT_EFFECTIVE_DPI = 0, MDT_ANGULAR_DPI = 1, MDT_RAW_DPI = 2, MDT_DEFAULT = MDT_EFFECTIVE_DPI } MONITOR_DPI_TYPE; +typedef enum +{ + PROCESS_DPI_UNAWARE = 0, + PROCESS_SYSTEM_DPI_AWARE = 1, + PROCESS_PER_MONITOR_DPI_AWARE = 2 +} PROCESS_DPI_AWARENESS; +typedef enum +{ + MDT_EFFECTIVE_DPI = 0, + MDT_ANGULAR_DPI = 1, + MDT_RAW_DPI = 2, + MDT_DEFAULT = MDT_EFFECTIVE_DPI +} MONITOR_DPI_TYPE; #endif #ifndef _DPI_AWARENESS_CONTEXTS_ DECLARE_HANDLE(DPI_AWARENESS_CONTEXT); -#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE (DPI_AWARENESS_CONTEXT)-3 +#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE (DPI_AWARENESS_CONTEXT) - 3 #endif #ifndef DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 -#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 (DPI_AWARENESS_CONTEXT)-4 +#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 (DPI_AWARENESS_CONTEXT) - 4 #endif typedef HRESULT(WINAPI* PFN_SetProcessDpiAwareness)(PROCESS_DPI_AWARENESS); // Shcore.lib + dll, Windows 8.1+ typedef HRESULT(WINAPI* PFN_GetDpiForMonitor)(HMONITOR, MONITOR_DPI_TYPE, UINT*, UINT*); // Shcore.lib + dll, Windows 8.1+ @@ -352,7 +397,7 @@ void ImGui_ImplWin32_EnableDpiAwareness() } #if defined(_MSC_VER) && !defined(NOGDI) -#pragma comment(lib, "gdi32") // Link with gdi32.lib for GetDeviceCaps() +#pragma comment(lib, "gdi32") // Link with gdi32.lib for GetDeviceCaps() #endif float ImGui_ImplWin32_GetDpiScaleForMonitor(HMONITOR ahMonitor) diff --git a/src/imgui_impl/win32.h b/src/imgui_impl/win32.h index 872f2a0b..be3d8889 100644 --- a/src/imgui_impl/win32.h +++ b/src/imgui_impl/win32.h @@ -3,16 +3,17 @@ // Implemented features: // [X] Platform: Clipboard support (for Win32 this is actually part of core dear imgui) -// [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'. -// [X] Platform: Keyboard arrays indexed using VK_* Virtual Key Codes, e.g. ImGui::IsKeyPressed(VK_SPACE). -// [X] Platform: Gamepad support. Enabled with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'. +// [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= +// ImGuiConfigFlags_NoMouseCursorChange'. [X] Platform: Keyboard arrays indexed using VK_* Virtual Key Codes, e.g. +// ImGui::IsKeyPressed(VK_SPACE). [X] Platform: Gamepad support. Enabled with 'io.ConfigFlags |= +// ImGuiConfigFlags_NavEnableGamepad'. // You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this. // If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp. // Read online: https://github.com/ocornut/imgui/tree/master/docs #pragma once -#include "imgui.h" // IMGUI_IMPL_API +#include "imgui.h" // IMGUI_IMPL_API IMGUI_IMPL_API bool ImGui_ImplWin32_Init(HWND ahWnd); IMGUI_IMPL_API void ImGui_ImplWin32_Shutdown(); @@ -20,8 +21,8 @@ IMGUI_IMPL_API void ImGui_ImplWin32_NewFrame(SIZE aOutSize); // Configuration // - Disable gamepad support or linking with xinput.lib -//#define IMGUI_IMPL_WIN32_DISABLE_GAMEPAD -//#define IMGUI_IMPL_WIN32_DISABLE_LINKING_XINPUT +// #define IMGUI_IMPL_WIN32_DISABLE_GAMEPAD +// #define IMGUI_IMPL_WIN32_DISABLE_LINKING_XINPUT // Win32 message handler your application need to call. extern IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND ahWnd, UINT auMsg, WPARAM awParam, LPARAM alParam); @@ -29,9 +30,11 @@ extern IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND ahWnd, UINT au // DPI-related helpers (optional) // - Use to enable DPI awareness without having to create an application manifest. // - Your own app may already do this via a manifest or explicit calls. This is mostly useful for our examples/ apps. -// - In theory we could call simple functions from Windows SDK such as SetProcessDPIAware(), SetProcessDpiAwareness(), etc. -// but most of the functions provided by Microsoft require Windows 8.1/10+ SDK at compile time and Windows 8/10+ at runtime, -// neither we want to require the user to have. So we dynamically select and load those functions to avoid dependencies. -IMGUI_IMPL_API void ImGui_ImplWin32_EnableDpiAwareness(); +// - In theory we could call simple functions from Windows SDK such as SetProcessDPIAware(), SetProcessDpiAwareness(), +// etc. +// but most of the functions provided by Microsoft require Windows 8.1/10+ SDK at compile time and Windows 8/10+ at +// runtime, neither we want to require the user to have. So we dynamically select and load those functions to avoid +// dependencies. +IMGUI_IMPL_API void ImGui_ImplWin32_EnableDpiAwareness(); IMGUI_IMPL_API float ImGui_ImplWin32_GetDpiScaleForHwnd(HWND ahWnd); IMGUI_IMPL_API float ImGui_ImplWin32_GetDpiScaleForMonitor(HMONITOR ahMonitor); diff --git a/src/kiero/kiero.cpp b/src/kiero/kiero.cpp index bbf17646..6d749e90 100644 --- a/src/kiero/kiero.cpp +++ b/src/kiero/kiero.cpp @@ -50,11 +50,7 @@ kiero::Status::Enum kiero::init() if ((libD3D12 = ::GetModuleHandle(_T("d3d12.dll"))) == nullptr) { - const TCHAR* localD3d12on7Paths[] = - { - _T(".\\d3d12on7\\d3d12.dll"), - _T(".\\12on7\\d3d12.dll") - }; + const TCHAR* localD3d12on7Paths[] = {_T(".\\d3d12on7\\d3d12.dll"), _T(".\\12on7\\d3d12.dll")}; for (uint32_t i = 0; i < std::size(localD3d12on7Paths); i++) { @@ -83,7 +79,7 @@ kiero::Status::Enum kiero::init() } Microsoft::WRL::ComPtr factory; - if (reinterpret_cast(CreateDXGIFactory)(IID_PPV_ARGS(&factory)) < 0) + if (reinterpret_cast(CreateDXGIFactory)(IID_PPV_ARGS(&factory)) < 0) { DestroyWindow(window); UnregisterClass(windowClass.lpszClassName, windowClass.hInstance); @@ -107,7 +103,7 @@ kiero::Status::Enum kiero::init() } Microsoft::WRL::ComPtr device; - if (reinterpret_cast(D3D12CreateDevice)(adapter.Get(), D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&device)) < 0) + if (reinterpret_cast(D3D12CreateDevice)(adapter.Get(), D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&device)) < 0) { DestroyWindow(window); UnregisterClass(windowClass.lpszClassName, windowClass.hInstance); diff --git a/src/kiero/kiero.h b/src/kiero/kiero.h index 011ef76d..79587e94 100644 --- a/src/kiero/kiero.h +++ b/src/kiero/kiero.h @@ -5,11 +5,11 @@ #define KIERO_VERSION "1.2.10-cet_1.0" #if defined(_M_X64) - #define KIERO_ARCH_X86 0 - #define KIERO_ARCH_X64 1 +#define KIERO_ARCH_X86 0 +#define KIERO_ARCH_X64 1 #else - #define KIERO_ARCH_X86 1 - #define KIERO_ARCH_X64 0 +#define KIERO_ARCH_X86 1 +#define KIERO_ARCH_X64 0 #endif #if KIERO_ARCH_X64 @@ -20,32 +20,32 @@ typedef uint32_t uint150_t; namespace kiero { - struct Status +struct Status +{ + enum Enum { - enum Enum - { - UnknownError = -1, - NotSupportedError = -2, - ModuleNotFoundError = -3, + UnknownError = -1, + NotSupportedError = -2, + ModuleNotFoundError = -3, - AlreadyInitializedError = -4, - NotInitializedError = -5, + AlreadyInitializedError = -4, + NotInitializedError = -5, - Success = 0, - }; + Success = 0, }; +}; - Status::Enum init(); - void shutdown(); +Status::Enum init(); +void shutdown(); - Status::Enum bind(uint16_t index, void** original, void* function); - void unbind(uint16_t index); +Status::Enum bind(uint16_t index, void** original, void* function); +void unbind(uint16_t index); - void** getSwapChainVtable(); - void** getCommandListVtable(); - void** getCommandQueueVtable(); +void** getSwapChainVtable(); +void** getCommandListVtable(); +void** getCommandQueueVtable(); - uint150_t* getMethodsTable(); - uintptr_t getCommandQueueOffset(); - bool isDownLevelDevice(); -} \ No newline at end of file +uint150_t* getMethodsTable(); +uintptr_t getCommandQueueOffset(); +bool isDownLevelDevice(); +} // namespace kiero \ No newline at end of file diff --git a/src/lsqlite3/lsqlite3.cpp b/src/lsqlite3/lsqlite3.cpp index 5a3d9d8f..4832d0e6 100644 --- a/src/lsqlite3/lsqlite3.cpp +++ b/src/lsqlite3/lsqlite3.cpp @@ -1,30 +1,30 @@ /************************************************************************ -* lsqlite3 * -* Copyright (C) 2002-2016 Tiago Dionizio, Doug Currie * -* All rights reserved. * -* Author : Tiago Dionizio * -* Author : Doug Currie * -* Library : lsqlite3 - an SQLite 3 database binding for Lua 5 * -* * -* Permission is hereby granted, free of charge, to any person obtaining * -* a copy of this software and associated documentation files (the * -* "Software"), to deal in the Software without restriction, including * -* without limitation the rights to use, copy, modify, merge, publish, * -* distribute, sublicense, and/or sell copies of the Software, and to * -* permit persons to whom the Software is furnished to do so, subject to * -* the following conditions: * -* * -* The above copyright notice and this permission notice shall be * -* included in all copies or substantial portions of the Software. * -* * -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.* -* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * -* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * -* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * -* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -************************************************************************/ + * lsqlite3 * + * Copyright (C) 2002-2016 Tiago Dionizio, Doug Currie * + * All rights reserved. * + * Author : Tiago Dionizio * + * Author : Doug Currie * + * Library : lsqlite3 - an SQLite 3 database binding for Lua 5 * + * * + * Permission is hereby granted, free of charge, to any person obtaining * + * a copy of this software and associated documentation files (the * + * "Software"), to deal in the Software without restriction, including * + * without limitation the rights to use, copy, modify, merge, publish, * + * distribute, sublicense, and/or sell copies of the Software, and to * + * permit persons to whom the Software is furnished to do so, subject to * + * the following conditions: * + * * + * The above copyright notice and this permission notice shall be * + * included in all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.* + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * + ************************************************************************/ #include #include @@ -42,17 +42,19 @@ #define lua_strlen lua_rawlen #endif /* luaL_typerror always used with arg at ndx == NULL */ -#define luaL_typerror(L,ndx,str) luaL_error(L,"bad argument %d (%s expected, got nil)",ndx,str) +#define luaL_typerror(L, ndx, str) luaL_error(L, "bad argument %d (%s expected, got nil)", ndx, str) /* luaL_register used once, so below expansion is OK for this case */ -#define luaL_register(L,name,reg) lua_newtable(L);luaL_setfuncs(L,reg,0) +#define luaL_register(L, name, reg) \ + lua_newtable(L); \ + luaL_setfuncs(L, reg, 0) /* luaL_openlib always used with name == NULL */ -#define luaL_openlib(L,name,reg,nup) luaL_setfuncs(L,reg,nup) +#define luaL_openlib(L, name, reg, nup) luaL_setfuncs(L, reg, nup) #if LUA_VERSION_NUM > 502 /* ** Lua 5.3 */ -#define luaL_checkint(L,n) ((int)luaL_checkinteger(L, (n))) +#define luaL_checkint(L, n) ((int)luaL_checkinteger(L, (n))) #endif #endif @@ -60,15 +62,15 @@ /* compile time features */ #if !defined(SQLITE_OMIT_PROGRESS_CALLBACK) - #define SQLITE_OMIT_PROGRESS_CALLBACK 0 +#define SQLITE_OMIT_PROGRESS_CALLBACK 0 #endif #if !defined(LSQLITE_OMIT_UPDATE_HOOK) - #define LSQLITE_OMIT_UPDATE_HOOK 0 +#define LSQLITE_OMIT_UPDATE_HOOK 0 #endif #if defined(LSQLITE_OMIT_OPEN_V2) - #define SQLITE3_OPEN(L,filename,flags) sqlite3_open(L,filename) +#define SQLITE3_OPEN(L, filename, flags) sqlite3_open(L, filename) #else - #define SQLITE3_OPEN(L,filename,flags) sqlite3_open_v2(L,filename,flags,NULL) +#define SQLITE3_OPEN(L, filename, flags) sqlite3_open_v2(L, filename, flags, NULL) #endif typedef struct sdb sdb; @@ -77,36 +79,38 @@ typedef struct sdb_bu sdb_bu; typedef struct sdb_func sdb_func; /* to use as C user data so i know what function sqlite is calling */ -struct sdb_func { +struct sdb_func +{ /* references to associated lua values */ int fn_step; int fn_finalize; int udata; - sdb *db; + sdb* db; char aggregate; - sdb_func *next; + sdb_func* next; }; /* information about database */ -struct sdb { +struct sdb +{ /* associated lua state */ - lua_State *L; + lua_State* L; /* sqlite database handle */ - sqlite3 *db; + sqlite3* db; /* sql functions stack usage */ - sdb_func *func; /* top SQL function being called */ + sdb_func* func; /* top SQL function being called */ /* references */ - int busy_cb; /* busy callback */ + int busy_cb; /* busy callback */ int busy_udata; - int progress_cb; /* progress handler */ + int progress_cb; /* progress handler */ int progress_udata; - int trace_cb; /* trace callback */ + int trace_cb; /* trace callback */ int trace_udata; #if !defined(LSQLITE_OMIT_UPDATE_HOOK) || !LSQLITE_OMIT_UPDATE_HOOK @@ -123,10 +127,10 @@ struct sdb { #endif }; -static const char *sqlite_meta = ":sqlite3"; -static const char *sqlite_vm_meta = ":sqlite3:vm"; -static const char *sqlite_bu_meta = ":sqlite3:bu"; -static const char *sqlite_ctx_meta = ":sqlite3:ctx"; +static const char* sqlite_meta = ":sqlite3"; +static const char* sqlite_vm_meta = ":sqlite3:vm"; +static const char* sqlite_bu_meta = ":sqlite3:bu"; +static const char* sqlite_ctx_meta = ":sqlite3:ctx"; static int sqlite_ctx_meta_ref; /* Lua 5.3 introduced an integer type, but depending on the implementation, it could be 32 @@ -134,24 +138,32 @@ static int sqlite_ctx_meta_ref; */ #if LUA_VERSION_NUM > 502 -#define PUSH_INT64(L,i64in,fallback) \ - do { \ - sqlite_int64 i64 = i64in; \ - lua_Integer i = (lua_Integer )i64; \ - if (i == i64) lua_pushinteger(L, i);\ - else { \ +#define PUSH_INT64(L, i64in, fallback) \ + do \ + { \ + sqlite_int64 i64 = i64in; \ + lua_Integer i = (lua_Integer)i64; \ + if (i == i64) \ + lua_pushinteger(L, i); \ + else \ + { \ lua_Number n = (lua_Number)i64; \ - if (n == i64) lua_pushnumber(L, n); \ - else fallback; \ - } \ + if (n == i64) \ + lua_pushnumber(L, n); \ + else \ + fallback; \ + } \ } while (0) #else -#define PUSH_INT64(L,i64in,fallback) \ - do { \ - sqlite_int64 i64 = i64in; \ +#define PUSH_INT64(L, i64in, fallback) \ + do \ + { \ + sqlite_int64 i64 = i64in; \ lua_Number n = (lua_Number)i64; \ - if (n == i64) lua_pushnumber(L, n); \ - else fallback; \ + if (n == i64) \ + lua_pushnumber(L, n); \ + else \ + fallback; \ } while (0) #endif @@ -161,49 +173,41 @@ static int sqlite_ctx_meta_ref; ** ======================================================= */ -static void vm_push_column(lua_State *L, sqlite3_stmt *vm, int idx) { - switch (sqlite3_column_type(vm, idx)) { - case SQLITE_INTEGER: - PUSH_INT64(L, sqlite3_column_int64(vm, idx) - , lua_pushlstring(L, reinterpret_cast(sqlite3_column_text(vm, idx)) - , sqlite3_column_bytes(vm, idx))); - break; - case SQLITE_FLOAT: - lua_pushnumber(L, sqlite3_column_double(vm, idx)); - break; - case SQLITE_TEXT: - lua_pushlstring(L, reinterpret_cast(sqlite3_column_text(vm, idx)), sqlite3_column_bytes(vm, idx)); - break; - case SQLITE_BLOB: - lua_pushlstring(L, static_cast(sqlite3_column_blob(vm, idx)), sqlite3_column_bytes(vm, idx)); - break; - case SQLITE_NULL: - lua_pushnil(L); - break; - default: - lua_pushnil(L); - break; +static void vm_push_column(lua_State* L, sqlite3_stmt* vm, int idx) +{ + switch (sqlite3_column_type(vm, idx)) + { + case SQLITE_INTEGER: + PUSH_INT64(L, sqlite3_column_int64(vm, idx), lua_pushlstring(L, reinterpret_cast(sqlite3_column_text(vm, idx)), sqlite3_column_bytes(vm, idx))); + break; + case SQLITE_FLOAT: lua_pushnumber(L, sqlite3_column_double(vm, idx)); break; + case SQLITE_TEXT: lua_pushlstring(L, reinterpret_cast(sqlite3_column_text(vm, idx)), sqlite3_column_bytes(vm, idx)); break; + case SQLITE_BLOB: lua_pushlstring(L, static_cast(sqlite3_column_blob(vm, idx)), sqlite3_column_bytes(vm, idx)); break; + case SQLITE_NULL: lua_pushnil(L); break; + default: lua_pushnil(L); break; } } /* virtual machine information */ -struct sdb_vm { - sdb *db; /* associated database handle */ - sqlite3_stmt *vm; /* virtual machine */ +struct sdb_vm +{ + sdb* db; /* associated database handle */ + sqlite3_stmt* vm; /* virtual machine */ /* sqlite3_step info */ - int columns; /* number of columns in result */ - char has_values; /* true when step succeeds */ + int columns; /* number of columns in result */ + char has_values; /* true when step succeeds */ - char temp; /* temporary vm used in db:rows */ + char temp; /* temporary vm used in db:rows */ }; /* called with db,sql text on the lua stack */ -static sdb_vm *newvm(lua_State *L, sdb *db) { - auto *svm = static_cast(lua_newuserdata(L, sizeof(sdb_vm))); /* db sql svm_ud -- */ +static sdb_vm* newvm(lua_State* L, sdb* db) +{ + auto* svm = static_cast(lua_newuserdata(L, sizeof(sdb_vm))); /* db sql svm_ud -- */ luaL_getmetatable(L, sqlite_vm_meta); - lua_setmetatable(L, -2); /* set metatable */ + lua_setmetatable(L, -2); /* set metatable */ svm->db = db; svm->columns = 0; @@ -222,7 +226,8 @@ static sdb_vm *newvm(lua_State *L, sdb *db) { return svm; } -static int cleanupvm(lua_State *L, sdb_vm *svm) { +static int cleanupvm(lua_State* L, sdb_vm* svm) +{ /* remove entry in database table - no harm if not present in the table */ lua_pushlightuserdata(L, svm->db); @@ -235,38 +240,46 @@ static int cleanupvm(lua_State *L, sdb_vm *svm) { svm->columns = 0; svm->has_values = 0; - if (!svm->vm) return 0; + if (!svm->vm) + return 0; lua_pushinteger(L, sqlite3_finalize(svm->vm)); svm->vm = nullptr; return 1; } -static int stepvm(lua_State *L, sdb_vm *svm) { +static int stepvm(lua_State* L, sdb_vm* svm) +{ return sqlite3_step(svm->vm); } -static sdb_vm *lsqlite_getvm(lua_State *L, int index) { - auto *svm = static_cast(luaL_checkudata(L, index, sqlite_vm_meta)); - if (svm == nullptr) luaL_argerror(L, index, "bad sqlite virtual machine"); +static sdb_vm* lsqlite_getvm(lua_State* L, int index) +{ + auto* svm = static_cast(luaL_checkudata(L, index, sqlite_vm_meta)); + if (svm == nullptr) + luaL_argerror(L, index, "bad sqlite virtual machine"); return svm; } -static sdb_vm *lsqlite_checkvm(lua_State *L, int index) { - sdb_vm *svm = lsqlite_getvm(L, index); - if (svm->vm == nullptr) luaL_argerror(L, index, "attempt to use closed sqlite virtual machine"); +static sdb_vm* lsqlite_checkvm(lua_State* L, int index) +{ + sdb_vm* svm = lsqlite_getvm(L, index); + if (svm->vm == nullptr) + luaL_argerror(L, index, "attempt to use closed sqlite virtual machine"); return svm; } -static int dbvm_isopen(lua_State *L) { - const sdb_vm *svm = lsqlite_getvm(L, 1); +static int dbvm_isopen(lua_State* L) +{ + const sdb_vm* svm = lsqlite_getvm(L, 1); lua_pushboolean(L, svm->vm != nullptr ? 1 : 0); return 1; } -static int dbvm_tostring(lua_State *L) { +static int dbvm_tostring(lua_State* L) +{ char buff[39]; - sdb_vm *svm = lsqlite_getvm(L, 1); + sdb_vm* svm = lsqlite_getvm(L, 1); if (svm->vm == nullptr) strcpy(buff, "closed"); else @@ -275,16 +288,18 @@ static int dbvm_tostring(lua_State *L) { return 1; } -static int dbvm_gc(lua_State *L) { - sdb_vm *svm = lsqlite_getvm(L, 1); - if (svm->vm != nullptr) /* ignore closed vms */ +static int dbvm_gc(lua_State* L) +{ + sdb_vm* svm = lsqlite_getvm(L, 1); + if (svm->vm != nullptr) /* ignore closed vms */ cleanupvm(L, svm); return 0; } -static int dbvm_step(lua_State *L) { +static int dbvm_step(lua_State* L) +{ int result; - sdb_vm *svm = lsqlite_checkvm(L, 1); + sdb_vm* svm = lsqlite_checkvm(L, 1); result = stepvm(L, svm); svm->has_values = result == SQLITE_ROW ? 1 : 0; @@ -294,38 +309,47 @@ static int dbvm_step(lua_State *L) { return 1; } -static int dbvm_finalize(lua_State *L) { - sdb_vm *svm = lsqlite_checkvm(L, 1); +static int dbvm_finalize(lua_State* L) +{ + sdb_vm* svm = lsqlite_checkvm(L, 1); return cleanupvm(L, svm); } -static int dbvm_reset(lua_State *L) { - const sdb_vm *svm = lsqlite_checkvm(L, 1); +static int dbvm_reset(lua_State* L) +{ + const sdb_vm* svm = lsqlite_checkvm(L, 1); sqlite3_reset(svm->vm); lua_pushinteger(L, sqlite3_errcode(svm->db->db)); return 1; } -static void dbvm_check_contents(lua_State *L, sdb_vm *svm) { - if (!svm->has_values) { +static void dbvm_check_contents(lua_State* L, sdb_vm* svm) +{ + if (!svm->has_values) + { luaL_error(L, "misuse of function"); } } -static void dbvm_check_index(lua_State *L, sdb_vm *svm, int index) { - if (index < 0 || index >= svm->columns) { +static void dbvm_check_index(lua_State* L, sdb_vm* svm, int index) +{ + if (index < 0 || index >= svm->columns) + { luaL_error(L, "index out of range [0..%d]", svm->columns - 1); } } -static void dbvm_check_bind_index(lua_State *L, sdb_vm *svm, int index) { - if (index < 1 || index > sqlite3_bind_parameter_count(svm->vm)) { +static void dbvm_check_bind_index(lua_State* L, sdb_vm* svm, int index) +{ + if (index < 1 || index > sqlite3_bind_parameter_count(svm->vm)) + { luaL_error(L, "bind index out of range [1..%d]", sqlite3_bind_parameter_count(svm->vm)); } } -static int dbvm_last_insert_rowid(lua_State *L) { - const sdb_vm *svm = lsqlite_checkvm(L, 1); +static int dbvm_last_insert_rowid(lua_State* L) +{ + const sdb_vm* svm = lsqlite_checkvm(L, 1); /* conversion warning: int64 -> luaNumber */ const sqlite_int64 rowid = sqlite3_last_insert_rowid(svm->db->db); PUSH_INT64(L, rowid, lua_pushfstring(L, "%ll", rowid)); @@ -337,8 +361,9 @@ static int dbvm_last_insert_rowid(lua_State *L) { ** Virtual Machine - generic info ** ======================================================= */ -static int dbvm_columns(lua_State *L) { - const sdb_vm *svm = lsqlite_checkvm(L, 1); +static int dbvm_columns(lua_State* L) +{ + const sdb_vm* svm = lsqlite_checkvm(L, 1); lua_pushinteger(L, sqlite3_column_count(svm->vm)); return 1; } @@ -349,8 +374,9 @@ static int dbvm_columns(lua_State *L) { ** ======================================================= */ -static int dbvm_get_value(lua_State *L) { - sdb_vm *svm = lsqlite_checkvm(L, 1); +static int dbvm_get_value(lua_State* L) +{ + sdb_vm* svm = lsqlite_checkvm(L, 1); const int index = luaL_checkint(L, 2); dbvm_check_contents(L, svm); dbvm_check_index(L, svm, index); @@ -358,68 +384,77 @@ static int dbvm_get_value(lua_State *L) { return 1; } -static int dbvm_get_name(lua_State *L) { - sdb_vm *svm = lsqlite_checkvm(L, 1); +static int dbvm_get_name(lua_State* L) +{ + sdb_vm* svm = lsqlite_checkvm(L, 1); const int index = static_cast(luaL_checknumber(L, 2)); dbvm_check_index(L, svm, index); lua_pushstring(L, sqlite3_column_name(svm->vm, index)); return 1; } -static int dbvm_get_type(lua_State *L) { - sdb_vm *svm = lsqlite_checkvm(L, 1); +static int dbvm_get_type(lua_State* L) +{ + sdb_vm* svm = lsqlite_checkvm(L, 1); const int index = static_cast(luaL_checknumber(L, 2)); dbvm_check_index(L, svm, index); lua_pushstring(L, sqlite3_column_decltype(svm->vm, index)); return 1; } -static int dbvm_get_values(lua_State *L) { - sdb_vm *svm = lsqlite_checkvm(L, 1); - sqlite3_stmt *vm = svm->vm; +static int dbvm_get_values(lua_State* L) +{ + sdb_vm* svm = lsqlite_checkvm(L, 1); + sqlite3_stmt* vm = svm->vm; const int columns = svm->columns; int n; dbvm_check_contents(L, svm); lua_createtable(L, columns, 0); - for (n = 0; n < columns;) { + for (n = 0; n < columns;) + { vm_push_column(L, vm, n++); lua_rawseti(L, -2, n); } return 1; } -static int dbvm_get_names(lua_State *L) { - const sdb_vm *svm = lsqlite_checkvm(L, 1); - sqlite3_stmt *vm = svm->vm; +static int dbvm_get_names(lua_State* L) +{ + const sdb_vm* svm = lsqlite_checkvm(L, 1); + sqlite3_stmt* vm = svm->vm; const int columns = sqlite3_column_count(vm); /* valid as soon as statement prepared */ int n; lua_createtable(L, columns, 0); - for (n = 0; n < columns;) { + for (n = 0; n < columns;) + { lua_pushstring(L, sqlite3_column_name(vm, n++)); lua_rawseti(L, -2, n); } return 1; } -static int dbvm_get_types(lua_State *L) { - const sdb_vm *svm = lsqlite_checkvm(L, 1); - sqlite3_stmt *vm = svm->vm; +static int dbvm_get_types(lua_State* L) +{ + const sdb_vm* svm = lsqlite_checkvm(L, 1); + sqlite3_stmt* vm = svm->vm; const int columns = sqlite3_column_count(vm); /* valid as soon as statement prepared */ int n; lua_createtable(L, columns, 0); - for (n = 0; n < columns;) { + for (n = 0; n < columns;) + { lua_pushstring(L, sqlite3_column_decltype(vm, n++)); lua_rawseti(L, -2, n); } return 1; } -static int dbvm_get_uvalues(lua_State *L) { - sdb_vm *svm = lsqlite_checkvm(L, 1); - sqlite3_stmt *vm = svm->vm; +static int dbvm_get_uvalues(lua_State* L) +{ + sdb_vm* svm = lsqlite_checkvm(L, 1); + sqlite3_stmt* vm = svm->vm; const int columns = svm->columns; int n; dbvm_check_contents(L, svm); @@ -430,9 +465,10 @@ static int dbvm_get_uvalues(lua_State *L) { return columns; } -static int dbvm_get_unames(lua_State *L) { - const sdb_vm *svm = lsqlite_checkvm(L, 1); - sqlite3_stmt *vm = svm->vm; +static int dbvm_get_unames(lua_State* L) +{ + const sdb_vm* svm = lsqlite_checkvm(L, 1); + sqlite3_stmt* vm = svm->vm; const int columns = sqlite3_column_count(vm); /* valid as soon as statement prepared */ int n; @@ -442,9 +478,10 @@ static int dbvm_get_unames(lua_State *L) { return columns; } -static int dbvm_get_utypes(lua_State *L) { - const sdb_vm *svm = lsqlite_checkvm(L, 1); - sqlite3_stmt *vm = svm->vm; +static int dbvm_get_utypes(lua_State* L) +{ + const sdb_vm* svm = lsqlite_checkvm(L, 1); + sqlite3_stmt* vm = svm->vm; const int columns = sqlite3_column_count(vm); /* valid as soon as statement prepared */ int n; @@ -454,15 +491,17 @@ static int dbvm_get_utypes(lua_State *L) { return columns; } -static int dbvm_get_named_values(lua_State *L) { - sdb_vm *svm = lsqlite_checkvm(L, 1); - sqlite3_stmt *vm = svm->vm; +static int dbvm_get_named_values(lua_State* L) +{ + sdb_vm* svm = lsqlite_checkvm(L, 1); + sqlite3_stmt* vm = svm->vm; const int columns = svm->columns; int n; dbvm_check_contents(L, svm); lua_createtable(L, 0, columns); - for (n = 0; n < columns; ++n) { + for (n = 0; n < columns; ++n) + { lua_pushstring(L, sqlite3_column_name(vm, n)); vm_push_column(L, vm, n); lua_rawset(L, -3); @@ -470,14 +509,16 @@ static int dbvm_get_named_values(lua_State *L) { return 1; } -static int dbvm_get_named_types(lua_State *L) { - const sdb_vm *svm = lsqlite_checkvm(L, 1); - sqlite3_stmt *vm = svm->vm; +static int dbvm_get_named_types(lua_State* L) +{ + const sdb_vm* svm = lsqlite_checkvm(L, 1); + sqlite3_stmt* vm = svm->vm; const int columns = sqlite3_column_count(vm); int n; lua_createtable(L, 0, columns); - for (n = 0; n < columns; ++n) { + for (n = 0; n < columns; ++n) + { lua_pushstring(L, sqlite3_column_name(vm, n)); lua_pushstring(L, sqlite3_column_decltype(vm, n)); lua_rawset(L, -3); @@ -491,45 +532,44 @@ static int dbvm_get_named_types(lua_State *L) { ** ======================================================= */ -static int dbvm_bind_index(lua_State *L, sqlite3_stmt *vm, int index, int lindex) { - switch (lua_type(L, lindex)) { - case LUA_TSTRING: - return sqlite3_bind_text(vm, index, lua_tostring(L, lindex), static_cast(lua_strlen(L, lindex)), SQLITE_TRANSIENT); - case LUA_TNUMBER: +static int dbvm_bind_index(lua_State* L, sqlite3_stmt* vm, int index, int lindex) +{ + switch (lua_type(L, lindex)) + { + case LUA_TSTRING: return sqlite3_bind_text(vm, index, lua_tostring(L, lindex), static_cast(lua_strlen(L, lindex)), SQLITE_TRANSIENT); + case LUA_TNUMBER: #if LUA_VERSION_NUM > 502 - if (lua_isinteger(L, lindex)) - return sqlite3_bind_int64(vm, index, lua_tointeger(L, lindex)); + if (lua_isinteger(L, lindex)) + return sqlite3_bind_int64(vm, index, lua_tointeger(L, lindex)); #endif - return sqlite3_bind_double(vm, index, lua_tonumber(L, lindex)); - case LUA_TBOOLEAN: - return sqlite3_bind_int(vm, index, lua_toboolean(L, lindex) ? 1 : 0); - case LUA_TNONE: - case LUA_TNIL: - return sqlite3_bind_null(vm, index); - default: - luaL_error(L, "index (%d) - invalid data type for bind (%s)", index, lua_typename(L, lua_type(L, lindex))); - return SQLITE_MISUSE; /*!*/ + return sqlite3_bind_double(vm, index, lua_tonumber(L, lindex)); + case LUA_TBOOLEAN: return sqlite3_bind_int(vm, index, lua_toboolean(L, lindex) ? 1 : 0); + case LUA_TNONE: + case LUA_TNIL: return sqlite3_bind_null(vm, index); + default: luaL_error(L, "index (%d) - invalid data type for bind (%s)", index, lua_typename(L, lua_type(L, lindex))); return SQLITE_MISUSE; /*!*/ } } - -static int dbvm_bind_parameter_count(lua_State *L) { - const sdb_vm *svm = lsqlite_checkvm(L, 1); +static int dbvm_bind_parameter_count(lua_State* L) +{ + const sdb_vm* svm = lsqlite_checkvm(L, 1); lua_pushinteger(L, sqlite3_bind_parameter_count(svm->vm)); return 1; } -static int dbvm_bind_parameter_name(lua_State *L) { - sdb_vm *svm = lsqlite_checkvm(L, 1); +static int dbvm_bind_parameter_name(lua_State* L) +{ + sdb_vm* svm = lsqlite_checkvm(L, 1); const int index = static_cast(luaL_checknumber(L, 2)); dbvm_check_bind_index(L, svm, index); lua_pushstring(L, sqlite3_bind_parameter_name(svm->vm, index)); return 1; } -static int dbvm_bind(lua_State *L) { - sdb_vm *svm = lsqlite_checkvm(L, 1); - sqlite3_stmt *vm = svm->vm; +static int dbvm_bind(lua_State* L) +{ + sdb_vm* svm = lsqlite_checkvm(L, 1); + sqlite3_stmt* vm = svm->vm; const int index = luaL_checkint(L, 2); int result; @@ -540,31 +580,31 @@ static int dbvm_bind(lua_State *L) { return 1; } -static int dbvm_bind_blob(lua_State *L) { - const sdb_vm *svm = lsqlite_checkvm(L, 1); +static int dbvm_bind_blob(lua_State* L) +{ + const sdb_vm* svm = lsqlite_checkvm(L, 1); const int index = luaL_checkint(L, 2); - const char *value = luaL_checkstring(L, 3); + const char* value = luaL_checkstring(L, 3); const int len = static_cast(lua_strlen(L, 3)); lua_pushinteger(L, sqlite3_bind_blob(svm->vm, index, value, len, SQLITE_TRANSIENT)); return 1; } -static int dbvm_bind_values(lua_State *L) { - const sdb_vm *svm = lsqlite_checkvm(L, 1); - sqlite3_stmt *vm = svm->vm; +static int dbvm_bind_values(lua_State* L) +{ + const sdb_vm* svm = lsqlite_checkvm(L, 1); + sqlite3_stmt* vm = svm->vm; const int top = lua_gettop(L); int result, n; if (top - 1 != sqlite3_bind_parameter_count(vm)) - luaL_error(L, - "incorrect number of parameters to bind (%d given, %d to bind)", - top - 1, - sqlite3_bind_parameter_count(vm) - ); - - for (n = 2; n <= top; ++n) { - if ((result = dbvm_bind_index(L, vm, n - 1, n)) != SQLITE_OK) { + luaL_error(L, "incorrect number of parameters to bind (%d given, %d to bind)", top - 1, sqlite3_bind_parameter_count(vm)); + + for (n = 2; n <= top; ++n) + { + if ((result = dbvm_bind_index(L, vm, n - 1, n)) != SQLITE_OK) + { lua_pushinteger(L, result); return 1; } @@ -574,30 +614,35 @@ static int dbvm_bind_values(lua_State *L) { return 1; } -static int dbvm_bind_names(lua_State *L) { - const sdb_vm *svm = lsqlite_checkvm(L, 1); - sqlite3_stmt *vm = svm->vm; +static int dbvm_bind_names(lua_State* L) +{ + const sdb_vm* svm = lsqlite_checkvm(L, 1); + sqlite3_stmt* vm = svm->vm; const int count = sqlite3_bind_parameter_count(vm); - const char *name; + const char* name; int result, n; luaL_checktype(L, 2, LUA_TTABLE); - for (n = 1; n <= count; ++n) { + for (n = 1; n <= count; ++n) + { name = sqlite3_bind_parameter_name(vm, n); - if (name && (name[0] == ':' || name[0] == '$')) { + if (name && (name[0] == ':' || name[0] == '$')) + { lua_pushstring(L, ++name); lua_gettable(L, 2); result = dbvm_bind_index(L, vm, n, -1); lua_pop(L, 1); } - else { + else + { lua_pushinteger(L, n); lua_gettable(L, 2); result = dbvm_bind_index(L, vm, n, -1); lua_pop(L, 1); } - if (result != SQLITE_OK) { + if (result != SQLITE_OK) + { lua_pushinteger(L, result); return 1; } @@ -620,30 +665,21 @@ static int dbvm_bind_names(lua_State *L) { ** ** Creates a new 'table' and leaves it in the stack */ -static sdb *newdb (lua_State *L) { - auto *db = static_cast(lua_newuserdata(L, sizeof(sdb))); +static sdb* newdb(lua_State* L) +{ + auto* db = static_cast(lua_newuserdata(L, sizeof(sdb))); db->L = L; - db->db = nullptr; /* database handle is currently `closed' */ + db->db = nullptr; /* database handle is currently `closed' */ db->func = nullptr; - db->busy_cb = - db->busy_udata = - db->progress_cb = - db->progress_udata = - db->trace_cb = - db->trace_udata = + db->busy_cb = db->busy_udata = db->progress_cb = db->progress_udata = db->trace_cb = db->trace_udata = #if !defined(LSQLITE_OMIT_UPDATE_HOOK) || !LSQLITE_OMIT_UPDATE_HOOK - db->update_hook_cb = - db->update_hook_udata = - db->commit_hook_cb = - db->commit_hook_udata = - db->rollback_hook_cb = - db->rollback_hook_udata = + db->update_hook_cb = db->update_hook_udata = db->commit_hook_cb = db->commit_hook_udata = db->rollback_hook_cb = db->rollback_hook_udata = #endif - LUA_NOREF; + LUA_NOREF; luaL_getmetatable(L, sqlite_meta); - lua_setmetatable(L, -2); /* set metatable */ + lua_setmetatable(L, -2); /* set metatable */ /* to keep track of 'open' virtual machines */ lua_pushlightuserdata(L, db); @@ -653,9 +689,10 @@ static sdb *newdb (lua_State *L) { return db; } -static int cleanupdb(lua_State *L, sdb *db) { - sdb_func *func; - sdb_func *func_next; +static int cleanupdb(lua_State* L, sdb* db) +{ + sdb_func* func; + sdb_func* func_next; int top; int result; @@ -666,8 +703,9 @@ static int cleanupdb(lua_State *L, sdb *db) { /* close all used handles */ top = lua_gettop(L); lua_pushnil(L); - while (lua_next(L, -2)) { - auto *svm = static_cast(lua_touserdata(L, -2)); /* key: vm; val: sql text */ + while (lua_next(L, -2)) + { + auto* svm = static_cast(lua_touserdata(L, -2)); /* key: vm; val: sql text */ cleanupvm(L, svm); lua_settop(L, top); @@ -703,7 +741,8 @@ static int cleanupdb(lua_State *L, sdb *db) { /* free associated memory with created functions */ func = db->func; - while (func) { + while (func) + { func_next = func->next; luaL_unref(L, LUA_REGISTRYINDEX, func->fn_step); luaL_unref(L, LUA_REGISTRYINDEX, func->fn_finalize); @@ -715,31 +754,36 @@ static int cleanupdb(lua_State *L, sdb *db) { return result; } -static sdb *lsqlite_getdb(lua_State *L, int index) { - auto *db = static_cast(luaL_checkudata(L, index, sqlite_meta)); - if (db == nullptr) luaL_typerror(L, index, "sqlite database"); +static sdb* lsqlite_getdb(lua_State* L, int index) +{ + auto* db = static_cast(luaL_checkudata(L, index, sqlite_meta)); + if (db == nullptr) + luaL_typerror(L, index, "sqlite database"); return db; } -static sdb *lsqlite_checkdb(lua_State *L, int index) { - auto *db = lsqlite_getdb(L, index); - if (db->db == nullptr) luaL_argerror(L, index, "attempt to use closed sqlite database"); +static sdb* lsqlite_checkdb(lua_State* L, int index) +{ + auto* db = lsqlite_getdb(L, index); + if (db->db == nullptr) + luaL_argerror(L, index, "attempt to use closed sqlite database"); return db; } - /* ** ======================================================= ** User Defined Functions - Context Methods ** ======================================================= */ -typedef struct { - sqlite3_context *ctx; +typedef struct +{ + sqlite3_context* ctx; int ud; } lcontext; -static lcontext *lsqlite_make_context(lua_State *L) { - auto *ctx = static_cast(lua_newuserdata(L, sizeof(lcontext))); +static lcontext* lsqlite_make_context(lua_State* L) +{ + auto* ctx = static_cast(lua_newuserdata(L, sizeof(lcontext))); lua_rawgeti(L, LUA_REGISTRYINDEX, sqlite_ctx_meta_ref); lua_setmetatable(L, -2); ctx->ctx = nullptr; @@ -747,21 +791,26 @@ static lcontext *lsqlite_make_context(lua_State *L) { return ctx; } -static lcontext *lsqlite_getcontext(lua_State *L, int index) { - auto *ctx = static_cast(luaL_checkudata(L, index, sqlite_ctx_meta)); - if (ctx == nullptr) luaL_typerror(L, index, "sqlite context"); +static lcontext* lsqlite_getcontext(lua_State* L, int index) +{ + auto* ctx = static_cast(luaL_checkudata(L, index, sqlite_ctx_meta)); + if (ctx == nullptr) + luaL_typerror(L, index, "sqlite context"); return ctx; } -static lcontext *lsqlite_checkcontext(lua_State *L, int index) { - lcontext *ctx = lsqlite_getcontext(L, index); - if (ctx->ctx == nullptr) luaL_argerror(L, index, "invalid sqlite context"); +static lcontext* lsqlite_checkcontext(lua_State* L, int index) +{ + lcontext* ctx = lsqlite_getcontext(L, index); + if (ctx->ctx == nullptr) + luaL_argerror(L, index, "invalid sqlite context"); return ctx; } -static int lcontext_tostring(lua_State *L) { +static int lcontext_tostring(lua_State* L) +{ char buff[39]; - const lcontext *ctx = lsqlite_getcontext(L, 1); + const lcontext* ctx = lsqlite_getcontext(L, 1); if (ctx->ctx == nullptr) strcpy(buff, "closed"); else @@ -770,29 +819,34 @@ static int lcontext_tostring(lua_State *L) { return 1; } -static void lcontext_check_aggregate(lua_State *L, lcontext *ctx) { - const auto *func = static_cast(sqlite3_user_data(ctx->ctx)); - if (!func->aggregate) { +static void lcontext_check_aggregate(lua_State* L, lcontext* ctx) +{ + const auto* func = static_cast(sqlite3_user_data(ctx->ctx)); + if (!func->aggregate) + { luaL_error(L, "attempt to call aggregate method from scalar function"); } } -static int lcontext_user_data(lua_State *L) { - const lcontext *ctx = lsqlite_checkcontext(L, 1); - const auto *func = static_cast(sqlite3_user_data(ctx->ctx)); +static int lcontext_user_data(lua_State* L) +{ + const lcontext* ctx = lsqlite_checkcontext(L, 1); + const auto* func = static_cast(sqlite3_user_data(ctx->ctx)); lua_rawgeti(L, LUA_REGISTRYINDEX, func->udata); return 1; } -static int lcontext_get_aggregate_context(lua_State *L) { - lcontext *ctx = lsqlite_checkcontext(L, 1); +static int lcontext_get_aggregate_context(lua_State* L) +{ + lcontext* ctx = lsqlite_checkcontext(L, 1); lcontext_check_aggregate(L, ctx); lua_rawgeti(L, LUA_REGISTRYINDEX, ctx->ud); return 1; } -static int lcontext_set_aggregate_context(lua_State *L) { - lcontext *ctx = lsqlite_checkcontext(L, 1); +static int lcontext_set_aggregate_context(lua_State* L) +{ + lcontext* ctx = lsqlite_checkcontext(L, 1); lcontext_check_aggregate(L, ctx); lua_settop(L, 2); luaL_unref(L, LUA_REGISTRYINDEX, ctx->ud); @@ -800,8 +854,9 @@ static int lcontext_set_aggregate_context(lua_State *L) { return 0; } -static int lcontext_aggregate_count(lua_State *L) { - lcontext *ctx = lsqlite_checkcontext(L, 1); +static int lcontext_aggregate_count(lua_State* L) +{ + lcontext* ctx = lsqlite_checkcontext(L, 1); lcontext_check_aggregate(L, ctx); lua_pushinteger(L, sqlite3_aggregate_count(ctx->ctx)); return 1; @@ -812,71 +867,73 @@ void *sqlite3_get_auxdata(sqlite3_context*, int); void sqlite3_set_auxdata(sqlite3_context*, int, void*, void (*)(void*)); #endif -static int lcontext_result(lua_State *L) { - lcontext *ctx = lsqlite_checkcontext(L, 1); - switch (lua_type(L, 2)) { - case LUA_TNUMBER: +static int lcontext_result(lua_State* L) +{ + lcontext* ctx = lsqlite_checkcontext(L, 1); + switch (lua_type(L, 2)) + { + case LUA_TNUMBER: #if LUA_VERSION_NUM > 502 - if (lua_isinteger(L, 2)) - sqlite3_result_int64(ctx->ctx, luaL_checkinteger(L, 2)); - else + if (lua_isinteger(L, 2)) + sqlite3_result_int64(ctx->ctx, luaL_checkinteger(L, 2)); + else #endif sqlite3_result_double(ctx->ctx, luaL_checknumber(L, 2)); - break; - case LUA_TSTRING: - sqlite3_result_text(ctx->ctx, luaL_checkstring(L, 2), static_cast(lua_strlen(L, 2)), SQLITE_TRANSIENT); - break; - case LUA_TNIL: - case LUA_TNONE: - sqlite3_result_null(ctx->ctx); - break; - default: - luaL_error(L, "invalid result type %s", lua_typename(L, 2)); - break; + break; + case LUA_TSTRING: sqlite3_result_text(ctx->ctx, luaL_checkstring(L, 2), static_cast(lua_strlen(L, 2)), SQLITE_TRANSIENT); break; + case LUA_TNIL: + case LUA_TNONE: sqlite3_result_null(ctx->ctx); break; + default: luaL_error(L, "invalid result type %s", lua_typename(L, 2)); break; } return 0; } -static int lcontext_result_blob(lua_State *L) { - const lcontext *ctx = lsqlite_checkcontext(L, 1); - const char *blob = luaL_checkstring(L, 2); +static int lcontext_result_blob(lua_State* L) +{ + const lcontext* ctx = lsqlite_checkcontext(L, 1); + const char* blob = luaL_checkstring(L, 2); const int size = static_cast(lua_strlen(L, 2)); sqlite3_result_blob(ctx->ctx, blob, size, SQLITE_TRANSIENT); return 0; } -static int lcontext_result_double(lua_State *L) { - const lcontext *ctx = lsqlite_checkcontext(L, 1); +static int lcontext_result_double(lua_State* L) +{ + const lcontext* ctx = lsqlite_checkcontext(L, 1); const double d = luaL_checknumber(L, 2); sqlite3_result_double(ctx->ctx, d); return 0; } -static int lcontext_result_error(lua_State *L) { - const lcontext *ctx = lsqlite_checkcontext(L, 1); - const char *err = luaL_checkstring(L, 2); +static int lcontext_result_error(lua_State* L) +{ + const lcontext* ctx = lsqlite_checkcontext(L, 1); + const char* err = luaL_checkstring(L, 2); const int size = static_cast(lua_strlen(L, 2)); sqlite3_result_error(ctx->ctx, err, size); return 0; } -static int lcontext_result_int(lua_State *L) { - const lcontext *ctx = lsqlite_checkcontext(L, 1); +static int lcontext_result_int(lua_State* L) +{ + const lcontext* ctx = lsqlite_checkcontext(L, 1); const int i = luaL_checkint(L, 2); sqlite3_result_int(ctx->ctx, i); return 0; } -static int lcontext_result_null(lua_State *L) { - const lcontext *ctx = lsqlite_checkcontext(L, 1); +static int lcontext_result_null(lua_State* L) +{ + const lcontext* ctx = lsqlite_checkcontext(L, 1); sqlite3_result_null(ctx->ctx); return 0; } -static int lcontext_result_text(lua_State *L) { - const lcontext *ctx = lsqlite_checkcontext(L, 1); - const char *text = luaL_checkstring(L, 2); +static int lcontext_result_text(lua_State* L) +{ + const lcontext* ctx = lsqlite_checkcontext(L, 1); + const char* text = luaL_checkstring(L, 2); const int size = static_cast(lua_strlen(L, 2)); sqlite3_result_text(ctx->ctx, text, size, SQLITE_TRANSIENT); return 0; @@ -888,53 +945,61 @@ static int lcontext_result_text(lua_State *L) { ** ======================================================= */ -static int db_isopen(lua_State *L) { - const sdb *db = lsqlite_getdb(L, 1); +static int db_isopen(lua_State* L) +{ + const sdb* db = lsqlite_getdb(L, 1); lua_pushboolean(L, db->db != nullptr ? 1 : 0); return 1; } -static int db_last_insert_rowid(lua_State *L) { - const sdb *db = lsqlite_checkdb(L, 1); +static int db_last_insert_rowid(lua_State* L) +{ + const sdb* db = lsqlite_checkdb(L, 1); /* conversion warning: int64 -> luaNumber */ const sqlite_int64 rowid = sqlite3_last_insert_rowid(db->db); PUSH_INT64(L, rowid, lua_pushfstring(L, "%ll", rowid)); return 1; } -static int db_changes(lua_State *L) { - const sdb *db = lsqlite_checkdb(L, 1); +static int db_changes(lua_State* L) +{ + const sdb* db = lsqlite_checkdb(L, 1); lua_pushinteger(L, sqlite3_changes(db->db)); return 1; } -static int db_total_changes(lua_State *L) { - const sdb *db = lsqlite_checkdb(L, 1); +static int db_total_changes(lua_State* L) +{ + const sdb* db = lsqlite_checkdb(L, 1); lua_pushinteger(L, sqlite3_total_changes(db->db)); return 1; } -static int db_errcode(lua_State *L) { - const sdb *db = lsqlite_checkdb(L, 1); +static int db_errcode(lua_State* L) +{ + const sdb* db = lsqlite_checkdb(L, 1); lua_pushinteger(L, sqlite3_errcode(db->db)); return 1; } -static int db_errmsg(lua_State *L) { - const sdb *db = lsqlite_checkdb(L, 1); +static int db_errmsg(lua_State* L) +{ + const sdb* db = lsqlite_checkdb(L, 1); lua_pushstring(L, sqlite3_errmsg(db->db)); return 1; } -static int db_interrupt(lua_State *L) { - const sdb *db = lsqlite_checkdb(L, 1); +static int db_interrupt(lua_State* L) +{ + const sdb* db = lsqlite_checkdb(L, 1); sqlite3_interrupt(db->db); return 0; } -static int db_db_filename(lua_State *L) { - const sdb *db = lsqlite_checkdb(L, 1); - const char *db_name = luaL_checkstring(L, 2); +static int db_db_filename(lua_State* L) +{ + const sdb* db = lsqlite_checkdb(L, 1); + const char* db_name = luaL_checkstring(L, 2); // sqlite3_db_filename may return NULL, in that case Lua pushes nil... lua_pushstring(L, sqlite3_db_filename(db->db, db_name)); return 1; @@ -944,35 +1009,25 @@ static int db_db_filename(lua_State *L) { ** Registering SQL functions: */ -static void db_push_value(lua_State *L, sqlite3_value *value) { - switch (sqlite3_value_type(value)) { - case SQLITE_TEXT: - lua_pushlstring(L, reinterpret_cast(sqlite3_value_text(value)), sqlite3_value_bytes(value)); - break; - - case SQLITE_INTEGER: - PUSH_INT64(L, sqlite3_value_int64(value) - , lua_pushlstring(L, (const char*)sqlite3_value_text(value) - , sqlite3_value_bytes(value))); - break; - - case SQLITE_FLOAT: - lua_pushnumber(L, sqlite3_value_double(value)); - break; - - case SQLITE_BLOB: - lua_pushlstring(L, static_cast(sqlite3_value_blob(value)), sqlite3_value_bytes(value)); - break; - - case SQLITE_NULL: - lua_pushnil(L); - break; - - default: - /* things done properly (SQLite + Lua SQLite) - ** this should never happen */ - lua_pushnil(L); - break; +static void db_push_value(lua_State* L, sqlite3_value* value) +{ + switch (sqlite3_value_type(value)) + { + case SQLITE_TEXT: lua_pushlstring(L, reinterpret_cast(sqlite3_value_text(value)), sqlite3_value_bytes(value)); break; + + case SQLITE_INTEGER: PUSH_INT64(L, sqlite3_value_int64(value), lua_pushlstring(L, (const char*)sqlite3_value_text(value), sqlite3_value_bytes(value))); break; + + case SQLITE_FLOAT: lua_pushnumber(L, sqlite3_value_double(value)); break; + + case SQLITE_BLOB: lua_pushlstring(L, static_cast(sqlite3_value_blob(value)), sqlite3_value_bytes(value)); break; + + case SQLITE_NULL: lua_pushnil(L); break; + + default: + /* things done properly (SQLite + Lua SQLite) + ** this should never happen */ + lua_pushnil(L); + break; } } @@ -982,31 +1037,35 @@ static void db_push_value(lua_State *L, sqlite3_value *value) { /* scalar function to be called ** callback params: context, values... */ -static void db_sql_normal_function(sqlite3_context *context, int argc, sqlite3_value **argv) { - const auto *func = static_cast(sqlite3_user_data(context)); - lua_State *L = func->db->L; +static void db_sql_normal_function(sqlite3_context* context, int argc, sqlite3_value** argv) +{ + const auto* func = static_cast(sqlite3_user_data(context)); + lua_State* L = func->db->L; int n; - lcontext *ctx; + lcontext* ctx; const int top = lua_gettop(L); /* ensure there is enough space in the stack */ lua_checkstack(L, argc + 3); - lua_rawgeti(L, LUA_REGISTRYINDEX, func->fn_step); /* function to call */ + lua_rawgeti(L, LUA_REGISTRYINDEX, func->fn_step); /* function to call */ - if (!func->aggregate) { + if (!func->aggregate) + { ctx = lsqlite_make_context(L); /* push context - used to set results */ } - else { + else + { /* reuse context userdata value */ - void *p = sqlite3_aggregate_context(context, 1); + void* p = sqlite3_aggregate_context(context, 1); /* i think it is OK to use assume that using a light user data ** as an entry on LUA REGISTRY table will be unique */ lua_pushlightuserdata(L, p); - lua_rawget(L, LUA_REGISTRYINDEX); /* context table */ + lua_rawget(L, LUA_REGISTRYINDEX); /* context table */ - if (lua_isnil(L, -1)) { /* not yet created? */ + if (lua_isnil(L, -1)) + { /* not yet created? */ lua_pop(L, 1); ctx = lsqlite_make_context(L); lua_pushlightuserdata(L, p); @@ -1018,15 +1077,17 @@ static void db_sql_normal_function(sqlite3_context *context, int argc, sqlite3_v } /* push params */ - for (n = 0; n < argc; ++n) { + for (n = 0; n < argc; ++n) + { db_push_value(L, argv[n]); } /* set context */ ctx->ctx = context; - if (lua_pcall(L, argc + 1, 0, 0)) { - const char *errmsg = lua_tostring(L, -1); + if (lua_pcall(L, argc + 1, 0, 0)) + { + const char* errmsg = lua_tostring(L, -1); const int size = static_cast(lua_strlen(L, -1)); sqlite3_result_error(context, errmsg, size); } @@ -1034,28 +1095,31 @@ static void db_sql_normal_function(sqlite3_context *context, int argc, sqlite3_v /* invalidate context */ ctx->ctx = nullptr; - if (!func->aggregate) { + if (!func->aggregate) + { luaL_unref(L, LUA_REGISTRYINDEX, ctx->ud); } lua_settop(L, top); } -static void db_sql_finalize_function(sqlite3_context *context) { - const auto *func = static_cast(sqlite3_user_data(context)); - lua_State *L = func->db->L; - void *p = sqlite3_aggregate_context(context, 1); /* minimal mem usage */ - lcontext *ctx; +static void db_sql_finalize_function(sqlite3_context* context) +{ + const auto* func = static_cast(sqlite3_user_data(context)); + lua_State* L = func->db->L; + void* p = sqlite3_aggregate_context(context, 1); /* minimal mem usage */ + lcontext* ctx; const int top = lua_gettop(L); - lua_rawgeti(L, LUA_REGISTRYINDEX, func->fn_finalize); /* function to call */ + lua_rawgeti(L, LUA_REGISTRYINDEX, func->fn_finalize); /* function to call */ /* i think it is OK to use assume that using a light user data ** as an entry on LUA REGISTRY table will be unique */ lua_pushlightuserdata(L, p); - lua_rawget(L, LUA_REGISTRYINDEX); /* context table */ + lua_rawget(L, LUA_REGISTRYINDEX); /* context table */ - if (lua_isnil(L, -1)) { /* not yet created? - shouldn't happen in finalize function */ + if (lua_isnil(L, -1)) + { /* not yet created? - shouldn't happen in finalize function */ lua_pop(L, 1); ctx = lsqlite_make_context(L); lua_pushlightuserdata(L, p); @@ -1068,7 +1132,8 @@ static void db_sql_finalize_function(sqlite3_context *context) { /* set context */ ctx->ctx = context; - if (lua_pcall(L, 1, 0, 0)) { + if (lua_pcall(L, 1, 0, 0)) + { sqlite3_result_error(context, lua_tostring(L, -1), -1); } @@ -1097,35 +1162,37 @@ static void db_sql_finalize_function(sqlite3_context *context) { ** Params of step: context, params ** Params of finalize: context */ -static int db_register_function(lua_State *L, int aggregate) { - sdb *db = lsqlite_checkdb(L, 1); - const char *name; +static int db_register_function(lua_State* L, int aggregate) +{ + sdb* db = lsqlite_checkdb(L, 1); + const char* name; int args; int result; - sdb_func *func; + sdb_func* func; /* safety measure */ - if (aggregate) aggregate = 1; + if (aggregate) + aggregate = 1; name = luaL_checkstring(L, 2); args = luaL_checkint(L, 3); luaL_checktype(L, 4, LUA_TFUNCTION); - if (aggregate) luaL_checktype(L, 5, LUA_TFUNCTION); + if (aggregate) + luaL_checktype(L, 5, LUA_TFUNCTION); /* maybe an alternative way to allocate memory should be used/avoided */ func = static_cast(malloc(sizeof(sdb_func))); - if (func == nullptr) { + if (func == nullptr) + { luaL_error(L, "out of memory"); } result = sqlite3_create_function( - db->db, name, args, SQLITE_UTF8, func, - aggregate ? nullptr : db_sql_normal_function, - aggregate ? db_sql_normal_function : nullptr, - aggregate ? db_sql_finalize_function : nullptr - ); + db->db, name, args, SQLITE_UTF8, func, aggregate ? nullptr : db_sql_normal_function, aggregate ? db_sql_normal_function : nullptr, + aggregate ? db_sql_finalize_function : nullptr); - if (result == SQLITE_OK) { + if (result == SQLITE_OK) + { /* safety measures for userdata field to be present in the stack */ lua_settop(L, 5 + aggregate); @@ -1139,17 +1206,19 @@ static int db_register_function(lua_State *L, int aggregate) { lua_pushvalue(L, 4); func->fn_step = luaL_ref(L, LUA_REGISTRYINDEX); /* save user data */ - lua_pushvalue(L, 5+aggregate); + lua_pushvalue(L, 5 + aggregate); func->udata = luaL_ref(L, LUA_REGISTRYINDEX); - if (aggregate) { + if (aggregate) + { lua_pushvalue(L, 5); func->fn_finalize = luaL_ref(L, LUA_REGISTRYINDEX); } else func->fn_finalize = LUA_NOREF; } - else { + else + { /* free allocated memory */ free(func); } @@ -1158,91 +1227,104 @@ static int db_register_function(lua_State *L, int aggregate) { return 1; } -static int db_create_function(lua_State *L) { +static int db_create_function(lua_State* L) +{ return db_register_function(L, 0); } -static int db_create_aggregate(lua_State *L) { +static int db_create_aggregate(lua_State* L) +{ return db_register_function(L, 1); } /* create_collation; contributed by Thomas Lauer -*/ + */ -typedef struct { - lua_State *L; +typedef struct +{ + lua_State* L; int ref; } scc; -static int collwrapper(scc *co,int l1,const void *p1, - int l2,const void *p2) { - int res=0; - lua_State *L=co->L; - lua_rawgeti(L,LUA_REGISTRYINDEX,co->ref); +static int collwrapper(scc* co, int l1, const void* p1, int l2, const void* p2) +{ + int res = 0; + lua_State* L = co->L; + lua_rawgeti(L, LUA_REGISTRYINDEX, co->ref); lua_pushlstring(L, static_cast(p1), l1); lua_pushlstring(L, static_cast(p2), l2); - if (lua_pcall(L,2,1,0)==0) res=static_cast(lua_tonumber(L, -1)); - lua_pop(L,1); + if (lua_pcall(L, 2, 1, 0) == 0) + res = static_cast(lua_tonumber(L, -1)); + lua_pop(L, 1); return res; } -static void collfree(scc *co) { - if (co) { - luaL_unref(co->L,LUA_REGISTRYINDEX,co->ref); +static void collfree(scc* co) +{ + if (co) + { + luaL_unref(co->L, LUA_REGISTRYINDEX, co->ref); free(co); } } -static int db_create_collation(lua_State *L) { - const sdb *db=lsqlite_checkdb(L,1); - const char *collname=luaL_checkstring(L,2); - scc *co= nullptr; - int (*collfunc)(scc *,int,const void *,int,const void *)= nullptr; - lua_settop(L,3); /* default args to nil, and exclude extras */ - if (lua_isfunction(L,3)) collfunc=collwrapper; - else if (!lua_isnil(L,3)) - luaL_error(L,"create_collation: function or nil expected"); - if (collfunc != nullptr) { - co=static_cast(malloc(sizeof(scc))); /* userdata is a no-no as it - will be garbage-collected */ - if (co) { - co->L=L; +static int db_create_collation(lua_State* L) +{ + const sdb* db = lsqlite_checkdb(L, 1); + const char* collname = luaL_checkstring(L, 2); + scc* co = nullptr; + int (*collfunc)(scc*, int, const void*, int, const void*) = nullptr; + lua_settop(L, 3); /* default args to nil, and exclude extras */ + if (lua_isfunction(L, 3)) + collfunc = collwrapper; + else if (!lua_isnil(L, 3)) + luaL_error(L, "create_collation: function or nil expected"); + if (collfunc != nullptr) + { + co = static_cast(malloc(sizeof(scc))); /* userdata is a no-no as it + will be garbage-collected */ + if (co) + { + co->L = L; /* lua_settop(L,3) above means we don't need: lua_pushvalue(L,3); */ - co->ref=luaL_ref(L,LUA_REGISTRYINDEX); + co->ref = luaL_ref(L, LUA_REGISTRYINDEX); } - else luaL_error(L,"create_collation: could not allocate callback"); + else + luaL_error(L, "create_collation: could not allocate callback"); } - sqlite3_create_collation_v2(db->db, collname, SQLITE_UTF8, - co, - reinterpret_cast(collfunc), - reinterpret_cast(collfree)); + sqlite3_create_collation_v2( + db->db, collname, SQLITE_UTF8, co, reinterpret_cast(collfunc), reinterpret_cast(collfree)); return 0; } /* Thanks to Wolfgang Oertl... -*/ -static int db_load_extension(lua_State *L) { - const sdb *db=lsqlite_checkdb(L,1); - const char *extname=luaL_optstring(L,2,NULL); - const char *entrypoint=luaL_optstring(L,3,NULL); + */ +static int db_load_extension(lua_State* L) +{ + const sdb* db = lsqlite_checkdb(L, 1); + const char* extname = luaL_optstring(L, 2, NULL); + const char* entrypoint = luaL_optstring(L, 3, NULL); int result; - char *errmsg = nullptr; + char* errmsg = nullptr; - if (extname == nullptr) { - result = sqlite3_enable_load_extension(db->db,0); /* disable extension loading */ + if (extname == nullptr) + { + result = sqlite3_enable_load_extension(db->db, 0); /* disable extension loading */ } - else { - sqlite3_enable_load_extension(db->db,1); /* enable extension loading */ - result = sqlite3_load_extension(db->db,extname,entrypoint,&errmsg); + else + { + sqlite3_enable_load_extension(db->db, 1); /* enable extension loading */ + result = sqlite3_load_extension(db->db, extname, entrypoint, &errmsg); } - if (result == SQLITE_OK) { - lua_pushboolean(L,1); + if (result == SQLITE_OK) + { + lua_pushboolean(L, 1); return 1; } - lua_pushboolean(L,0); /* so, assert(load_extension(...)) works */ - lua_pushstring(L,errmsg); + lua_pushboolean(L, 0); /* so, assert(load_extension(...)) works */ + lua_pushstring(L, errmsg); sqlite3_free(errmsg); return 2; } @@ -1254,15 +1336,16 @@ static int db_load_extension(lua_State *L) { ** callback function: ** Params: userdata, sql */ -static void db_trace_callback(void *user, const char *sql) { - const auto *db = static_cast(user); - lua_State *L = db->L; +static void db_trace_callback(void* user, const char* sql) +{ + const auto* db = static_cast(user); + lua_State* L = db->L; const int top = lua_gettop(L); /* setup lua callback call */ lua_rawgeti(L, LUA_REGISTRYINDEX, db->trace_cb); /* get callback */ lua_rawgeti(L, LUA_REGISTRYINDEX, db->trace_udata); /* get callback user data */ - lua_pushstring(L, sql); /* traced sql statement */ + lua_pushstring(L, sql); /* traced sql statement */ /* call lua function */ lua_pcall(L, 2, 0, 0); @@ -1271,20 +1354,22 @@ static void db_trace_callback(void *user, const char *sql) { lua_settop(L, top); } -static int db_trace(lua_State *L) { - sdb *db = lsqlite_checkdb(L, 1); +static int db_trace(lua_State* L) +{ + sdb* db = lsqlite_checkdb(L, 1); - if (lua_gettop(L) < 2 || lua_isnil(L, 2)) { + if (lua_gettop(L) < 2 || lua_isnil(L, 2)) + { luaL_unref(L, LUA_REGISTRYINDEX, db->trace_cb); luaL_unref(L, LUA_REGISTRYINDEX, db->trace_udata); - db->trace_cb = - db->trace_udata = LUA_NOREF; + db->trace_cb = db->trace_udata = LUA_NOREF; /* clear trace handler */ sqlite3_trace(db->db, nullptr, nullptr); } - else { + else + { luaL_checktype(L, 2, LUA_TFUNCTION); /* make sure we have an userdata field (even if nil) */ @@ -1313,16 +1398,17 @@ static int db_trace(lua_State *L) { ** Params: userdata, {one of SQLITE_INSERT, SQLITE_DELETE, or SQLITE_UPDATE}, ** database name, table name (containing the affected row), rowid of the row */ -static void db_update_hook_callback(void *user, int op, char const *dbname, char const *tblname, sqlite3_int64 rowid) { - const auto *db = static_cast(user); - lua_State *L = db->L; +static void db_update_hook_callback(void* user, int op, char const* dbname, char const* tblname, sqlite3_int64 rowid) +{ + const auto* db = static_cast(user); + lua_State* L = db->L; const int top = lua_gettop(L); /* setup lua callback call */ lua_rawgeti(L, LUA_REGISTRYINDEX, db->update_hook_cb); /* get callback */ lua_rawgeti(L, LUA_REGISTRYINDEX, db->update_hook_udata); /* get callback user data */ lua_pushinteger(L, op); - lua_pushstring(L, dbname); /* update_hook database name */ + lua_pushstring(L, dbname); /* update_hook database name */ lua_pushstring(L, tblname); /* update_hook database name */ PUSH_INT64(L, rowid, lua_pushfstring(L, "%ll", rowid)); @@ -1334,20 +1420,22 @@ static void db_update_hook_callback(void *user, int op, char const *dbname, char lua_settop(L, top); } -static int db_update_hook(lua_State *L) { - sdb *db = lsqlite_checkdb(L, 1); +static int db_update_hook(lua_State* L) +{ + sdb* db = lsqlite_checkdb(L, 1); - if (lua_gettop(L) < 2 || lua_isnil(L, 2)) { + if (lua_gettop(L) < 2 || lua_isnil(L, 2)) + { luaL_unref(L, LUA_REGISTRYINDEX, db->update_hook_cb); luaL_unref(L, LUA_REGISTRYINDEX, db->update_hook_udata); - db->update_hook_cb = - db->update_hook_udata = LUA_NOREF; + db->update_hook_cb = db->update_hook_udata = LUA_NOREF; /* clear update_hook handler */ sqlite3_update_hook(db->db, nullptr, nullptr); } - else { + else + { luaL_checktype(L, 2, LUA_TFUNCTION); /* make sure we have an userdata field (even if nil) */ @@ -1375,9 +1463,10 @@ static int db_update_hook(lua_State *L) { ** Returned value: Return false or nil to continue the COMMIT operation normally. ** return true (non false, non nil), then the COMMIT is converted into a ROLLBACK. */ -static int db_commit_hook_callback(void *user) { - const auto *db = static_cast(user); - lua_State *L = db->L; +static int db_commit_hook_callback(void* user) +{ + const auto* db = static_cast(user); + lua_State* L = db->L; const int top = lua_gettop(L); int rollback = 0; @@ -1393,20 +1482,22 @@ static int db_commit_hook_callback(void *user) { return rollback; } -static int db_commit_hook(lua_State *L) { - sdb *db = lsqlite_checkdb(L, 1); +static int db_commit_hook(lua_State* L) +{ + sdb* db = lsqlite_checkdb(L, 1); - if (lua_gettop(L) < 2 || lua_isnil(L, 2)) { + if (lua_gettop(L) < 2 || lua_isnil(L, 2)) + { luaL_unref(L, LUA_REGISTRYINDEX, db->commit_hook_cb); luaL_unref(L, LUA_REGISTRYINDEX, db->commit_hook_udata); - db->commit_hook_cb = - db->commit_hook_udata = LUA_NOREF; + db->commit_hook_cb = db->commit_hook_udata = LUA_NOREF; /* clear commit_hook handler */ sqlite3_commit_hook(db->db, nullptr, nullptr); } - else { + else + { luaL_checktype(L, 2, LUA_TFUNCTION); /* make sure we have an userdata field (even if nil) */ @@ -1432,9 +1523,10 @@ static int db_commit_hook(lua_State *L) { ** callback function: ** Params: userdata */ -static void db_rollback_hook_callback(void *user) { - const auto *db = static_cast(user); - lua_State *L = db->L; +static void db_rollback_hook_callback(void* user) +{ + const auto* db = static_cast(user); + lua_State* L = db->L; const int top = lua_gettop(L); /* setup lua callback call */ @@ -1448,20 +1540,22 @@ static void db_rollback_hook_callback(void *user) { lua_settop(L, top); } -static int db_rollback_hook(lua_State *L) { - sdb *db = lsqlite_checkdb(L, 1); +static int db_rollback_hook(lua_State* L) +{ + sdb* db = lsqlite_checkdb(L, 1); - if (lua_gettop(L) < 2 || lua_isnil(L, 2)) { + if (lua_gettop(L) < 2 || lua_isnil(L, 2)) + { luaL_unref(L, LUA_REGISTRYINDEX, db->rollback_hook_cb); luaL_unref(L, LUA_REGISTRYINDEX, db->rollback_hook_udata); - db->rollback_hook_cb = - db->rollback_hook_udata = LUA_NOREF; + db->rollback_hook_cb = db->rollback_hook_udata = LUA_NOREF; /* clear rollback_hook handler */ sqlite3_rollback_hook(db->db, nullptr, nullptr); } - else { + else + { luaL_checktype(L, 2, LUA_TFUNCTION); /* make sure we have an userdata field (even if nil) */ @@ -1492,10 +1586,11 @@ static int db_rollback_hook(lua_State *L) { ** Params: userdata ** returns: 0 to return immediatly and return SQLITE_ABORT, non-zero to continue */ -static int db_progress_callback(void *user) { +static int db_progress_callback(void* user) +{ int result = 1; /* abort by default */ - const auto *db = static_cast(user); - lua_State *L = db->L; + const auto* db = static_cast(user); + lua_State* L = db->L; const int top = lua_gettop(L); lua_rawgeti(L, LUA_REGISTRYINDEX, db->progress_cb); @@ -1509,21 +1604,23 @@ static int db_progress_callback(void *user) { return result; } -static int db_progress_handler(lua_State *L) { - sdb *db = lsqlite_checkdb(L, 1); +static int db_progress_handler(lua_State* L) +{ + sdb* db = lsqlite_checkdb(L, 1); - if (lua_gettop(L) < 2 || lua_isnil(L, 2)) { + if (lua_gettop(L) < 2 || lua_isnil(L, 2)) + { luaL_unref(L, LUA_REGISTRYINDEX, db->progress_cb); luaL_unref(L, LUA_REGISTRYINDEX, db->progress_udata); - db->progress_cb = - db->progress_udata = LUA_NOREF; + db->progress_cb = db->progress_udata = LUA_NOREF; /* clear busy handler */ sqlite3_progress_handler(db->db, 0, nullptr, nullptr); } - else { - const int nop = luaL_checkint(L, 2); /* number of opcodes */ + else + { + const int nop = luaL_checkint(L, 2); /* number of opcodes */ luaL_checktype(L, 3, LUA_TFUNCTION); /* make sure we have an userdata field (even if nil) */ @@ -1544,7 +1641,8 @@ static int db_progress_handler(lua_State *L) { #else /* #if !defined(SQLITE_OMIT_PROGRESS_CALLBACK) || !SQLITE_OMIT_PROGRESS_CALLBACK */ -static int db_progress_handler(lua_State *L) { +static int db_progress_handler(lua_State* L) +{ lua_pushliteral(L, "progress callback support disabled at compile time"); lua_error(L); return 0; @@ -1566,13 +1664,16 @@ int sqlite3_backup_remaining(sqlite3_backup *p); int sqlite3_backup_pagecount(sqlite3_backup *p); #endif -struct sdb_bu { - sqlite3_backup *bu; /* backup structure */ +struct sdb_bu +{ + sqlite3_backup* bu; /* backup structure */ }; -static int cleanupbu(lua_State *L, sdb_bu *sbu) { +static int cleanupbu(lua_State* L, sdb_bu* sbu) +{ - if (!sbu->bu) return 0; /* already finished */ + if (!sbu->bu) + return 0; /* already finished */ /* remove table from registry */ lua_pushlightuserdata(L, sbu->bu); @@ -1585,19 +1686,21 @@ static int cleanupbu(lua_State *L, sdb_bu *sbu) { return 1; } -static int lsqlite_backup_init(lua_State *L) { - const sdb *target_db = lsqlite_checkdb(L, 1); - const char *target_nm = luaL_checkstring(L, 2); - const sdb *source_db = lsqlite_checkdb(L, 3); - const char *source_nm = luaL_checkstring(L, 4); +static int lsqlite_backup_init(lua_State* L) +{ + const sdb* target_db = lsqlite_checkdb(L, 1); + const char* target_nm = luaL_checkstring(L, 2); + const sdb* source_db = lsqlite_checkdb(L, 3); + const char* source_nm = luaL_checkstring(L, 4); - sqlite3_backup *bu = sqlite3_backup_init(target_db->db, target_nm, source_db->db, source_nm); + sqlite3_backup* bu = sqlite3_backup_init(target_db->db, target_nm, source_db->db, source_nm); - if (nullptr != bu) { - auto *sbu = static_cast(lua_newuserdata(L, sizeof(sdb_bu))); + if (nullptr != bu) + { + auto* sbu = static_cast(lua_newuserdata(L, sizeof(sdb_bu))); luaL_getmetatable(L, sqlite_bu_meta); - lua_setmetatable(L, -2); /* set metatable */ + lua_setmetatable(L, -2); /* set metatable */ sbu->bu = bu; /* create table from registry */ @@ -1618,21 +1721,27 @@ static int lsqlite_backup_init(lua_State *L) { return 0; } -static sdb_bu *lsqlite_getbu(lua_State *L, int index) { - auto *sbu = static_cast(luaL_checkudata(L, index, sqlite_bu_meta)); - if (sbu == nullptr) luaL_typerror(L, index, "sqlite database backup"); +static sdb_bu* lsqlite_getbu(lua_State* L, int index) +{ + auto* sbu = static_cast(luaL_checkudata(L, index, sqlite_bu_meta)); + if (sbu == nullptr) + luaL_typerror(L, index, "sqlite database backup"); return sbu; } -static sdb_bu *lsqlite_checkbu(lua_State *L, int index) { - sdb_bu *sbu = lsqlite_getbu(L, index); - if (sbu->bu == nullptr) luaL_argerror(L, index, "attempt to use closed sqlite database backup"); +static sdb_bu* lsqlite_checkbu(lua_State* L, int index) +{ + sdb_bu* sbu = lsqlite_getbu(L, index); + if (sbu->bu == nullptr) + luaL_argerror(L, index, "attempt to use closed sqlite database backup"); return sbu; } -static int dbbu_gc(lua_State *L) { - sdb_bu *sbu = lsqlite_getbu(L, 1); - if (sbu->bu != nullptr) { +static int dbbu_gc(lua_State* L) +{ + sdb_bu* sbu = lsqlite_getbu(L, 1); + if (sbu->bu != nullptr) + { cleanupbu(L, sbu); lua_pop(L, 1); } @@ -1640,27 +1749,31 @@ static int dbbu_gc(lua_State *L) { return 0; } -static int dbbu_step(lua_State *L) { - const sdb_bu *sbu = lsqlite_checkbu(L, 1); +static int dbbu_step(lua_State* L) +{ + const sdb_bu* sbu = lsqlite_checkbu(L, 1); const int nPage = luaL_checkint(L, 2); lua_pushinteger(L, sqlite3_backup_step(sbu->bu, nPage)); return 1; } -static int dbbu_remaining(lua_State *L) { - const sdb_bu *sbu = lsqlite_checkbu(L, 1); +static int dbbu_remaining(lua_State* L) +{ + const sdb_bu* sbu = lsqlite_checkbu(L, 1); lua_pushinteger(L, sqlite3_backup_remaining(sbu->bu)); return 1; } -static int dbbu_pagecount(lua_State *L) { - const sdb_bu *sbu = lsqlite_checkbu(L, 1); +static int dbbu_pagecount(lua_State* L) +{ + const sdb_bu* sbu = lsqlite_checkbu(L, 1); lua_pushinteger(L, sqlite3_backup_pagecount(sbu->bu)); return 1; } -static int dbbu_finish(lua_State *L) { - sdb_bu *sbu = lsqlite_checkbu(L, 1); +static int dbbu_finish(lua_State* L) +{ + sdb_bu* sbu = lsqlite_checkbu(L, 1); return cleanupbu(L, sbu); } @@ -1674,10 +1787,11 @@ static int dbbu_finish(lua_State *L) { ** Params: userdata, number of tries ** returns: 0 to return immediatly and return SQLITE_BUSY, non-zero to try again */ -static int db_busy_callback(void *user, int tries) { +static int db_busy_callback(void* user, int tries) +{ int retry = 0; /* abort by default */ - const auto *db = static_cast(user); - lua_State *L = db->L; + const auto* db = static_cast(user); + lua_State* L = db->L; const int top = lua_gettop(L); lua_rawgeti(L, LUA_REGISTRYINDEX, db->busy_cb); @@ -1692,20 +1806,22 @@ static int db_busy_callback(void *user, int tries) { return retry; } -static int db_busy_handler(lua_State *L) { - sdb *db = lsqlite_checkdb(L, 1); +static int db_busy_handler(lua_State* L) +{ + sdb* db = lsqlite_checkdb(L, 1); - if (lua_gettop(L) < 2 || lua_isnil(L, 2)) { + if (lua_gettop(L) < 2 || lua_isnil(L, 2)) + { luaL_unref(L, LUA_REGISTRYINDEX, db->busy_cb); luaL_unref(L, LUA_REGISTRYINDEX, db->busy_udata); - db->busy_cb = - db->busy_udata = LUA_NOREF; + db->busy_cb = db->busy_udata = LUA_NOREF; /* clear busy handler */ sqlite3_busy_handler(db->db, nullptr, nullptr); } - else { + else + { luaL_checktype(L, 2, LUA_TFUNCTION); /* make sure we have an userdata field (even if nil) */ lua_settop(L, 3); @@ -1723,8 +1839,9 @@ static int db_busy_handler(lua_State *L) { return 0; } -static int db_busy_timeout(lua_State *L) { - sdb *db = lsqlite_checkdb(L, 1); +static int db_busy_timeout(lua_State* L) +{ + sdb* db = lsqlite_checkdb(L, 1); const int timeout = luaL_checkint(L, 2); sqlite3_busy_timeout(db->db, timeout); @@ -1732,8 +1849,7 @@ static int db_busy_timeout(lua_State *L) { ** invalid/useless. free any references we may have */ luaL_unref(L, LUA_REGISTRYINDEX, db->busy_cb); luaL_unref(L, LUA_REGISTRYINDEX, db->busy_udata); - db->busy_cb = - db->busy_udata = LUA_NOREF; + db->busy_cb = db->busy_udata = LUA_NOREF; return 0; } @@ -1746,46 +1862,51 @@ static int db_busy_timeout(lua_State *L) { ** Params: user, number of columns, values, names ** Returns: 0 to continue, other value will cause abort */ -static int db_exec_callback(void* user, int columns, char **data, char **names) { +static int db_exec_callback(void* user, int columns, char** data, char** names) +{ int result = SQLITE_ABORT; /* abort by default */ - auto *L = static_cast(user); + auto* L = static_cast(user); int n; const int top = lua_gettop(L); - lua_pushvalue(L, 3); /* function to call */ - lua_pushvalue(L, 4); /* user data */ + lua_pushvalue(L, 3); /* function to call */ + lua_pushvalue(L, 4); /* user data */ lua_pushinteger(L, columns); /* total number of rows in result */ /* column values */ lua_pushvalue(L, 6); - for (n = 0; n < columns;) { + for (n = 0; n < columns;) + { lua_pushstring(L, data[n++]); lua_rawseti(L, -2, n); } /* columns names */ lua_pushvalue(L, 5); - if (lua_isnil(L, -1)) { + if (lua_isnil(L, -1)) + { lua_pop(L, 1); lua_createtable(L, columns, 0); lua_pushvalue(L, -1); lua_replace(L, 5); - for (n = 0; n < columns;) { + for (n = 0; n < columns;) + { lua_pushstring(L, names[n++]); lua_rawseti(L, -2, n); } } /* call lua function */ - if (!lua_pcall(L, 4, 1, 0)) { + if (!lua_pcall(L, 4, 1, 0)) + { #if LUA_VERSION_NUM > 502 if (lua_isinteger(L, -1)) result = lua_tointeger(L, -1); else #endif - if (lua_isnumber(L, -1)) + if (lua_isnumber(L, -1)) result = static_cast(lua_tonumber(L, -1)); } @@ -1793,12 +1914,14 @@ static int db_exec_callback(void* user, int columns, char **data, char **names) return result; } -static int db_exec(lua_State *L) { - const sdb *db = lsqlite_checkdb(L, 1); - const char *sql = luaL_checkstring(L, 2); +static int db_exec(lua_State* L) +{ + const sdb* db = lsqlite_checkdb(L, 1); + const char* sql = luaL_checkstring(L, 2); int result; - if (!lua_isnoneornil(L, 3)) { + if (!lua_isnoneornil(L, 3)) + { /* stack: ** 3: callback function ** 4: userdata @@ -1806,13 +1929,14 @@ static int db_exec(lua_State *L) { ** 6: reusable column values */ luaL_checktype(L, 3, LUA_TFUNCTION); - lua_settop(L, 4); /* 'trap' userdata - nil extra parameters */ - lua_pushnil(L); /* column names not known at this point */ - lua_newtable(L); /* column values table */ + lua_settop(L, 4); /* 'trap' userdata - nil extra parameters */ + lua_pushnil(L); /* column names not known at this point */ + lua_newtable(L); /* column values table */ result = sqlite3_exec(db->db, sql, db_exec_callback, L, nullptr); } - else { + else + { /* no callbacks */ result = sqlite3_exec(db->db, sql, nullptr, nullptr, nullptr); } @@ -1825,16 +1949,18 @@ static int db_exec(lua_State *L) { ** Params: db, sql ** returns: code, compiled length or error message */ -static int db_prepare(lua_State *L) { - sdb *db = lsqlite_checkdb(L, 1); - const char *sql = luaL_checkstring(L, 2); +static int db_prepare(lua_State* L) +{ + sdb* db = lsqlite_checkdb(L, 1); + const char* sql = luaL_checkstring(L, 2); const int sql_len = static_cast(lua_strlen(L, 2)); - const char *sqltail; - sdb_vm *svm; - lua_settop(L,2); /* db,sql is on top of stack for call to newvm */ + const char* sqltail; + sdb_vm* svm; + lua_settop(L, 2); /* db,sql is on top of stack for call to newvm */ svm = newvm(L, db); - if (sqlite3_prepare_v2(db->db, sql, sql_len, &svm->vm, &sqltail) != SQLITE_OK) { + if (sqlite3_prepare_v2(db->db, sql, sql_len, &svm->vm, &sqltail) != SQLITE_OK) + { lua_pushnil(L); lua_pushinteger(L, sqlite3_errcode(db->db)); if (cleanupvm(L, svm) == 1) @@ -1847,10 +1973,11 @@ static int db_prepare(lua_State *L) { return 2; } -static int db_do_next_row(lua_State *L, int packed) { +static int db_do_next_row(lua_State* L, int packed) +{ int result; - sdb_vm *svm = lsqlite_checkvm(L, 1); - sqlite3_stmt *vm; + sdb_vm* svm = lsqlite_checkvm(L, 1); + sqlite3_stmt* vm; int columns; int i; @@ -1859,18 +1986,24 @@ static int db_do_next_row(lua_State *L, int packed) { svm->has_values = result == SQLITE_ROW ? 1 : 0; svm->columns = columns = sqlite3_data_count(vm); - if (result == SQLITE_ROW) { - if (packed) { - if (packed == 1) { + if (result == SQLITE_ROW) + { + if (packed) + { + if (packed == 1) + { lua_createtable(L, columns, 0); - for (i = 0; i < columns;) { + for (i = 0; i < columns;) + { vm_push_column(L, vm, i); lua_rawseti(L, -2, ++i); } } - else { + else + { lua_createtable(L, 0, columns); - for (i = 0; i < columns; ++i) { + for (i = 0; i < columns; ++i) + { lua_pushstring(L, sqlite3_column_name(vm, i)); vm_push_column(L, vm, i); lua_rawset(L, -3); @@ -1885,65 +2018,77 @@ static int db_do_next_row(lua_State *L, int packed) { return svm->columns; } - if (svm->temp) { + if (svm->temp) + { /* finalize and check for errors */ result = sqlite3_finalize(vm); svm->vm = nullptr; cleanupvm(L, svm); } - else if (result == SQLITE_DONE) { + else if (result == SQLITE_DONE) + { result = sqlite3_reset(vm); } - if (result != SQLITE_OK) { + if (result != SQLITE_OK) + { lua_pushstring(L, sqlite3_errmsg(svm->db->db)); lua_error(L); } return 0; } -static int db_next_row(lua_State *L) { +static int db_next_row(lua_State* L) +{ return db_do_next_row(L, 0); } -static int db_next_packed_row(lua_State *L) { +static int db_next_packed_row(lua_State* L) +{ return db_do_next_row(L, 1); } -static int db_next_named_row(lua_State *L) { +static int db_next_named_row(lua_State* L) +{ return db_do_next_row(L, 2); } -static int dbvm_do_rows(lua_State *L, int(*f)(lua_State *)) { +static int dbvm_do_rows(lua_State* L, int (*f)(lua_State*)) +{ /* sdb_vm *svm = */ lsqlite_checkvm(L, 1); - lua_pushvalue(L,1); + lua_pushvalue(L, 1); lua_pushcfunction(L, f); lua_insert(L, -2); return 2; } -static int dbvm_rows(lua_State *L) { +static int dbvm_rows(lua_State* L) +{ return dbvm_do_rows(L, db_next_packed_row); } -static int dbvm_nrows(lua_State *L) { +static int dbvm_nrows(lua_State* L) +{ return dbvm_do_rows(L, db_next_named_row); } -static int dbvm_urows(lua_State *L) { +static int dbvm_urows(lua_State* L) +{ return dbvm_do_rows(L, db_next_row); } -static int db_do_rows(lua_State *L, int(*f)(lua_State *)) { - sdb *db = lsqlite_checkdb(L, 1); - const char *sql = luaL_checkstring(L, 2); - sdb_vm *svm; - lua_settop(L,2); /* db,sql is on top of stack for call to newvm */ +static int db_do_rows(lua_State* L, int (*f)(lua_State*)) +{ + sdb* db = lsqlite_checkdb(L, 1); + const char* sql = luaL_checkstring(L, 2); + sdb_vm* svm; + lua_settop(L, 2); /* db,sql is on top of stack for call to newvm */ svm = newvm(L, db); svm->temp = 1; - if (sqlite3_prepare_v2(db->db, sql, -1, &svm->vm, nullptr) != SQLITE_OK) { + if (sqlite3_prepare_v2(db->db, sql, -1, &svm->vm, nullptr) != SQLITE_OK) + { lua_pushstring(L, sqlite3_errmsg(svm->db->db)); if (cleanupvm(L, svm) == 1) lua_pop(L, 1); /* this should not happen since sqlite3_prepare_v2 will not set ->vm on error */ @@ -1955,22 +2100,26 @@ static int db_do_rows(lua_State *L, int(*f)(lua_State *)) { return 2; } -static int db_rows(lua_State *L) { +static int db_rows(lua_State* L) +{ return db_do_rows(L, db_next_packed_row); } -static int db_nrows(lua_State *L) { +static int db_nrows(lua_State* L) +{ return db_do_rows(L, db_next_named_row); } /* unpacked version of db:rows */ -static int db_urows(lua_State *L) { +static int db_urows(lua_State* L) +{ return db_do_rows(L, db_next_row); } -static int db_tostring(lua_State *L) { +static int db_tostring(lua_State* L) +{ char buff[32]; - const sdb *db = lsqlite_getdb(L, 1); + const sdb* db = lsqlite_getdb(L, 1); if (db->db == nullptr) strcpy(buff, "closed"); else @@ -1979,14 +2128,16 @@ static int db_tostring(lua_State *L) { return 1; } -static int db_close(lua_State *L) { - sdb *db = lsqlite_checkdb(L, 1); +static int db_close(lua_State* L) +{ + sdb* db = lsqlite_checkdb(L, 1); lua_pushinteger(L, cleanupdb(L, db)); return 1; } -static int db_close_vm(lua_State *L) { - sdb *db = lsqlite_checkdb(L, 1); +static int db_close_vm(lua_State* L) +{ + sdb* db = lsqlite_checkdb(L, 1); /* cleanup temporary only tables? */ const int temp = lua_toboolean(L, 2); @@ -1996,8 +2147,9 @@ static int db_close_vm(lua_State *L) { /* close all used handles */ lua_pushnil(L); - while (lua_next(L, -2)) { - auto *svm = static_cast(lua_touserdata(L, -2)); /* key: vm; val: sql text */ + while (lua_next(L, -2)) + { + auto* svm = static_cast(lua_touserdata(L, -2)); /* key: vm; val: sql text */ if ((!temp || svm->temp) && svm->vm) { @@ -2016,15 +2168,17 @@ When using lsqlite3 in a multithreaded environment, each thread has a separate L environment, but full userdata structures can't be passed from one thread to another. This is possible with lightuserdata, however. See: lsqlite_open_ptr(). */ -static int db_get_ptr(lua_State *L) { - const sdb *db = lsqlite_checkdb(L, 1); +static int db_get_ptr(lua_State* L) +{ + const sdb* db = lsqlite_checkdb(L, 1); lua_pushlightuserdata(L, db->db); return 1; } -static int db_gc(lua_State *L) { - sdb *db = lsqlite_getdb(L, 1); - if (db->db != nullptr) /* ignore closed databases */ +static int db_gc(lua_State* L) +{ + sdb* db = lsqlite_getdb(L, 1); + if (db->db != nullptr) /* ignore closed databases */ cleanupdb(L, db); return 0; } @@ -2035,30 +2189,37 @@ static int db_gc(lua_State *L) { ** ======================================================= */ -static int lsqlite_version(lua_State *L) { +static int lsqlite_version(lua_State* L) +{ lua_pushstring(L, sqlite3_libversion()); return 1; } -static int lsqlite_complete(lua_State *L) { - const char *sql = luaL_checkstring(L, 1); +static int lsqlite_complete(lua_State* L) +{ + const char* sql = luaL_checkstring(L, 1); lua_pushboolean(L, sqlite3_complete(sql)); return 1; } #ifndef _WIN32 -static int lsqlite_temp_directory(lua_State *L) { - const char *oldtemp = sqlite3_temp_directory; +static int lsqlite_temp_directory(lua_State* L) +{ + const char* oldtemp = sqlite3_temp_directory; - if (!lua_isnone(L, 1)) { - const char *temp = luaL_optstring(L, 1, NULL); - if (sqlite3_temp_directory) { + if (!lua_isnone(L, 1)) + { + const char* temp = luaL_optstring(L, 1, NULL); + if (sqlite3_temp_directory) + { sqlite3_free((char*)sqlite3_temp_directory); } - if (temp) { + if (temp) + { sqlite3_temp_directory = sqlite3_mprintf("%s", temp); } - else { + else + { sqlite3_temp_directory = NULL; } } @@ -2067,18 +2228,20 @@ static int lsqlite_temp_directory(lua_State *L) { } #endif -static int lsqlite_do_open(lua_State *L, const char *filename, int flags) { - sdb *db = newdb(L); /* create and leave in stack */ +static int lsqlite_do_open(lua_State* L, const char* filename, int flags) +{ + sdb* db = newdb(L); /* create and leave in stack */ - if (SQLITE3_OPEN(filename, &db->db, flags) == SQLITE_OK) { + if (SQLITE3_OPEN(filename, &db->db, flags) == SQLITE_OK) + { /* database handle already in the stack - return it */ return 1; } /* failed to open database */ - lua_pushnil(L); /* push nil */ + lua_pushnil(L); /* push nil */ lua_pushinteger(L, sqlite3_errcode(db->db)); - lua_pushstring(L, sqlite3_errmsg(db->db)); /* push error message */ + lua_pushstring(L, sqlite3_errmsg(db->db)); /* push error message */ /* clean things up */ cleanupdb(L, db); @@ -2087,13 +2250,15 @@ static int lsqlite_do_open(lua_State *L, const char *filename, int flags) { return 3; } -static int lsqlite_open(lua_State *L) { - const char *filename = luaL_checkstring(L, 1); +static int lsqlite_open(lua_State* L) +{ + const char* filename = luaL_checkstring(L, 1); const int flags = static_cast(luaL_optinteger(L, 2, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)); return lsqlite_do_open(L, filename, flags); } -static int lsqlite_open_memory(lua_State *L) { +static int lsqlite_open_memory(lua_State* L) +{ return lsqlite_do_open(L, ":memory:", SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE); } @@ -2102,13 +2267,14 @@ When using lsqlite3 in a multithreaded environment, each thread has a separate L environment, but full userdata structures can't be passed from one thread to another. This is possible with lightuserdata, however. See: db_get_ptr(). */ -static int lsqlite_open_ptr(lua_State *L) { - sqlite3 *db_ptr; - sdb *db; +static int lsqlite_open_ptr(lua_State* L) +{ + sqlite3* db_ptr; + sdb* db; int rc; luaL_checktype(L, 1, LUA_TLIGHTUSERDATA); - db_ptr = static_cast (lua_touserdata(L, 1)); + db_ptr = static_cast(lua_touserdata(L, 1)); /* This is the only API function that runs sqlite3SafetyCheck regardless of * SQLITE_ENABLE_API_ARMOR and does almost nothing (without an SQL * statement) */ @@ -2121,7 +2287,8 @@ static int lsqlite_open_ptr(lua_State *L) { return 1; } -static int lsqlite_newindex(lua_State *L) { +static int lsqlite_newindex(lua_State* L) +{ lua_pushliteral(L, "attempt to change readonly table"); lua_error(L); return 0; @@ -2133,8 +2300,9 @@ static int lsqlite_newindex(lua_State *L) { #endif /* Version number of this library -*/ -static int lsqlite_lversion(lua_State *L) { + */ +static int lsqlite_lversion(lua_State* L) +{ lua_pushstring(L, LSQLITE_VERSION); return 1; } @@ -2145,226 +2313,179 @@ static int lsqlite_lversion(lua_State *L) { ** ======================================================= */ -#define SC(s) { #s, SQLITE_ ## s }, -#define LSC(s) { #s, LSQLITE_ ## s }, +#define SC(s) {#s, SQLITE_##s}, +#define LSC(s) {#s, LSQLITE_##s}, -static const struct { +static const struct +{ const char* name; int value; } sqlite_constants[] = { /* error codes */ - SC(OK) SC(ERROR) SC(INTERNAL) SC(PERM) - SC(ABORT) SC(BUSY) SC(LOCKED) SC(NOMEM) - SC(READONLY) SC(INTERRUPT) SC(IOERR) SC(CORRUPT) - SC(NOTFOUND) SC(FULL) SC(CANTOPEN) SC(PROTOCOL) - SC(EMPTY) SC(SCHEMA) SC(TOOBIG) SC(CONSTRAINT) - SC(MISMATCH) SC(MISUSE) SC(NOLFS) - SC(FORMAT) SC(NOTADB) + SC(OK) SC(ERROR) SC(INTERNAL) SC(PERM) SC(ABORT) SC(BUSY) SC(LOCKED) SC(NOMEM) SC(READONLY) SC(INTERRUPT) SC(IOERR) SC(CORRUPT) SC(NOTFOUND) SC(FULL) SC(CANTOPEN) SC(PROTOCOL) + SC(EMPTY) SC(SCHEMA) SC(TOOBIG) SC(CONSTRAINT) SC(MISMATCH) SC(MISUSE) SC(NOLFS) SC(FORMAT) SC(NOTADB) /* sqlite_step specific return values */ - SC(RANGE) SC(ROW) SC(DONE) + SC(RANGE) SC(ROW) SC(DONE) /* column types */ - SC(INTEGER) SC(FLOAT) SC(TEXT) SC(BLOB) - SC(NULL) + SC(INTEGER) SC(FLOAT) SC(TEXT) SC(BLOB) SC(NULL) /* Authorizer Action Codes */ - SC(CREATE_INDEX ) - SC(CREATE_TABLE ) - SC(CREATE_TEMP_INDEX ) - SC(CREATE_TEMP_TABLE ) - SC(CREATE_TEMP_TRIGGER) - SC(CREATE_TEMP_VIEW ) - SC(CREATE_TRIGGER ) - SC(CREATE_VIEW ) - SC(DELETE ) - SC(DROP_INDEX ) - SC(DROP_TABLE ) - SC(DROP_TEMP_INDEX ) - SC(DROP_TEMP_TABLE ) - SC(DROP_TEMP_TRIGGER ) - SC(DROP_TEMP_VIEW ) - SC(DROP_TRIGGER ) - SC(DROP_VIEW ) - SC(INSERT ) - SC(PRAGMA ) - SC(READ ) - SC(SELECT ) - SC(TRANSACTION ) - SC(UPDATE ) - SC(ATTACH ) - SC(DETACH ) - SC(ALTER_TABLE ) - SC(REINDEX ) - SC(ANALYZE ) - SC(CREATE_VTABLE ) - SC(DROP_VTABLE ) - SC(FUNCTION ) - SC(SAVEPOINT ) + SC(CREATE_INDEX) SC(CREATE_TABLE) SC(CREATE_TEMP_INDEX) SC(CREATE_TEMP_TABLE) SC(CREATE_TEMP_TRIGGER) SC(CREATE_TEMP_VIEW) SC(CREATE_TRIGGER) SC(CREATE_VIEW) SC(DELETE) + SC(DROP_INDEX) SC(DROP_TABLE) SC(DROP_TEMP_INDEX) SC(DROP_TEMP_TABLE) SC(DROP_TEMP_TRIGGER) SC(DROP_TEMP_VIEW) SC(DROP_TRIGGER) SC(DROP_VIEW) SC(INSERT) SC(PRAGMA) SC(READ) + SC(SELECT) SC(TRANSACTION) SC(UPDATE) SC(ATTACH) SC(DETACH) SC(ALTER_TABLE) SC(REINDEX) SC(ANALYZE) SC(CREATE_VTABLE) SC(DROP_VTABLE) SC(FUNCTION) SC(SAVEPOINT) /* file open flags */ - SC(OPEN_READONLY) - SC(OPEN_READWRITE) - SC(OPEN_CREATE) - SC(OPEN_URI) - SC(OPEN_MEMORY) - SC(OPEN_NOMUTEX) - SC(OPEN_FULLMUTEX) - SC(OPEN_SHAREDCACHE) - SC(OPEN_PRIVATECACHE) + SC(OPEN_READONLY) SC(OPEN_READWRITE) SC(OPEN_CREATE) SC(OPEN_URI) SC(OPEN_MEMORY) SC(OPEN_NOMUTEX) SC(OPEN_FULLMUTEX) SC(OPEN_SHAREDCACHE) SC(OPEN_PRIVATECACHE) /* terminator */ - {nullptr, 0 } -}; + {nullptr, 0}}; /* ======================================================= */ static constexpr luaL_Reg dblib[] = { - {"isopen", db_isopen }, - {"last_insert_rowid", db_last_insert_rowid }, - {"changes", db_changes }, - {"total_changes", db_total_changes }, - {"errcode", db_errcode }, - {"error_code", db_errcode }, - {"errmsg", db_errmsg }, - {"error_message", db_errmsg }, - {"interrupt", db_interrupt }, - {"db_filename", db_db_filename }, - - {"create_function", db_create_function }, - {"create_aggregate", db_create_aggregate }, - {"create_collation", db_create_collation }, - {"load_extension", db_load_extension }, - - {"trace", db_trace }, - {"progress_handler", db_progress_handler }, - {"busy_timeout", db_busy_timeout }, - {"busy_handler", db_busy_handler }, + {"isopen", db_isopen}, + {"last_insert_rowid", db_last_insert_rowid}, + {"changes", db_changes}, + {"total_changes", db_total_changes}, + {"errcode", db_errcode}, + {"error_code", db_errcode}, + {"errmsg", db_errmsg}, + {"error_message", db_errmsg}, + {"interrupt", db_interrupt}, + {"db_filename", db_db_filename}, + + {"create_function", db_create_function}, + {"create_aggregate", db_create_aggregate}, + {"create_collation", db_create_collation}, + {"load_extension", db_load_extension}, + + {"trace", db_trace}, + {"progress_handler", db_progress_handler}, + {"busy_timeout", db_busy_timeout}, + {"busy_handler", db_busy_handler}, #if !defined(LSQLITE_OMIT_UPDATE_HOOK) || !LSQLITE_OMIT_UPDATE_HOOK - {"update_hook", db_update_hook }, - {"commit_hook", db_commit_hook }, - {"rollback_hook", db_rollback_hook }, + {"update_hook", db_update_hook}, + {"commit_hook", db_commit_hook}, + {"rollback_hook", db_rollback_hook}, #endif - {"prepare", db_prepare }, - {"rows", db_rows }, - {"urows", db_urows }, - {"nrows", db_nrows }, + {"prepare", db_prepare}, + {"rows", db_rows}, + {"urows", db_urows}, + {"nrows", db_nrows}, - {"exec", db_exec }, - {"execute", db_exec }, - {"close", db_close }, - {"close_vm", db_close_vm }, - {"get_ptr", db_get_ptr }, + {"exec", db_exec}, + {"execute", db_exec}, + {"close", db_close}, + {"close_vm", db_close_vm}, + {"get_ptr", db_get_ptr}, - {"__tostring", db_tostring }, - {"__gc", db_gc }, + {"__tostring", db_tostring}, + {"__gc", db_gc}, - {nullptr, nullptr} -}; + {nullptr, nullptr}}; static constexpr luaL_Reg vmlib[] = { - {"isopen", dbvm_isopen }, + {"isopen", dbvm_isopen}, - {"step", dbvm_step }, - {"reset", dbvm_reset }, - {"finalize", dbvm_finalize }, + {"step", dbvm_step}, + {"reset", dbvm_reset}, + {"finalize", dbvm_finalize}, - {"columns", dbvm_columns }, + {"columns", dbvm_columns}, - {"bind", dbvm_bind }, - {"bind_values", dbvm_bind_values }, - {"bind_names", dbvm_bind_names }, - {"bind_blob", dbvm_bind_blob }, - {"bind_parameter_count",dbvm_bind_parameter_count}, + {"bind", dbvm_bind}, + {"bind_values", dbvm_bind_values}, + {"bind_names", dbvm_bind_names}, + {"bind_blob", dbvm_bind_blob}, + {"bind_parameter_count", dbvm_bind_parameter_count}, {"bind_parameter_name", dbvm_bind_parameter_name}, - {"get_value", dbvm_get_value }, - {"get_values", dbvm_get_values }, - {"get_name", dbvm_get_name }, - {"get_names", dbvm_get_names }, - {"get_type", dbvm_get_type }, - {"get_types", dbvm_get_types }, - {"get_uvalues", dbvm_get_uvalues }, - {"get_unames", dbvm_get_unames }, - {"get_utypes", dbvm_get_utypes }, + {"get_value", dbvm_get_value}, + {"get_values", dbvm_get_values}, + {"get_name", dbvm_get_name}, + {"get_names", dbvm_get_names}, + {"get_type", dbvm_get_type}, + {"get_types", dbvm_get_types}, + {"get_uvalues", dbvm_get_uvalues}, + {"get_unames", dbvm_get_unames}, + {"get_utypes", dbvm_get_utypes}, - {"get_named_values", dbvm_get_named_values }, - {"get_named_types", dbvm_get_named_types }, + {"get_named_values", dbvm_get_named_values}, + {"get_named_types", dbvm_get_named_types}, - {"rows", dbvm_rows }, - {"urows", dbvm_urows }, - {"nrows", dbvm_nrows }, + {"rows", dbvm_rows}, + {"urows", dbvm_urows}, + {"nrows", dbvm_nrows}, - {"last_insert_rowid", dbvm_last_insert_rowid }, + {"last_insert_rowid", dbvm_last_insert_rowid}, /* compatibility names (added by request) */ - {"idata", dbvm_get_values }, - {"inames", dbvm_get_names }, - {"itypes", dbvm_get_types }, - {"data", dbvm_get_named_values }, - {"type", dbvm_get_named_types }, + {"idata", dbvm_get_values}, + {"inames", dbvm_get_names}, + {"itypes", dbvm_get_types}, + {"data", dbvm_get_named_values}, + {"type", dbvm_get_named_types}, - {"__tostring", dbvm_tostring }, - {"__gc", dbvm_gc }, + {"__tostring", dbvm_tostring}, + {"__gc", dbvm_gc}, - {nullptr, nullptr} -}; + {nullptr, nullptr}}; static constexpr luaL_Reg ctxlib[] = { - {"user_data", lcontext_user_data }, - - {"get_aggregate_data", lcontext_get_aggregate_context }, - {"set_aggregate_data", lcontext_set_aggregate_context }, - {"aggregate_count", lcontext_aggregate_count }, - - {"result", lcontext_result }, - {"result_null", lcontext_result_null }, - {"result_number", lcontext_result_double }, - {"result_double", lcontext_result_double }, - {"result_int", lcontext_result_int }, - {"result_text", lcontext_result_text }, - {"result_blob", lcontext_result_blob }, - {"result_error", lcontext_result_error }, - - {"__tostring", lcontext_tostring }, - {nullptr, nullptr} -}; + {"user_data", lcontext_user_data}, + + {"get_aggregate_data", lcontext_get_aggregate_context}, + {"set_aggregate_data", lcontext_set_aggregate_context}, + {"aggregate_count", lcontext_aggregate_count}, + + {"result", lcontext_result}, + {"result_null", lcontext_result_null}, + {"result_number", lcontext_result_double}, + {"result_double", lcontext_result_double}, + {"result_int", lcontext_result_int}, + {"result_text", lcontext_result_text}, + {"result_blob", lcontext_result_blob}, + {"result_error", lcontext_result_error}, + + {"__tostring", lcontext_tostring}, + {nullptr, nullptr}}; static constexpr luaL_Reg dbbulib[] = { - {"step", dbbu_step }, - {"remaining", dbbu_remaining }, - {"pagecount", dbbu_pagecount }, - {"finish", dbbu_finish }, + {"step", dbbu_step}, + {"remaining", dbbu_remaining}, + {"pagecount", dbbu_pagecount}, + {"finish", dbbu_finish}, -// {"__tostring", dbbu_tostring }, - {"__gc", dbbu_gc }, - {nullptr, nullptr} -}; + // {"__tostring", dbbu_tostring }, + {"__gc", dbbu_gc}, + {nullptr, nullptr}}; static constexpr luaL_Reg sqlitelib[] = { - {"lversion", lsqlite_lversion }, - {"version", lsqlite_version }, - {"complete", lsqlite_complete }, + {"lversion", lsqlite_lversion}, + {"version", lsqlite_version}, + {"complete", lsqlite_complete}, #ifndef _WIN32 - {"temp_directory", lsqlite_temp_directory }, + {"temp_directory", lsqlite_temp_directory}, #endif - {"open", lsqlite_open }, - {"open_memory", lsqlite_open_memory }, - {"open_ptr", lsqlite_open_ptr }, + {"open", lsqlite_open}, + {"open_memory", lsqlite_open_memory}, + {"open_ptr", lsqlite_open_ptr}, - {"backup_init", lsqlite_backup_init }, + {"backup_init", lsqlite_backup_init}, - {"__newindex", lsqlite_newindex }, - {nullptr, nullptr} -}; + {"__newindex", lsqlite_newindex}, + {nullptr, nullptr}}; -static void create_meta(lua_State *L, const char *name, const luaL_Reg *lib) { +static void create_meta(lua_State* L, const char* name, const luaL_Reg* lib) +{ luaL_newmetatable(L, name); lua_pushstring(L, "__index"); - lua_pushvalue(L, -2); /* push metatable */ - lua_rawset(L, -3); /* metatable.__index = metatable */ + lua_pushvalue(L, -2); /* push metatable */ + lua_rawset(L, -3); /* metatable.__index = metatable */ /* register metatable functions */ luaL_openlib(L, nullptr, lib, 0); @@ -2373,7 +2494,8 @@ static void create_meta(lua_State *L, const char *name, const luaL_Reg *lib) { lua_pop(L, 1); } -LUALIB_API int luaopen_lsqlite3(lua_State *L) { +LUALIB_API int luaopen_lsqlite3(lua_State* L) +{ create_meta(L, sqlite_meta, dblib); create_meta(L, sqlite_vm_meta, vmlib); create_meta(L, sqlite_bu_meta, dbbulib); @@ -2388,7 +2510,8 @@ LUALIB_API int luaopen_lsqlite3(lua_State *L) { { int i = 0; /* add constants to global table */ - while (sqlite_constants[i].name) { + while (sqlite_constants[i].name) + { lua_pushstring(L, sqlite_constants[i].name); lua_pushinteger(L, sqlite_constants[i].value); lua_rawset(L, -3); diff --git a/src/overlay/Overlay.cpp b/src/overlay/Overlay.cpp index d05f6465..aa0ac2ea 100644 --- a/src/overlay/Overlay.cpp +++ b/src/overlay/Overlay.cpp @@ -238,7 +238,7 @@ BOOL Overlay::ClipToCenter(RED4ext::CGameEngine::UnkC0* apThis) return ClipCursor(&rect); } - if(apThis->isClipped) + if (apThis->isClipped) { apThis->isClipped = false; return ClipCursor(nullptr); @@ -271,7 +271,12 @@ Overlay::Overlay(VKBindings& aBindings, Options& aOptions, PersistentState& aPer { Hook(); - GameMainThread::Get().AddBaseInitializationTask([this]{ PostInitialize(); return true; }); + GameMainThread::Get().AddBaseInitializationTask( + [this] + { + PostInitialize(); + return true; + }); } Overlay::~Overlay() diff --git a/src/overlay/Overlay.h b/src/overlay/Overlay.h index 70ceff12..30ae8455 100644 --- a/src/overlay/Overlay.h +++ b/src/overlay/Overlay.h @@ -42,11 +42,11 @@ struct Overlay GameLog m_gameLog; ImGuiDebug m_imguiDebug; - TClipToCenter* m_realClipToCenter{ nullptr }; + TClipToCenter* m_realClipToCenter{nullptr}; - std::atomic_bool m_enabled{ false }; - std::atomic_bool m_toggled{ false }; - bool m_initialized{ false }; + std::atomic_bool m_enabled{false}; + std::atomic_bool m_toggled{false}; + bool m_initialized{false}; Options& m_options; PersistentState& m_persistentState; diff --git a/src/overlay/widgets/Bindings.cpp b/src/overlay/widgets/Bindings.cpp index af72b3fd..d6ba703a 100644 --- a/src/overlay/widgets/Bindings.cpp +++ b/src/overlay/widgets/Bindings.cpp @@ -7,13 +7,16 @@ namespace { - VKBind s_overlayToggleBind{ "overlay_key", "Overlay Key", "Use this hotkey to toggle overlay on and off.", [] { +VKBind s_overlayToggleBind{ + "overlay_key", "Overlay Key", "Use this hotkey to toggle overlay on and off.", + [] + { if (!CET::Get().GetBindings().IsRecordingBind()) CET::Get().GetOverlay().Toggle(); }}; - VKBindInfo s_overlayToggleBindInfo{s_overlayToggleBind, 0, 0, false}; - VKModBind s_overlayToggleModBind{"cet", s_overlayToggleBind.ID}; -} +VKBindInfo s_overlayToggleBindInfo{s_overlayToggleBind, 0, 0, false}; +VKModBind s_overlayToggleModBind{"cet", s_overlayToggleBind.ID}; +} // namespace bool VKBindInfo::operator==(const std::string& id) const { @@ -41,11 +44,7 @@ WidgetResult Bindings::OnEnable() WidgetResult Bindings::OnPopup() { const auto ret = UnsavedChangesPopup( - "Bindings", - m_openChangesModal, - m_madeChanges, - [this]{ Save(); }, - [this]{ ResetChanges(); }); + "Bindings", m_openChangesModal, m_madeChanges, [this] { Save(); }, [this] { ResetChanges(); }); m_madeChanges = ret == TChangedCBResult::CHANGED; m_popupResult = ret; @@ -170,9 +169,9 @@ bool Bindings::FirstTimeSetup() if (ImGui::BeginPopupModal("CET First Time Setup", nullptr, ImGuiWindowFlags_AlwaysAutoResize)) { - const auto shorterTextSz { ImGui::CalcTextSize("Combo can be composed from up to 4 keys.").x }; - const auto longerTextSz { ImGui::CalcTextSize("Please, bind some key combination for toggling overlay!").x }; - const auto diffTextSz { longerTextSz - shorterTextSz }; + const auto shorterTextSz{ImGui::CalcTextSize("Combo can be composed from up to 4 keys.").x}; + const auto longerTextSz{ImGui::CalcTextSize("Please, bind some key combination for toggling overlay!").x}; + const auto diffTextSz{longerTextSz - shorterTextSz}; ImGui::TextUnformatted("Please, bind some key combination for toggling overlay!"); ImGui::SetCursorPosX(diffTextSz / 2); @@ -282,7 +281,8 @@ void Bindings::UpdateAndDrawBinding(const VKModBind& acModBind, VKBindInfo& aVKB if (m_bindings.IsFirstKeyUsed(codeBind)) { // note - creating copy so we are not destroying reference to modBind when we unbind - const auto checkModBind = [this, &aVKBindInfo, codeBind](const VKModBind modBind) { + const auto checkModBind = [this, &aVKBindInfo, codeBind](const VKModBind modBind) + { const auto cetBind = modBind == s_overlayToggleModBind; if (!cetBind || aVKBindInfo.Bind.IsHotkey()) { @@ -332,7 +332,7 @@ void Bindings::UpdateAndDrawBinding(const VKModBind& acModBind, VKBindInfo& aVKB const bool unbindable = bound && acModBind != s_overlayToggleModBind; const bool modified = aVKBindInfo.CodeBind != aVKBindInfo.SavedCodeBind; - ImVec4 curTextColor { ImGui::GetStyleColorVec4(ImGuiCol_Text) }; + ImVec4 curTextColor{ImGui::GetStyleColorVec4(ImGuiCol_Text)}; if (!bound) curTextColor = ImVec4(1.0f, modified ? 0.5f : 0.0f, 0.0f, 1.0f); else if (modified) @@ -374,8 +374,8 @@ void Bindings::UpdateAndDrawBinding(const VKModBind& acModBind, VKBindInfo& aVKB const auto currentBindState = aVKBindInfo.IsBinding ? m_bindings.GetLastRecordingResult() : aVKBindInfo.CodeBind; ImGui::PushID(&aVKBindInfo.CodeBind); if (ImGui::Button( - aVKBindInfo.IsBinding && currentBindState == 0 ? "Binding..." : VKBindings::GetBindString(currentBindState).c_str(), - ImVec2(unbindable ? -(ImGui::GetFrameHeight() + ImGui::GetStyle().ItemSpacing.x) : -FLT_MIN, 0))) + aVKBindInfo.IsBinding && currentBindState == 0 ? "Binding..." : VKBindings::GetBindString(currentBindState).c_str(), + ImVec2(unbindable ? -(ImGui::GetFrameHeight() + ImGui::GetStyle().ItemSpacing.x) : -FLT_MIN, 0))) { if (!aVKBindInfo.IsBinding && !isRecording) { @@ -441,21 +441,24 @@ void Bindings::UpdateAndDrawModBindings(const std::string& acModName, TiltedPhoq // transform mod name to nicer format until modinfo is in std::string activeModName = acModName == s_overlayToggleModBind.ModName ? "Cyber Engine Tweaks" : acModName; bool capitalize = true; - std::ranges::transform(std::as_const(activeModName), activeModName.begin(), [&capitalize](char c) { - if (!std::isalnum(c)) + std::ranges::transform( + std::as_const(activeModName), activeModName.begin(), + [&capitalize](char c) { - capitalize = true; - return ' '; - } - if (capitalize) - { - capitalize = false; - return static_cast(std::toupper(c)); - } - return c; - }); + if (!std::isalnum(c)) + { + capitalize = true; + return ' '; + } + if (capitalize) + { + capitalize = false; + return static_cast(std::toupper(c)); + } + return c; + }); - auto headerOpen = aSimplified; + auto headerOpen = aSimplified; if (!headerOpen) headerOpen = ImGui::CollapsingHeader(activeModName.c_str(), ImGuiTreeNodeFlags_DefaultOpen); @@ -471,7 +474,8 @@ void Bindings::UpdateAndDrawModBindings(const std::string& acModName, TiltedPhoq ImGui::SetCursorPosX(ImGui::GetCursorPosX() + GetCenteredOffsetForText("Hotkeys")); ImGui::TextUnformatted("Hotkeys"); if (ImGui::IsItemHovered(ImGuiHoveredFlags_AllowWhenDisabled)) - ImGui::SetTooltip("Hotkeys react after assigned key combination has been pressed and subsequently released. You can bind up to 4 key combination to them."); + ImGui::SetTooltip("Hotkeys react after assigned key combination has been pressed and subsequently " + "released. You can bind up to 4 key combination to them."); ImGui::Separator(); } diff --git a/src/overlay/widgets/Bindings.h b/src/overlay/widgets/Bindings.h index 57f09dfc..752bbb7c 100644 --- a/src/overlay/widgets/Bindings.h +++ b/src/overlay/widgets/Bindings.h @@ -5,9 +5,9 @@ struct VKBindInfo { const VKBind& Bind; - uint64_t CodeBind{ 0 }; - uint64_t SavedCodeBind{ 0 }; - bool IsBinding{ false }; + uint64_t CodeBind{0}; + uint64_t SavedCodeBind{0}; + bool IsBinding{false}; bool operator==(const std::string& id) const; }; @@ -39,11 +39,11 @@ struct Bindings : Widget void UpdateAndDrawBinding(const VKModBind& acModBind, VKBindInfo& aVKBindInfo); void UpdateAndDrawModBindings(const std::string& acModName, TiltedPhoques::Vector& aVKBindInfos, size_t aHotkeyCount, bool aSimplified = false); - TiltedPhoques::Map, size_t>> m_vkBindInfos{ }; + TiltedPhoques::Map, size_t>> m_vkBindInfos{}; VKBindings& m_bindings; LuaVM& m_vm; - TChangedCBResult m_popupResult{ TChangedCBResult::APPLY }; - bool m_madeChanges{ false }; - bool m_openChangesModal{ true }; + TChangedCBResult m_popupResult{TChangedCBResult::APPLY}; + bool m_madeChanges{false}; + bool m_openChangesModal{true}; }; diff --git a/src/overlay/widgets/Console.h b/src/overlay/widgets/Console.h index caab5e08..36dbe77b 100644 --- a/src/overlay/widgets/Console.h +++ b/src/overlay/widgets/Console.h @@ -25,9 +25,9 @@ struct Console : Widget LogWindow m_logWindow; - size_t m_historyIndex{ 0 }; - bool m_newHistory{ true }; + size_t m_historyIndex{0}; + bool m_newHistory{true}; std::string m_command; - int m_commandLength{ 0 }; + int m_commandLength{0}; }; diff --git a/src/overlay/widgets/ImGuiDebug.cpp b/src/overlay/widgets/ImGuiDebug.cpp index 5e98154a..a1ad5652 100644 --- a/src/overlay/widgets/ImGuiDebug.cpp +++ b/src/overlay/widgets/ImGuiDebug.cpp @@ -9,7 +9,8 @@ ImGuiDebug::ImGuiDebug() void ImGuiDebug::OnUpdate() { - // create Metrics/Debugger window. display Dear ImGui internals: windows, draw commands, various internal state, etc. + // create Metrics/Debugger window. display Dear ImGui internals: windows, draw commands, various internal state, + // etc. ImGui::ShowMetricsWindow(); // create Debug Log window. display a simplified log of important dear imgui events. @@ -21,11 +22,12 @@ void ImGuiDebug::OnUpdate() // create About window. display Dear ImGui version, credits and build/system information. ImGui::ShowAboutWindow(); - // add style editor block (not a window). you can pass in a reference ImGuiStyle structure to compare to, revert to and save to (else it uses the default style) + // add style editor block (not a window). you can pass in a reference ImGuiStyle structure to compare to, revert to + // and save to (else it uses the default style) ImGui::Begin("Dear ImGui Style Editor"); ImGui::ShowStyleEditor(nullptr); ImGui::End(); // add basic help/info block (not a window): how to manipulate ImGui as a end-user (mouse/keyboard controls). - //ImGui::ShowUserGuide(); + // ImGui::ShowUserGuide(); } diff --git a/src/overlay/widgets/LogWindow.cpp b/src/overlay/widgets/LogWindow.cpp index 89c93ac6..08cc098f 100644 --- a/src/overlay/widgets/LogWindow.cpp +++ b/src/overlay/widgets/LogWindow.cpp @@ -7,7 +7,7 @@ LogWindow::LogWindow(const std::string& acpLoggerName) : m_loggerName(acpLoggerName) { - auto logSink = CreateCustomSinkMT([this](const std::string& msg){ Log(msg); }); + auto logSink = CreateCustomSinkMT([this](const std::string& msg) { Log(msg); }); logSink->set_pattern("%L;%v"); spdlog::get(m_loggerName)->sinks().emplace_back(std::move(logSink)); } @@ -19,7 +19,7 @@ void LogWindow::Draw(const ImVec2& size) if (ImGui::Button("Clear output", ImVec2(itemWidth, 0))) { m_normalizedWidth = -1.0f; - std::lock_guard _{ m_lock }; + std::lock_guard _{m_lock}; m_nextIndexToCheck = 0; m_lines.clear(); } @@ -31,7 +31,7 @@ void LogWindow::Draw(const ImVec2& size) const auto frameId = ImGui::GetID(("##" + m_loggerName).c_str()); if (ImGui::BeginChildFrame(frameId, size, ImGuiWindowFlags_HorizontalScrollbar)) { - std::lock_guard _{ m_lock }; + std::lock_guard _{m_lock}; if (!m_lines.empty() && (m_normalizedWidth < 0.0f || m_nextIndexToCheck < m_lines.size())) { @@ -54,31 +54,22 @@ void LogWindow::Draw(const ImVec2& size) switch (level) { - case spdlog::level::level_enum::trace: - ImGui::PushStyleColor(ImGuiCol_Text, ImVec4{0.0f, 0.0f, 1.0f, 1.0f}); - break; + case spdlog::level::level_enum::trace: ImGui::PushStyleColor(ImGuiCol_Text, ImVec4{0.0f, 0.0f, 1.0f, 1.0f}); break; - case spdlog::level::level_enum::debug: - ImGui::PushStyleColor(ImGuiCol_Text, ImVec4{0.0f, 1.0f, 0.0f, 1.0f}); - break; + case spdlog::level::level_enum::debug: ImGui::PushStyleColor(ImGuiCol_Text, ImVec4{0.0f, 1.0f, 0.0f, 1.0f}); break; - case spdlog::level::level_enum::warn: - ImGui::PushStyleColor(ImGuiCol_Text, ImVec4{1.0f, 1.0f, 0.0f, 1.0f}); - break; + case spdlog::level::level_enum::warn: ImGui::PushStyleColor(ImGuiCol_Text, ImVec4{1.0f, 1.0f, 0.0f, 1.0f}); break; case spdlog::level::level_enum::err: - case spdlog::level::level_enum::critical: - ImGui::PushStyleColor(ImGuiCol_Text, ImVec4{1.0f, 0.0f, 0.0f, 1.0f}); - break; + case spdlog::level::level_enum::critical: ImGui::PushStyleColor(ImGuiCol_Text, ImVec4{1.0f, 0.0f, 0.0f, 1.0f}); break; case spdlog::level::level_enum::info: - default: - ImGui::PushStyleColor(ImGuiCol_Text, ImGui::GetStyleColorVec4(ImGuiCol_Text)); + default: ImGui::PushStyleColor(ImGuiCol_Text, ImGui::GetStyleColorVec4(ImGuiCol_Text)); } - ImGui::PushStyleColor(ImGuiCol_FrameBg, ImVec4(0,0,0,0)); - ImGui::PushStyleColor(ImGuiCol_FrameBgHovered, ImVec4(0,0,0,0)); - ImGui::PushStyleColor(ImGuiCol_FrameBgActive, ImVec4(0,0,0,0)); + ImGui::PushStyleColor(ImGuiCol_FrameBg, ImVec4(0, 0, 0, 0)); + ImGui::PushStyleColor(ImGuiCol_FrameBgHovered, ImVec4(0, 0, 0, 0)); + ImGui::PushStyleColor(ImGuiCol_FrameBgActive, ImVec4(0, 0, 0, 0)); ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0)); ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0, 0)); @@ -113,7 +104,7 @@ void LogWindow::Log(const std::string& acpText) assert(acpText[1] == ';'); spdlog::level::level_enum level = spdlog::level::level_enum::off; - switch(acpText[0]) + switch (acpText[0]) { case 'T': // trace level = spdlog::level::level_enum::trace; @@ -155,15 +146,15 @@ void LogWindow::Log(const std::string& acpText) if (second == std::string_view::npos) { auto text = acpText.substr(first); - std::lock_guard _{ m_lock }; + std::lock_guard _{m_lock}; m_lines.emplace_back(level, std::move(text)); break; } if (first != second) { - auto text = acpText.substr(first, second-first); - std::lock_guard _{ m_lock }; + auto text = acpText.substr(first, second - first); + std::lock_guard _{m_lock}; m_lines.emplace_back(level, std::move(text)); } @@ -173,6 +164,6 @@ void LogWindow::Log(const std::string& acpText) ch = acpText[++first]; } - std::lock_guard _{ m_lock }; + std::lock_guard _{m_lock}; m_scroll = true; } diff --git a/src/overlay/widgets/LogWindow.h b/src/overlay/widgets/LogWindow.h index d9507a00..9c494e37 100644 --- a/src/overlay/widgets/LogWindow.h +++ b/src/overlay/widgets/LogWindow.h @@ -10,11 +10,11 @@ struct LogWindow void Log(const std::string& acpText); std::string m_loggerName; - float m_normalizedWidth{ -1.0f }; - bool m_shouldScroll{ true }; + float m_normalizedWidth{-1.0f}; + bool m_shouldScroll{true}; std::recursive_mutex m_lock; TiltedPhoques::Vector> m_lines; - size_t m_nextIndexToCheck{ 0 }; - bool m_scroll{ false }; + size_t m_nextIndexToCheck{0}; + bool m_scroll{false}; }; diff --git a/src/overlay/widgets/Settings.cpp b/src/overlay/widgets/Settings.cpp index 6f486c9e..3c469875 100644 --- a/src/overlay/widgets/Settings.cpp +++ b/src/overlay/widgets/Settings.cpp @@ -17,11 +17,7 @@ Settings::Settings(Options& aOptions, LuaVM& aVm) WidgetResult Settings::OnPopup() { const auto ret = UnsavedChangesPopup( - "Settings", - m_openChangesModal, - m_madeChanges, - [this]{ Save(); }, - [this]{ Load(); }); + "Settings", m_openChangesModal, m_madeChanges, [this] { Save(); }, [this] { Load(); }); m_madeChanges = ret == TChangedCBResult::CHANGED; m_popupResult = ret; @@ -62,16 +58,38 @@ void Settings::OnUpdate() if (ImGui::BeginTable("##SETTINGS_PATCHES", 2, ImGuiTableFlags_Sortable | ImGuiTableFlags_SizingStretchSame, ImVec2(-ImGui::GetStyle().IndentSpacing, 0))) { const auto& patchesSettings = m_options.Patches; - UpdateAndDrawSetting("AMD SMT Patch", "For AMD CPUs that did not get a performance boost after CDPR's patch (requires restart to take effect).", m_patches.AmdSmt, patchesSettings.AmdSmt); - UpdateAndDrawSetting("Remove Pedestrians", "Removes most of the pedestrians and traffic (requires restart to take effect).", m_patches.RemovePedestrians, patchesSettings.RemovePedestrians); - UpdateAndDrawSetting("Disable Async Compute", "Disables async compute, this can give a boost on older GPUs like Nvidia 10xx series for example (requires restart to take effect).", m_patches.AsyncCompute, patchesSettings.AsyncCompute); - UpdateAndDrawSetting("Disable Anti-aliasing", "Completely disables anti-aliasing (requires restart to take effect).", m_patches.Antialiasing, patchesSettings.Antialiasing); - UpdateAndDrawSetting("Skip Start Menu", "Skips the 'Breaching...' menu asking you to press space bar to continue (requires restart to take effect).", m_patches.SkipStartMenu, patchesSettings.SkipStartMenu); - UpdateAndDrawSetting("Suppress Intro Movies", "Disables logos played at the beginning (requires restart to take effect).", m_patches.DisableIntroMovies, patchesSettings.DisableIntroMovies); - UpdateAndDrawSetting("Disable Vignette", "Disables vignetting along screen borders (requires restart to take effect).", m_patches.DisableVignette, patchesSettings.DisableVignette); - UpdateAndDrawSetting("Disable Boundary Teleport", "Allows players to access out-of-bounds locations (requires restart to take effect).", m_patches.DisableBoundaryTeleport, patchesSettings.DisableBoundaryTeleport); + UpdateAndDrawSetting( + "AMD SMT Patch", + "For AMD CPUs that did not get a performance boost after CDPR's patch (requires restart to take " + "effect).", + m_patches.AmdSmt, patchesSettings.AmdSmt); + UpdateAndDrawSetting( + "Remove Pedestrians", "Removes most of the pedestrians and traffic (requires restart to take effect).", m_patches.RemovePedestrians, + patchesSettings.RemovePedestrians); + UpdateAndDrawSetting( + "Disable Async Compute", + "Disables async compute, this can give a boost on older GPUs like Nvidia 10xx series for example " + "(requires restart to take effect).", + m_patches.AsyncCompute, patchesSettings.AsyncCompute); + UpdateAndDrawSetting( + "Disable Anti-aliasing", "Completely disables anti-aliasing (requires restart to take effect).", m_patches.Antialiasing, patchesSettings.Antialiasing); + UpdateAndDrawSetting( + "Skip Start Menu", + "Skips the 'Breaching...' menu asking you to press space bar to continue (requires restart to take " + "effect).", + m_patches.SkipStartMenu, patchesSettings.SkipStartMenu); + UpdateAndDrawSetting( + "Suppress Intro Movies", "Disables logos played at the beginning (requires restart to take effect).", m_patches.DisableIntroMovies, + patchesSettings.DisableIntroMovies); + UpdateAndDrawSetting( + "Disable Vignette", "Disables vignetting along screen borders (requires restart to take effect).", m_patches.DisableVignette, patchesSettings.DisableVignette); + UpdateAndDrawSetting( + "Disable Boundary Teleport", "Allows players to access out-of-bounds locations (requires restart to take effect).", m_patches.DisableBoundaryTeleport, + patchesSettings.DisableBoundaryTeleport); UpdateAndDrawSetting("Disable V-Sync (Windows 7 only)", " (requires restart to take effect).", m_patches.DisableWin7Vsync, patchesSettings.DisableWin7Vsync); - UpdateAndDrawSetting("Fix Minimap Flicker", "Disables VSync on Windows 7 to bypass the 60 FPS limit (requires restart to take effect).", m_patches.MinimapFlicker, patchesSettings.MinimapFlicker); + UpdateAndDrawSetting( + "Fix Minimap Flicker", "Disables VSync on Windows 7 to bypass the 60 FPS limit (requires restart to take effect).", m_patches.MinimapFlicker, + patchesSettings.MinimapFlicker); ImGui::EndTable(); } @@ -83,10 +101,23 @@ void Settings::OnUpdate() if (ImGui::BeginTable("##SETTINGS_DEV", 2, ImGuiTableFlags_Sortable | ImGuiTableFlags_SizingStretchSame, ImVec2(-ImGui::GetStyle().IndentSpacing, 0))) { const auto& developerSettings = m_options.Developer; - UpdateAndDrawSetting("Remove Dead Bindings", "Removes all bindings which are no longer valid (disabling this could be useful when debugging mod issues).", m_developer.RemoveDeadBindings, developerSettings.RemoveDeadBindings); - UpdateAndDrawSetting("Enable ImGui Assertions", "Enables all ImGui assertions, assertions will get logged into log file of whoever triggered the assertion (useful when debugging ImGui issues, should also be used to check mods before shipping!).", m_developer.EnableImGuiAssertions, developerSettings.EnableImGuiAssertions); - UpdateAndDrawSetting("Enable Debug Build", "Sets internal flags to disguise as debug build (requires restart to take effect).", m_developer.EnableDebug, developerSettings.EnableDebug); - UpdateAndDrawSetting("Dump Game Options", "Dumps all game options into main log file (requires restart to take effect).", m_developer.DumpGameOptions, developerSettings.DumpGameOptions); + UpdateAndDrawSetting( + "Remove Dead Bindings", + "Removes all bindings which are no longer valid (disabling this could be useful when debugging mod " + "issues).", + m_developer.RemoveDeadBindings, developerSettings.RemoveDeadBindings); + UpdateAndDrawSetting( + "Enable ImGui Assertions", + "Enables all ImGui assertions, assertions will get logged into log file of whoever triggered the " + "assertion (useful when debugging ImGui issues, should also be used to check mods before " + "shipping!).", + m_developer.EnableImGuiAssertions, developerSettings.EnableImGuiAssertions); + UpdateAndDrawSetting( + "Enable Debug Build", "Sets internal flags to disguise as debug build (requires restart to take effect).", m_developer.EnableDebug, + developerSettings.EnableDebug); + UpdateAndDrawSetting( + "Dump Game Options", "Dumps all game options into main log file (requires restart to take effect).", m_developer.DumpGameOptions, + developerSettings.DumpGameOptions); ImGui::EndTable(); } diff --git a/src/overlay/widgets/Settings.h b/src/overlay/widgets/Settings.h index 355df2b1..0ef4c415 100644 --- a/src/overlay/widgets/Settings.h +++ b/src/overlay/widgets/Settings.h @@ -29,7 +29,7 @@ struct Settings : Widget Options& m_options; LuaVM& m_vm; - TChangedCBResult m_popupResult{ TChangedCBResult::APPLY }; - bool m_madeChanges{ false }; - bool m_openChangesModal{ true }; + TChangedCBResult m_popupResult{TChangedCBResult::APPLY}; + bool m_madeChanges{false}; + bool m_openChangesModal{true}; }; diff --git a/src/overlay/widgets/TweakDBEditor.cpp b/src/overlay/widgets/TweakDBEditor.cpp index 4eb3539f..68eda0bf 100644 --- a/src/overlay/widgets/TweakDBEditor.cpp +++ b/src/overlay/widgets/TweakDBEditor.cpp @@ -24,8 +24,7 @@ constexpr float c_searchDelay = 0.25f; namespace ImGui { -std::pair InputTextCStr(const char* acpLabel, const char* acpBuf, size_t aBufSize, - ImGuiInputTextFlags aFlags = 0) +std::pair InputTextCStr(const char* acpLabel, const char* acpBuf, size_t aBufSize, ImGuiInputTextFlags aFlags = 0) { if ((aFlags & ImGuiInputTextFlags_ReadOnly) == 0) { @@ -35,17 +34,18 @@ std::pair InputTextCStr(const char* acpLabel, const char* ac isModified = false; tempStr.clear(); aFlags |= ImGuiInputTextFlags_CallbackResize; - const bool ret = InputText(acpLabel, const_cast(acpBuf), aBufSize + 1, aFlags, - [](ImGuiInputTextCallbackData* apData) - { - if (apData->EventFlag == ImGuiInputTextFlags_CallbackResize) - { - tempStr.resize(apData->BufTextLen); - apData->Buf = tempStr.data(); - isModified = true; - } - return 0; - }); + const bool ret = InputText( + acpLabel, const_cast(acpBuf), aBufSize + 1, aFlags, + [](ImGuiInputTextCallbackData* apData) + { + if (apData->EventFlag == ImGuiInputTextFlags_CallbackResize) + { + tempStr.resize(apData->BufTextLen); + apData->Buf = tempStr.data(); + isModified = true; + } + return 0; + }); return {ret && isModified, &tempStr}; } @@ -71,7 +71,7 @@ bool NextItemVisible(const ImVec2& aSize = ImVec2(1, 1), bool aClaimSpaceIfInvis } return visible; } -} +} // namespace ImGui bool SortString(const std::string& acLeft, const std::string& acRight) { @@ -116,9 +116,7 @@ bool StringContains(const std::string_view& acString, const std::string_view& ac } } - - const auto it = std::ranges::search(acString, acSearch, - [](char a, char b) { return std::tolower(a) == std::tolower(b); }).begin(); + const auto it = std::ranges::search(acString, acSearch, [](char a, char b) { return std::tolower(a) == std::tolower(b); }).begin(); return it != acString.end(); } @@ -197,8 +195,7 @@ void TweakDBEditor::RefreshRecords() m_cachedRecords.reserve(pTDB->recordsByType.size); pTDB->recordsByType.for_each( - [this](const RED4ext::CBaseRTTIType* acpRTTIType, - const RED4ext::DynArray>& aRecords) + [this](const RED4ext::CBaseRTTIType* acpRTTIType, const RED4ext::DynArray>& aRecords) { const auto typeName = acpRTTIType->GetName(); auto& groupRecords = m_cachedRecords.emplace_back(typeName).m_records; @@ -216,12 +213,7 @@ void TweakDBEditor::RefreshRecords() } }); - std::ranges::sort( - m_cachedRecords, - [](const CachedRecordGroup& acLeft, const CachedRecordGroup& acRight) - { - return SortString(acLeft.m_name, acRight.m_name); - }); + std::ranges::sort(m_cachedRecords, [](const CachedRecordGroup& acLeft, const CachedRecordGroup& acRight) { return SortString(acLeft.m_name, acRight.m_name); }); } void TweakDBEditor::RefreshFlats() @@ -234,7 +226,8 @@ void TweakDBEditor::RefreshFlats() std::shared_lock _2(pTDB->mutex01); TiltedPhoques::Map cachedFlatGroupsMap; - auto cacheFlat = [&](uint64_t groupHash, const char* groupName, std::string&& name, RED4ext::TweakDBID dbid) { + auto cacheFlat = [&](uint64_t groupHash, const char* groupName, std::string&& name, RED4ext::TweakDBID dbid) + { size_t index = 0; if (const auto it = cachedFlatGroupsMap.find(groupHash); it != cachedFlatGroupsMap.cend()) @@ -252,41 +245,43 @@ void TweakDBEditor::RefreshFlats() m_cachedFlatGroups.clear(); - std::ranges::for_each(pTDB->flats, [&](RED4ext::TweakDBID dbid) - { - const uint64_t dbidBase = m_vm.GetTDBIDBase(dbid); - if (dbidBase != 0 && pTDB->recordsByID.Get(dbidBase) != nullptr) - return; // that's a record flat, ignoring that. - - std::string flatName; - const bool unknownFlatName = !GetTweakDBIDStringFlat(dbid, flatName); - if (unknownFlatName) - cacheFlat(unknownGroupHash, "!Unknown!", std::move(flatName), dbid); - else + std::ranges::for_each( + pTDB->flats, + [&](RED4ext::TweakDBID dbid) { - size_t idx = flatName.find('.'); - if (idx == std::string::npos) - cacheFlat(badGroupHash, "!BadName!", std::move(flatName), dbid); + const uint64_t dbidBase = m_vm.GetTDBIDBase(dbid); + if (dbidBase != 0 && pTDB->recordsByID.Get(dbidBase) != nullptr) + return; // that's a record flat, ignoring that. + + std::string flatName; + const bool unknownFlatName = !GetTweakDBIDStringFlat(dbid, flatName); + if (unknownFlatName) + cacheFlat(unknownGroupHash, "!Unknown!", std::move(flatName), dbid); else { - // < 1 || > size = group as much as possible - for (int32_t i = 1; i != m_flatGroupNameDepth; ++i) + size_t idx = flatName.find('.'); + if (idx == std::string::npos) + cacheFlat(badGroupHash, "!BadName!", std::move(flatName), dbid); + else { - if (idx + 1 == flatName.size()) - break; + // < 1 || > size = group as much as possible + for (int32_t i = 1; i != m_flatGroupNameDepth; ++i) + { + if (idx + 1 == flatName.size()) + break; - const size_t idx2 = flatName.find('.', idx + 1); - if (idx2 == std::string::npos) - break; + const size_t idx2 = flatName.find('.', idx + 1); + if (idx2 == std::string::npos) + break; - idx = idx2; - } + idx = idx2; + } - const auto cGroupName = flatName.substr(0, idx); - cacheFlat(RED4ext::FNV1a64(cGroupName.c_str()), cGroupName.c_str(), flatName.c_str(), dbid); + const auto cGroupName = flatName.substr(0, idx); + cacheFlat(RED4ext::FNV1a64(cGroupName.c_str()), cGroupName.c_str(), flatName.c_str(), dbid); + } } - } - }); + }); if (const auto it = cachedFlatGroupsMap.find(unknownGroupHash); it != cachedFlatGroupsMap.cend()) { @@ -300,12 +295,7 @@ void TweakDBEditor::RefreshFlats() group.m_name = fmt::format("{} - {} flats!", group.m_name, group.m_flats.size()); } - std::ranges::sort( - m_cachedFlatGroups, - [](const CachedFlatGroup& acLeft, const CachedFlatGroup& acRight) - { - return SortString(acLeft.m_name, acRight.m_name); - }); + std::ranges::sort(m_cachedFlatGroups, [](const CachedFlatGroup& acLeft, const CachedFlatGroup& acRight) { return SortString(acLeft.m_name, acRight.m_name); }); } void TweakDBEditor::FilterAll() @@ -336,52 +326,50 @@ void TweakDBEditor::FilterRecords(bool aFilterTab, bool aFilterDropdown) for (auto& group : m_cachedRecords) { bool anyRecordsVisible = false; - std::for_each(std::execution::par_unseq, group.m_records.begin(), group.m_records.end(), - [&](CachedRecord& record) - { - if (aFilterTab) - { - bool isFiltered = false; - if (s_recordsFilterBuffer[0] != '\0' && record.m_dbid != dbid && - !StringContains(record.m_name, s_recordsFilterBuffer, s_recordsFilterIsRegex)) - { - isFiltered = true; - - for (CachedFlat& flat : record.m_flats) - { - if (flat.m_dbid == dbid || - StringContains(flat.m_name, s_recordsFilterBuffer, s_recordsFilterIsRegex)) - { - isFiltered = false; - break; - } - } - } - - if (isFiltered) - { - record.m_isFiltered = true; - } - else - { - record.m_isFiltered = false; - anyRecordsVisible = true; - } - } - - if (aFilterDropdown) - { - if (s_tweakdbidFilterBuffer[0] != '\0' && record.m_dbid != dbidDropdown && - !StringContains(record.m_name, s_tweakdbidFilterBuffer)) - { - record.m_isDropdownFiltered = true; - } - else - { - record.m_isDropdownFiltered = false; - } - } - }); + std::for_each( + std::execution::par_unseq, group.m_records.begin(), group.m_records.end(), + [&](CachedRecord& record) + { + if (aFilterTab) + { + bool isFiltered = false; + if (s_recordsFilterBuffer[0] != '\0' && record.m_dbid != dbid && !StringContains(record.m_name, s_recordsFilterBuffer, s_recordsFilterIsRegex)) + { + isFiltered = true; + + for (CachedFlat& flat : record.m_flats) + { + if (flat.m_dbid == dbid || StringContains(flat.m_name, s_recordsFilterBuffer, s_recordsFilterIsRegex)) + { + isFiltered = false; + break; + } + } + } + + if (isFiltered) + { + record.m_isFiltered = true; + } + else + { + record.m_isFiltered = false; + anyRecordsVisible = true; + } + } + + if (aFilterDropdown) + { + if (s_tweakdbidFilterBuffer[0] != '\0' && record.m_dbid != dbidDropdown && !StringContains(record.m_name, s_tweakdbidFilterBuffer)) + { + record.m_isDropdownFiltered = true; + } + else + { + record.m_isDropdownFiltered = false; + } + } + }); if (aFilterTab) { @@ -411,8 +399,7 @@ void TweakDBEditor::FilterFlats() bool anyFlatsVisible = false; for (auto& flat : group.m_flats) { - if (flat.m_dbid != dbid && - !StringContains(flat.m_name, s_flatsFilterBuffer, s_flatsFilterIsRegex)) + if (flat.m_dbid != dbid && !StringContains(flat.m_name, s_flatsFilterBuffer, s_flatsFilterIsRegex)) { flat.m_isFiltered = true; } @@ -452,8 +439,7 @@ bool TweakDBEditor::DrawRecordDropdown(const char* acpLabel, RED4ext::TweakDBID& { static float searchTimer = 0.0f; ImGui::SetNextItemWidth(-FLT_MIN); - if (ImGui::InputTextWithHint("##dropdownSearch", "Search", s_tweakdbidFilterBuffer, - sizeof(s_tweakdbidFilterBuffer))) + if (ImGui::InputTextWithHint("##dropdownSearch", "Search", s_tweakdbidFilterBuffer, sizeof(s_tweakdbidFilterBuffer))) { searchTimer = c_searchDelay; } @@ -478,8 +464,7 @@ bool TweakDBEditor::DrawRecordDropdown(const char* acpLabel, RED4ext::TweakDBID& continue; const bool isSelected = record.m_dbid == aDBID; - if (ImGui::NextItemVisible(ImVec2(1.0f, ImGui::GetTextLineHeight())) && - ImGui::Selectable(record.m_name.c_str(), isSelected)) + if (ImGui::NextItemVisible(ImVec2(1.0f, ImGui::GetTextLineHeight())) && ImGui::Selectable(record.m_name.c_str(), isSelected)) { aDBID = record.m_dbid; valueChanged = true; @@ -621,8 +606,7 @@ bool TweakDBEditor::DrawFlat(RED4ext::TweakDBID aDBID, RED4ext::CStackType& aSta } // Needs a refactor -bool TweakDBEditor::DrawFlatArray(RED4ext::TweakDBID aDBID, RED4ext::CStackType& aStackType, bool aReadOnly, - bool aCollapsable) +bool TweakDBEditor::DrawFlatArray(RED4ext::TweakDBID aDBID, RED4ext::CStackType& aStackType, bool aReadOnly, bool aCollapsable) { static TiltedPhoques::Map editedArrays; @@ -706,8 +690,7 @@ bool TweakDBEditor::DrawFlatArray(RED4ext::TweakDBID aDBID, RED4ext::CStackType& } } - static constexpr ImGuiTableFlags tableFlags = ImGuiTableFlags_NoSavedSettings | ImGuiTableFlags_Borders | - ImGuiTableFlags_SizingStretchProp | ImGuiTableFlags_RowBg; + static constexpr ImGuiTableFlags tableFlags = ImGuiTableFlags_NoSavedSettings | ImGuiTableFlags_Borders | ImGuiTableFlags_SizingStretchProp | ImGuiTableFlags_RowBg; if (isCached) { @@ -804,8 +787,7 @@ bool TweakDBEditor::DrawFlatTweakDBID(RED4ext::TweakDBID aDBID, RED4ext::CStackT } ImGui::SetNextItemWidth(-FLT_MIN); - ImGui::InputScalar("##raw", ImGuiDataType_U64, aStackType.value, nullptr, nullptr, "%016llX", - ImGuiInputTextFlags_ReadOnly); + ImGui::InputScalar("##raw", ImGuiDataType_U64, aStackType.value, nullptr, nullptr, "%016llX", ImGuiInputTextFlags_ReadOnly); } else { @@ -1125,21 +1107,21 @@ bool TweakDBEditor::DrawFlatResourceAsyncRef(RED4ext::TweakDBID aDBID, RED4ext:: if (searchTimer <= 0.0f) { auto& resources = ResourcesList::Get()->GetResources(); - resourcesCount = static_cast(std::count_if(std::execution::par_unseq, resources.begin(), resources.end(), - [](ResourcesList::Resource& resource) - { - if (comboSearchStr[0] == '\0' || - StringContains(resource.m_name, comboSearchStr)) - { - resource.m_isFiltered = false; - } - else - { - resource.m_isFiltered = true; - } - - return !resource.m_isFiltered; - })); + resourcesCount = static_cast(std::count_if( + std::execution::par_unseq, resources.begin(), resources.end(), + [](ResourcesList::Resource& resource) + { + if (comboSearchStr[0] == '\0' || StringContains(resource.m_name, comboSearchStr)) + { + resource.m_isFiltered = false; + } + else + { + resource.m_isFiltered = true; + } + + return !resource.m_isFiltered; + })); searchTimer = 0.0f; } @@ -1246,8 +1228,7 @@ bool TweakDBEditor::DrawFlatCName(RED4ext::TweakDBID aDBID, RED4ext::CStackType& uint64_t hash = pCName->hash; ImGui::SetNextItemWidth(-FLT_MIN); - const bool rawChanged = ImGui::InputScalar("##raw", ImGuiDataType_U64, &hash, nullptr, nullptr, "%016llX", - flags | ImGuiInputTextFlags_CharsHexadecimal); + const bool rawChanged = ImGui::InputScalar("##raw", ImGuiDataType_U64, &hash, nullptr, nullptr, "%016llX", flags | ImGuiInputTextFlags_CharsHexadecimal); if (rawChanged) { newCName.hash = hash; @@ -1326,8 +1307,7 @@ bool TweakDBEditor::DrawFlatFloat(RED4ext::TweakDBID aDBID, RED4ext::CStackType& float val = *pFloat; ImGui::SetNextItemWidth(-FLT_MIN); - const bool valueChanged = ImGui::InputFloat( - "", &val, 0, 0, "%f", aReadOnly ? ImGuiInputTextFlags_ReadOnly : ImGuiInputTextFlags_EnterReturnsTrue); + const bool valueChanged = ImGui::InputFloat("", &val, 0, 0, "%f", aReadOnly ? ImGuiInputTextFlags_ReadOnly : ImGuiInputTextFlags_EnterReturnsTrue); if (valueChanged) { if (aDBID.IsValid()) @@ -1349,8 +1329,7 @@ bool TweakDBEditor::DrawFlatInt32(RED4ext::TweakDBID aDBID, RED4ext::CStackType& int32_t val = *pInt; ImGui::SetNextItemWidth(-FLT_MIN); - const bool valueChanged = ImGui::InputInt( - "", &val, 0, 0, aReadOnly ? ImGuiInputTextFlags_ReadOnly : ImGuiInputTextFlags_EnterReturnsTrue); + const bool valueChanged = ImGui::InputInt("", &val, 0, 0, aReadOnly ? ImGuiInputTextFlags_ReadOnly : ImGuiInputTextFlags_EnterReturnsTrue); if (valueChanged) { if (aDBID.IsValid()) @@ -1371,7 +1350,8 @@ bool TweakDBEditor::DrawFlatInt32(RED4ext::TweakDBID aDBID, RED4ext::CStackType& void TweakDBEditor::DrawRecordsTab() { static float searchTimer = 0.0f; - ImGui::SetNextItemWidth(-(ImGui::GetFrameHeight() + ImGui::CalcTextSize("Regex").x + ImGui::GetStyle().ItemSpacing.x + ImGui::GetStyle().ItemInnerSpacing.x + ImGui::GetStyle().FramePadding.x)); + ImGui::SetNextItemWidth( + -(ImGui::GetFrameHeight() + ImGui::CalcTextSize("Regex").x + ImGui::GetStyle().ItemSpacing.x + ImGui::GetStyle().ItemInnerSpacing.x + ImGui::GetStyle().FramePadding.x)); if (ImGui::InputTextWithHint("##search", "Search", s_recordsFilterBuffer, sizeof(s_recordsFilterBuffer))) { searchTimer = c_searchDelay; @@ -1415,9 +1395,7 @@ void TweakDBEditor::DrawRecordsTab() if (ImGui::TreeNode(record.m_name.c_str())) { - static constexpr ImGuiTableFlags tableFlags = ImGuiTableFlags_NoSavedSettings | - ImGuiTableFlags_Borders | ImGuiTableFlags_Resizable | - ImGuiTableFlags_RowBg; + static constexpr ImGuiTableFlags tableFlags = ImGuiTableFlags_NoSavedSettings | ImGuiTableFlags_Borders | ImGuiTableFlags_Resizable | ImGuiTableFlags_RowBg; record.Initialize(); @@ -1477,27 +1455,29 @@ void TweakDBEditor::DrawQueriesTab() auto* pTDB = RED4ext::TweakDB::Get(); std::shared_lock _(pTDB->mutex01); - pTDB->queries.ForEach([this](const RED4ext::TweakDBID& queryID, RED4ext::DynArray& recordIDs) - { - const auto queryName = GetTweakDBIDStringQuery(queryID.value); - - ImGui::PushID(queryID.name.hash); - ImGui::PushID(queryID.name.length); - if (ImGui::CollapsingHeader(queryName.c_str())) + pTDB->queries.ForEach( + [this](const RED4ext::TweakDBID& queryID, RED4ext::DynArray& recordIDs) { - static RED4ext::CStackType stackType(RED4ext::CRTTISystem::Get()->GetType("array:TweakDBID")); - stackType.value = &recordIDs; - DrawFlatArray({}, stackType, false, false); - } - ImGui::PopID(); - ImGui::PopID(); - }); + const auto queryName = GetTweakDBIDStringQuery(queryID.value); + + ImGui::PushID(queryID.name.hash); + ImGui::PushID(queryID.name.length); + if (ImGui::CollapsingHeader(queryName.c_str())) + { + static RED4ext::CStackType stackType(RED4ext::CRTTISystem::Get()->GetType("array:TweakDBID")); + stackType.value = &recordIDs; + DrawFlatArray({}, stackType, false, false); + } + ImGui::PopID(); + ImGui::PopID(); + }); } void TweakDBEditor::DrawFlatsTab() { static float searchTimer = 0.0f; - ImGui::SetNextItemWidth(-(ImGui::GetFrameHeight() + ImGui::CalcTextSize("Regex").x + ImGui::GetStyle().ItemSpacing.x + ImGui::GetStyle().ItemInnerSpacing.x + ImGui::GetStyle().FramePadding.x)); + ImGui::SetNextItemWidth( + -(ImGui::GetFrameHeight() + ImGui::CalcTextSize("Regex").x + ImGui::GetStyle().ItemSpacing.x + ImGui::GetStyle().ItemInnerSpacing.x + ImGui::GetStyle().FramePadding.x)); if (ImGui::InputTextWithHint("##search", "Search", s_flatsFilterBuffer, sizeof(s_flatsFilterBuffer))) { searchTimer = c_searchDelay; @@ -1530,8 +1510,7 @@ void TweakDBEditor::DrawFlatsTab() if (ImGui::CollapsingHeader(group.m_name.c_str())) { - static constexpr ImGuiTableFlags tableFlags = ImGuiTableFlags_NoSavedSettings | ImGuiTableFlags_Borders | - ImGuiTableFlags_Resizable | ImGuiTableFlags_RowBg; + static constexpr ImGuiTableFlags tableFlags = ImGuiTableFlags_NoSavedSettings | ImGuiTableFlags_Borders | ImGuiTableFlags_Resizable | ImGuiTableFlags_RowBg; group.Initialize(); @@ -1583,8 +1562,7 @@ void TweakDBEditor::DrawFlatsTab() void TweakDBEditor::DrawAdvancedTab() { - if (ImGui::InputScalar("'Flats' Grouping depth", ImGuiDataType_S8, &m_flatGroupNameDepth, nullptr, nullptr, nullptr, - ImGuiInputTextFlags_EnterReturnsTrue)) + if (ImGui::InputScalar("'Flats' Grouping depth", ImGuiDataType_S8, &m_flatGroupNameDepth, nullptr, nullptr, nullptr, ImGuiInputTextFlags_EnterReturnsTrue)) { RefreshFlats(); FilterFlats(); @@ -1607,7 +1585,8 @@ void TweakDBEditor::DrawAdvancedTab() static RED4ext::TweakDBID clonedRecordDBID; static RED4ext::CName recordTypeName; - constexpr auto SetStatus = [](const char* acpStatus) { + constexpr auto SetStatus = [](const char* acpStatus) + { status = acpStatus; statusTimer = 2.5f; }; @@ -1630,15 +1609,13 @@ void TweakDBEditor::DrawAdvancedTab() { for (const auto& recordGroup : m_cachedRecords) { - if (comboSearchBuffer[0] != '\0' && - !StringContains(recordGroup.m_name, comboSearchBuffer)) + if (comboSearchBuffer[0] != '\0' && !StringContains(recordGroup.m_name, comboSearchBuffer)) { continue; } const bool isSelected = recordTypeName == recordGroup.m_typeName; - if (ImGui::NextItemVisible(ImVec2(1.0f, ImGui::GetTextLineHeight())) && - ImGui::Selectable(recordGroup.m_name.c_str(), isSelected)) + if (ImGui::NextItemVisible(ImVec2(1.0f, ImGui::GetTextLineHeight())) && ImGui::Selectable(recordGroup.m_name.c_str(), isSelected)) { recordTypeName = recordGroup.m_typeName; ImGui::CloseCurrentPopup(); @@ -1727,10 +1704,7 @@ void TweakDBEditor::CachedFlatGroup::Initialize() return; // order flats inside group - std::ranges::sort(m_flats, [](const CachedFlat& aLeft, const CachedFlat& aRight) - { - return SortTweakDBIDString(aLeft.m_name, aRight.m_name); - }); + std::ranges::sort(m_flats, [](const CachedFlat& aLeft, const CachedFlat& aRight) { return SortTweakDBIDString(aLeft.m_name, aRight.m_name); }); m_isInitialized = true; } @@ -1748,10 +1722,7 @@ void TweakDBEditor::CachedRecord::Initialize() InitializeFlats(); - std::ranges::sort(m_flats, [](const CachedFlat& aLeft, const CachedFlat& aRight) - { - return SortTweakDBIDString(aLeft.m_name, aRight.m_name); - }); + std::ranges::sort(m_flats, [](const CachedFlat& aLeft, const CachedFlat& aRight) { return SortTweakDBIDString(aLeft.m_name, aRight.m_name); }); m_isInitialized = true; } @@ -1790,10 +1761,7 @@ void TweakDBEditor::CachedRecordGroup::Initialize() if (m_isInitialized) return; - std::ranges::sort(m_records, [](const CachedRecord& aLeft, const CachedRecord& aRight) - { - return SortTweakDBIDString(aLeft.m_name, aRight.m_name); - }); + std::ranges::sort(m_records, [](const CachedRecord& aLeft, const CachedRecord& aRight) { return SortTweakDBIDString(aLeft.m_name, aRight.m_name); }); m_isInitialized = true; } diff --git a/src/overlay/widgets/TweakDBEditor.h b/src/overlay/widgets/TweakDBEditor.h index 5cef7487..ac35df4d 100644 --- a/src/overlay/widgets/TweakDBEditor.h +++ b/src/overlay/widgets/TweakDBEditor.h @@ -28,16 +28,14 @@ struct TweakDBEditor : Widget bool DrawFlat(RED4ext::TweakDBID aDBID); bool DrawFlat(RED4ext::TweakDBID aDBID, RED4ext::CStackType& aStackType, bool aReadOnly = false); - bool DrawFlatArray(RED4ext::TweakDBID aDBID, RED4ext::CStackType& aStackType, bool aReadOnly = false, - bool aCollapsable = true); + bool DrawFlatArray(RED4ext::TweakDBID aDBID, RED4ext::CStackType& aStackType, bool aReadOnly = false, bool aCollapsable = true); bool DrawFlatTweakDBID(RED4ext::TweakDBID aDBID, RED4ext::CStackType& aStackType, bool aReadOnly = false); static bool DrawFlatQuaternion(RED4ext::TweakDBID aDBID, RED4ext::CStackType& aStackType, bool aReadOnly = false); static bool DrawFlatEulerAngles(RED4ext::TweakDBID aDBID, RED4ext::CStackType& aStackType, bool aReadOnly = false); static bool DrawFlatVector3(RED4ext::TweakDBID aDBID, RED4ext::CStackType& aStackType, bool aReadOnly = false); static bool DrawFlatVector2(RED4ext::TweakDBID aDBID, RED4ext::CStackType& aStackType, bool aReadOnly = false); static bool DrawFlatColor(RED4ext::TweakDBID aDBID, RED4ext::CStackType& aStackType, bool aReadOnly = false); - static bool DrawFlatLocKeyWrapper(RED4ext::TweakDBID aDBID, RED4ext::CStackType& aStackType, - bool aReadOnly = false); + static bool DrawFlatLocKeyWrapper(RED4ext::TweakDBID aDBID, RED4ext::CStackType& aStackType, bool aReadOnly = false); static bool DrawFlatResourceAsyncRef(RED4ext::TweakDBID aDBID, RED4ext::CStackType& aStackType, bool aReadOnly = false); static bool DrawFlatCName(RED4ext::TweakDBID aDBID, RED4ext::CStackType& aStackType, bool aReadOnly = false); static bool DrawFlatBool(RED4ext::TweakDBID aDBID, RED4ext::CStackType& aStackType, bool aReadOnly = false); @@ -59,8 +57,8 @@ struct TweakDBEditor : Widget void End(); private: - ImVec2 m_itemSize{ 0.0f, 0.0f }; - float m_beginCursorY{ 0.0f }; + ImVec2 m_itemSize{0.0f, 0.0f}; + float m_beginCursorY{0.0f}; }; struct CachedFlat diff --git a/src/overlay/widgets/Widget.cpp b/src/overlay/widgets/Widget.cpp index 513f1aca..a0cacbf1 100644 --- a/src/overlay/widgets/Widget.cpp +++ b/src/overlay/widgets/Widget.cpp @@ -84,7 +84,7 @@ void Widget::Draw() OnToggle(); if (!m_enabled) - return; + return; bool newEnabled = m_enabled; diff --git a/src/overlay/widgets/Widget.h b/src/overlay/widgets/Widget.h index 809d51b9..3f5d0e65 100644 --- a/src/overlay/widgets/Widget.h +++ b/src/overlay/widgets/Widget.h @@ -27,10 +27,10 @@ struct Widget virtual void OnToggle(); std::string m_name; - bool m_ownerDraw{ false }; - bool m_enabled{ false }; - bool m_toggle{ false }; - bool m_drawPopup{ false }; + bool m_ownerDraw{false}; + bool m_enabled{false}; + bool m_toggle{false}; + bool m_drawPopup{false}; }; using TWidgetCB = std::function; diff --git a/src/patches/DisableBoundaries.cpp b/src/patches/DisableBoundaries.cpp index 069ea6e2..3caeed03 100644 --- a/src/patches/DisableBoundaries.cpp +++ b/src/patches/DisableBoundaries.cpp @@ -3,7 +3,8 @@ void DisableBoundaryTeleportPatch() { // Disarm the WorldBoundarySystem/Tick function - // Going out of bounds will still play the glitchy-screen effect that normally happens when game teleports you, but the actual teleport won't happen + // Going out of bounds will still play the glitchy-screen effect that normally happens when game teleports you, but + // the actual teleport won't happen const RED4ext::RelocPtr func(CyberEngineTweaks::Addresses::CPatches_BoundaryTeleport); const auto pLocation = func.GetAddr(); diff --git a/src/patches/DisableIntroMovies.cpp b/src/patches/DisableIntroMovies.cpp index 92a8f559..2892bf42 100644 --- a/src/patches/DisableIntroMovies.cpp +++ b/src/patches/DisableIntroMovies.cpp @@ -7,18 +7,17 @@ void* HookInitScriptMemberVariable(void* a1, void* a2, uint64_t a3, uint64_t nam { // Break the nameHash of some SplashScreenLoadingScreenLogicController variables // Should prevent the intro screen scripts from finding the intro bink, which makes it show a loading screen instead - // (intro movie audio still plays though - this can be stopped by disabling more script vars, but unfortunately that'll also make it load infinitely) - // For me the loading screen takes almost as much time as the intro movie itself did, but the audio shows that a few seconds are saved with this, maybe faster machines can save even more time. - - // Ideally I think the real solution is to change GameFramework/InitialState INI variable from "Initialization" to "PreGameSession" or "MainMenu" instead - // Unfortunately that causes a black screen on launch though, likely only works properly on non-shipping builds - - if (nameHash == RED4ext::FNV1a64("logoTrainWBBink") || - nameHash == RED4ext::FNV1a64("logoTrainNamcoBink") || - nameHash == RED4ext::FNV1a64("logoTrainStadiaBink") || - nameHash == RED4ext::FNV1a64("logoTrainNoRTXBink") || - nameHash == RED4ext::FNV1a64("logoTrainRTXBink") || - nameHash == RED4ext::FNV1a64("introMessageBink")) + // (intro movie audio still plays though - this can be stopped by disabling more script vars, but unfortunately + // that'll also make it load infinitely) For me the loading screen takes almost as much time as the intro movie + // itself did, but the audio shows that a few seconds are saved with this, maybe faster machines can save even more + // time. + + // Ideally I think the real solution is to change GameFramework/InitialState INI variable from "Initialization" to + // "PreGameSession" or "MainMenu" instead Unfortunately that causes a black screen on launch though, likely only + // works properly on non-shipping builds + + if (nameHash == RED4ext::FNV1a64("logoTrainWBBink") || nameHash == RED4ext::FNV1a64("logoTrainNamcoBink") || nameHash == RED4ext::FNV1a64("logoTrainStadiaBink") || + nameHash == RED4ext::FNV1a64("logoTrainNoRTXBink") || nameHash == RED4ext::FNV1a64("logoTrainRTXBink") || nameHash == RED4ext::FNV1a64("introMessageBink")) { nameHash = ~nameHash; } @@ -37,8 +36,7 @@ void DisableIntroMoviesPatch() return; } - MH_CreateHook(reinterpret_cast(RealInitScriptMemberVariable), - reinterpret_cast(&HookInitScriptMemberVariable), - reinterpret_cast(&RealInitScriptMemberVariable)); + MH_CreateHook( + reinterpret_cast(RealInitScriptMemberVariable), reinterpret_cast(&HookInitScriptMemberVariable), reinterpret_cast(&RealInitScriptMemberVariable)); Log::Info("Disable intro movies patch: success"); } diff --git a/src/patches/EnableDebug.cpp b/src/patches/EnableDebug.cpp index 83c8aa50..1294e7f6 100644 --- a/src/patches/EnableDebug.cpp +++ b/src/patches/EnableDebug.cpp @@ -61,13 +61,10 @@ void EnableDebugPatch() const RED4ext::RelocPtr registerMemberFunction(CyberEngineTweaks::Addresses::CScript_RegisterMemberFunction); RealRegisterScriptFunction = reinterpret_cast(registerFunction.GetAddr()); - MH_CreateHook(reinterpret_cast(RealRegisterScriptFunction), - reinterpret_cast(&HookRegisterScriptFunction), - reinterpret_cast(&RealRegisterScriptFunction)); + MH_CreateHook(reinterpret_cast(RealRegisterScriptFunction), reinterpret_cast(&HookRegisterScriptFunction), reinterpret_cast(&RealRegisterScriptFunction)); RealRegisterScriptMemberFunction = reinterpret_cast(registerMemberFunction.GetAddr()); - MH_CreateHook(reinterpret_cast(RealRegisterScriptMemberFunction), - reinterpret_cast(&HookRegisterScriptMemberFunction), - reinterpret_cast(&RealRegisterScriptMemberFunction)); - + MH_CreateHook( + reinterpret_cast(RealRegisterScriptMemberFunction), reinterpret_cast(&HookRegisterScriptMemberFunction), + reinterpret_cast(&RealRegisterScriptMemberFunction)); } diff --git a/src/patches/OptionsPatch.cpp b/src/patches/OptionsPatch.cpp index 9c68a9b6..8574b124 100644 --- a/src/patches/OptionsPatch.cpp +++ b/src/patches/OptionsPatch.cpp @@ -44,9 +44,7 @@ void OptionsInitHook() if (pLocation) { - MH_CreateHook(pLocation, - reinterpret_cast(&HookGameOptionInit), - reinterpret_cast(&RealGameOptionInit)); + MH_CreateHook(pLocation, reinterpret_cast(&HookGameOptionInit), reinterpret_cast(&RealGameOptionInit)); MH_EnableHook(pLocation); Log::Info("Hidden options hook: success"); diff --git a/src/reverse/Addresses.h b/src/reverse/Addresses.h index bbb3dfd7..d7d7b191 100644 --- a/src/reverse/Addresses.h +++ b/src/reverse/Addresses.h @@ -14,7 +14,8 @@ namespace CyberEngineTweaks::Addresses constexpr uintptr_t ImageBase = 0x140000000; #pragma region CBaseInitializationState -constexpr uintptr_t CBaseInitializationState_OnTick = 0x140A72BA0 - ImageBase; // 48 83 EC 28 48 8B 05 ? ? ? ? 4C 8B C2 48 85 C0 75 12 8D 50 03 49 8B C8 E8 ? ? ? ?, expected: 1, index: 0 +constexpr uintptr_t CBaseInitializationState_OnTick = 0x140A72BA0 - ImageBase; // 48 83 EC 28 48 8B 05 ? ? ? ? 4C 8B C2 48 85 C0 75 12 8D 50 03 49 8B + // C8 E8 ? ? ? ?, expected: 1, index: 0 #pragma endregion #pragma region CGame @@ -26,32 +27,37 @@ constexpr uintptr_t CGameApplication_Run = 0x140A712D0 - ImageBase; // 48 89 5C #pragma endregion #pragma region CInitializationState -constexpr uintptr_t CInitializationState_OnTick = 0x140A72EA0 - ImageBase; // 48 83 EC 28 48 8B 05 ? ? ? ? 4C 8B C2 8B 88 F8 00 00 00 85 C9 74 3D 83 E9 02 74 25 83 E9 01, expected: 1, index: 0 +constexpr uintptr_t CInitializationState_OnTick = 0x140A72EA0 - ImageBase; // 48 83 EC 28 48 8B 05 ? ? ? ? 4C 8B C2 8B 88 F8 00 00 00 85 C9 74 3D 83 + // E9 02 74 25 83 E9 01, expected: 1, index: 0 #pragma endregion #pragma region CPatches constexpr uintptr_t CPatches_BoundaryTeleport = 0x141B2BE80 - ImageBase; // 48 8B C4 55 53 41 54 48 8D A8 ? ? ? ? 48 81 EC ? ? ? ? 48 89 70 10 48 8D 59 48, expected: 1, index: 0 -constexpr uintptr_t CPatches_IntroMovie = 0x1401FF080 - ImageBase; // 48 89 5C 24 08 57 48 83 EC 20 48 8B 44 24 50 48 8B D9 48 89 41 08, expected: 1, index: 0 -constexpr uintptr_t CPatches_Vignette = 0x14117C480 - ImageBase; // 48 8B 41 30 48 83 78 68 00 74, expected: 1, index: 0 -constexpr uintptr_t CPatches_MinimapFlicker = 0x1425AAB5D - ImageBase; // 83 79 2C 00 48 8B F2 4C, expected: 1, index: 0 -constexpr uintptr_t CPatches_OptionsInit = 0x142BF2600 - ImageBase; // 40 53 48 83 EC 40 48 8B D9 48 8D 4C 24 20 E8 ? ? ? ? E8 ? ? ? ? 4C 8B 43 08, expected: 1, index: 0 -constexpr uintptr_t CPatches_SkipStartScreen = 0x142A25180 - ImageBase; // 74 5F E8 ? ? ? ? 48 8D 4C 24 20 8B D8 E8 ? ? ? ? 48 8B C8 8B D3 E8, expected: 2, index: 1 -constexpr uintptr_t CPatches_AmdSMT = 0x142B9B28B - ImageBase; // 75 2D 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08, expected: 1, index: 0 +constexpr uintptr_t CPatches_IntroMovie = 0x1401FF080 - ImageBase; // 48 89 5C 24 08 57 48 83 EC 20 48 8B 44 24 50 48 8B D9 48 89 41 08, expected: 1, index: 0 +constexpr uintptr_t CPatches_Vignette = 0x14117C480 - ImageBase; // 48 8B 41 30 48 83 78 68 00 74, expected: 1, index: 0 +constexpr uintptr_t CPatches_MinimapFlicker = 0x1425AAB5D - ImageBase; // 83 79 2C 00 48 8B F2 4C, expected: 1, index: 0 +constexpr uintptr_t CPatches_OptionsInit = 0x142BF2600 - ImageBase; // 40 53 48 83 EC 40 48 8B D9 48 8D 4C 24 20 E8 ? ? ? ? E8 ? ? ? ? 4C 8B 43 08, expected: 1, index: 0 +constexpr uintptr_t CPatches_SkipStartScreen = 0x142A25180 - ImageBase; // 74 5F E8 ? ? ? ? 48 8D 4C 24 20 8B D8 E8 ? ? ? ? 48 8B C8 8B D3 E8, expected: 2, index: 1 +constexpr uintptr_t CPatches_AmdSMT = 0x142B9B28B - ImageBase; // 75 2D 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08, expected: 1, index: 0 #pragma endregion #pragma region CPhotoMode -constexpr uintptr_t CPhotoMode_SetRecordID = 0x142DC0CC0 - ImageBase; // 48 8B C4 55 57 48 8D 68 A1 48 81 EC 98 00 00 00 48 89 58 08 48 8B D9 48 89 70 18 48 8D 4D 27 48, expected: 1, index: 0 +constexpr uintptr_t CPhotoMode_SetRecordID = 0x142DC0CC0 - ImageBase; // 48 8B C4 55 57 48 8D 68 A1 48 81 EC 98 00 00 00 48 89 58 08 48 8B D9 48 89 70 + // 18 48 8D 4D 27 48, expected: 1, index: 0 #pragma endregion #pragma region CRenderGlobal -constexpr uintptr_t CRenderGlobal_InstanceOffset = 0x144DDDDF0 - ImageBase; // 48 89 5C 24 08 48 89 6C 24 18 48 89 74 24 20 57 41 56 41 57 48 83 EC 30 8B 01 41 8B F8 4C 8B 35, expected: 1, index: 0, offset: 32 -constexpr uintptr_t CRenderGlobal__DoNotUse_RenderQueueOffset = 0x151F6D589 - ImageBase; // 49 39 29 0F 84 ? ? ? ? 41 39 69 24 0F 84 ? ? ? ? 49 8B 95, expected: 1, index: 0, offset: 0 -constexpr uintptr_t CRenderGlobal_Resize = 0x142CE1EA0 - ImageBase; // 44 88 4C 24 20 44 89 44 24 18 89 54 24 10 89 4C, expected: 1, index: 0 +constexpr uintptr_t CRenderGlobal_InstanceOffset = 0x144DDDDF0 - ImageBase; // 48 89 5C 24 08 48 89 6C 24 18 48 89 74 24 20 57 41 56 41 57 48 83 EC 30 + // 8B 01 41 8B F8 4C 8B 35, expected: 1, index: 0, offset: 32 +constexpr uintptr_t CRenderGlobal__DoNotUse_RenderQueueOffset = + 0x151F6D589 - ImageBase; // 49 39 29 0F 84 ? ? ? ? 41 39 69 24 0F 84 ? ? ? ? 49 8B 95, expected: 1, index: 0, offset: 0 +constexpr uintptr_t CRenderGlobal_Resize = 0x142CE1EA0 - ImageBase; // 44 88 4C 24 20 44 89 44 24 18 89 54 24 10 89 4C, expected: 1, index: 0 constexpr uintptr_t CRenderGlobal_Shutdown = 0x142CCC550 - ImageBase; // 48 89 6C 24 20 41 56 48 83 EC 20 48 8D 05, expected: 1, index: 0 #pragma endregion #pragma region CRenderNode_Present -constexpr uintptr_t CRenderNode_Present_DoInternal = 0x142CE4450 - ImageBase; // 48 89 5C 24 08 48 89 6C 24 18 48 89 74 24 20 57 41 56 41 57 48 83 EC 30 8B 01 41 8B F8 4C 8B 35, expected: 1, index: 0 +constexpr uintptr_t CRenderNode_Present_DoInternal = 0x142CE4450 - ImageBase; // 48 89 5C 24 08 48 89 6C 24 18 48 89 74 24 20 57 41 56 41 57 48 83 EC + // 30 8B 01 41 8B F8 4C 8B 35, expected: 1, index: 0 #pragma endregion #pragma region CRunningState @@ -59,15 +65,18 @@ constexpr uintptr_t CRunningState_OnTick = 0x140A72FE0 - ImageBase; // 40 53 48 #pragma endregion #pragma region CScript -constexpr uintptr_t CScript_RunPureScript = 0x14020B9C0 - ImageBase; // 40 55 48 81 EC D0 00 00 00 48 8D 6C 24 40 8B, expected: 1, index: 0 -constexpr uintptr_t CScript_AllocateFunction = 0x1401AC0F0 - ImageBase; // BA B8 00 00 00 48 8D 4D D7 E8, expected: 3, index: 0 -constexpr uintptr_t CScript_Log = 0x1401EDC40 - ImageBase; // 40 53 48 83 EC ? 48 8D 4C 24 20 48 8B DA E8 ? ? ? ? 33 D2 48 8D 4C 24 40 E8, expected: 1, index: 0 -constexpr uintptr_t CScript_ToStringDEBUG = 0x140BD5400 - ImageBase; // 48 89 5C 24 08 57 48 83 EC 20 FE 42 62 4C 8D 15 ? ? ? ? 33 C9 33 C0, expected: 4, index: 2 -constexpr uintptr_t CScript_LogChannel = 0x1401EDCE0 - ImageBase; // 4C 8B DC 49 89 5B 08 49 89 73 18 57 48 83 EC 70 48 8B 02 ? ? ? ? ? ? ? FE 42 62 4D 8D 43 10 33 FF 45 33 C9 49 89 7B 10 48 8B DA 48 89 7A, expected: 1, index: 0 +constexpr uintptr_t CScript_RunPureScript = 0x14020B9C0 - ImageBase; // 40 55 48 81 EC D0 00 00 00 48 8D 6C 24 40 8B, expected: 1, index: 0 +constexpr uintptr_t CScript_AllocateFunction = 0x1401AC0F0 - ImageBase; // BA B8 00 00 00 48 8D 4D D7 E8, expected: 3, index: 0 +constexpr uintptr_t CScript_Log = 0x1401EDC40 - ImageBase; // 40 53 48 83 EC ? 48 8D 4C 24 20 48 8B DA E8 ? ? ? ? 33 D2 48 8D 4C 24 40 E8, expected: 1, index: 0 +constexpr uintptr_t CScript_ToStringDEBUG = 0x140BD5400 - ImageBase; // 48 89 5C 24 08 57 48 83 EC 20 FE 42 62 4C 8D 15 ? ? ? ? 33 C9 33 C0, expected: 4, index: 2 +constexpr uintptr_t CScript_LogChannel = 0x1401EDCE0 - ImageBase; // 4C 8B DC 49 89 5B 08 49 89 73 18 57 48 83 EC 70 48 8B 02 ? ? ? ? ? ? ? FE 42 62 + // 4D 8D 43 10 33 FF 45 33 C9 49 89 7B 10 48 8B DA 48 89 7A, expected: 1, index: 0 constexpr uintptr_t CScript_TDBIDConstructorDerive = 0x142BEB670 - ImageBase; // 40 53 48 83 EC 30 33 C0 4C 89 44 24 20 48 8B DA, expected: 1, index: 0 -constexpr uintptr_t CScript_TranslateBytecode = 0x14027B0D0 - ImageBase; // 4C 8B DC 55 53 57 41 55 49 8D 6B A1 48 81 EC 98 00 00 00 48 8B 1A 4C 8B E9 8B 42 0C 48 8D 3C C3, expected: 1, index: 0 -constexpr uintptr_t CScript_TweakDBLoad = 0x140BD3730 - ImageBase; // 48 89 5C 24 18 55 57 41 56 48 8B EC 48 83 EC 70 48 8B D9 45 33 F6 48 8D, expected: 1, index: 0 -constexpr uintptr_t CScript_RegisterMemberFunction = 0x14020ACB0 - ImageBase; // 48 89 5C 24 08 57 48 83 EC 20 49 8B C1 4D 8B D0 44 8B 4C 24 58 48 8B DA 41 83 C9 03, expected: 1, index: 0 +constexpr uintptr_t CScript_TranslateBytecode = 0x14027B0D0 - ImageBase; // 4C 8B DC 55 53 57 41 55 49 8D 6B A1 48 81 EC 98 00 00 00 48 8B 1A 4C 8B E9 + // 8B 42 0C 48 8D 3C C3, expected: 1, index: 0 +constexpr uintptr_t CScript_TweakDBLoad = 0x140BD3730 - ImageBase; // 48 89 5C 24 18 55 57 41 56 48 8B EC 48 83 EC 70 48 8B D9 45 33 F6 48 8D, expected: 1, index: 0 +constexpr uintptr_t CScript_RegisterMemberFunction = 0x14020ACB0 - ImageBase; // 48 89 5C 24 08 57 48 83 EC 20 49 8B C1 4D 8B D0 44 8B 4C 24 58 48 8B + // DA 41 83 C9 03, expected: 1, index: 0 #pragma endregion #pragma region CShutdownState @@ -79,12 +88,15 @@ constexpr uintptr_t CWinapi_ClipToCenter = 0x14078BE70 - ImageBase; // 48 89 5C #pragma endregion #pragma region gameIGameSystem -constexpr uintptr_t gameIGameSystem_Constructor = 0x140AF6356 - ImageBase; // 48 8B D9 E8 ? ? ? ? 48 8D 05 ? ? ? ? 48 C7 43 40 00 00 00 00, expected: 2, index: 0 -constexpr uintptr_t gameIGameSystem_Initialize = 0x142DC26E0 - ImageBase; // 48 89 5C 24 18 48 89 6C 24 20 57 48 83 EC 30 48 8B 42 78, expected: 1, index: 0 -constexpr uintptr_t gameIGameSystem_UnInitialize = 0x142DC1350 - ImageBase; // 40 53 48 83 EC 20 48 8B D9 E8 ? ? ? ? 33 C0 48 89 43 50 48 89 43 48, expected: 1, index: 0 -constexpr uintptr_t gameIGameSystem_Spawn = 0x142DC38E0 - ImageBase; // 48 89 5C 24 18 55 56 41 54 41 56 41 57 48 8D 6C 24 90 48 81 EC 70 01 00 00 48 83 79 50 00 49 8B, expected: 1, index: 0 -constexpr uintptr_t gameIGameSystem_Despawn = 0x142DC1380 - ImageBase; // 48 89 5C 24 10 48 89 6C 24 18 56 57 41 54 41 56 41 57 48 83 EC 50 4C 8B F9 0F 57 C0 48 83 C1 41, expected: 1, index: 0 -constexpr uintptr_t gameIGameSystem_SpawnCallback = 0x1410F1E70 - ImageBase; // 48 89 5C 24 18 48 89 6C 24 20 56 57 41 56 48 83 EC 70 48 8B F1 48 8B EA 48 83 C1 48 E8, expected: 1, index: 0 +constexpr uintptr_t gameIGameSystem_Constructor = 0x140AF6356 - ImageBase; // 48 8B D9 E8 ? ? ? ? 48 8D 05 ? ? ? ? 48 C7 43 40 00 00 00 00, expected: 2, index: 0 +constexpr uintptr_t gameIGameSystem_Initialize = 0x142DC26E0 - ImageBase; // 48 89 5C 24 18 48 89 6C 24 20 57 48 83 EC 30 48 8B 42 78, expected: 1, index: 0 +constexpr uintptr_t gameIGameSystem_UnInitialize = 0x142DC1350 - ImageBase; // 40 53 48 83 EC 20 48 8B D9 E8 ? ? ? ? 33 C0 48 89 43 50 48 89 43 48, expected: 1, index: 0 +constexpr uintptr_t gameIGameSystem_Spawn = 0x142DC38E0 - ImageBase; // 48 89 5C 24 18 55 56 41 54 41 56 41 57 48 8D 6C 24 90 48 81 EC 70 01 00 00 48 + // 83 79 50 00 49 8B, expected: 1, index: 0 +constexpr uintptr_t gameIGameSystem_Despawn = 0x142DC1380 - ImageBase; // 48 89 5C 24 10 48 89 6C 24 18 56 57 41 54 41 56 41 57 48 83 EC 50 4C 8B F9 + // 0F 57 C0 48 83 C1 41, expected: 1, index: 0 +constexpr uintptr_t gameIGameSystem_SpawnCallback = 0x1410F1E70 - ImageBase; // 48 89 5C 24 18 48 89 6C 24 20 56 57 41 56 48 83 EC 70 48 8B F1 48 8B + // EA 48 83 C1 48 E8, expected: 1, index: 0 #pragma endregion #pragma region PlayerSystem diff --git a/src/reverse/Array.h b/src/reverse/Array.h index 68b3053d..763c1630 100644 --- a/src/reverse/Array.h +++ b/src/reverse/Array.h @@ -1,9 +1,8 @@ #pragma once -template -struct Array +template struct Array { - T* entries{ nullptr }; - uint32_t capacity{ 0 }; - uint32_t count{ 0 }; + T* entries{nullptr}; + uint32_t capacity{0}; + uint32_t count{0}; }; \ No newline at end of file diff --git a/src/reverse/BasicTypes.h b/src/reverse/BasicTypes.h index 08205f1b..d1f82c85 100644 --- a/src/reverse/BasicTypes.h +++ b/src/reverse/BasicTypes.h @@ -3,8 +3,11 @@ struct Vector3 { Vector3(float aX = 0.f, float aY = 0.f, float aZ = 0.f) - : x(aX), y(aY), z(aZ) - {} + : x(aX) + , y(aY) + , z(aZ) + { + } float x; float y; @@ -12,14 +15,18 @@ struct Vector3 std::string ToString() const noexcept; - bool operator==(const Vector3& acRhs) const noexcept; + bool operator==(const Vector3& acRhs) const noexcept; }; struct Vector4 { Vector4(float aX = 0.f, float aY = 0.f, float aZ = 0.f, float aW = 0.f) - : x(aX), y(aY), z(aZ), w(aW) - {} + : x(aX) + , y(aY) + , z(aZ) + , w(aW) + { + } float x; float y; @@ -28,14 +35,17 @@ struct Vector4 std::string ToString() const noexcept; - bool operator==(const Vector4& acRhs) const noexcept; + bool operator==(const Vector4& acRhs) const noexcept; }; struct EulerAngles { EulerAngles(float aRoll = 0.f, float aPitch = 0.f, float aYaw = 0.f) - : roll(aRoll), pitch(aPitch), yaw(aYaw) - {} + : roll(aRoll) + , pitch(aPitch) + , yaw(aYaw) + { + } float roll; float pitch; @@ -43,14 +53,18 @@ struct EulerAngles std::string ToString() const noexcept; - bool operator==(const EulerAngles& acRhs) const noexcept; + bool operator==(const EulerAngles& acRhs) const noexcept; }; struct Quaternion { Quaternion(float aI = 0.f, float aJ = 0.f, float aK = 0.f, float aR = 0.f) - : i(aI), j(aJ), k(aK), r(aR) - {} + : i(aI) + , j(aJ) + , k(aK) + , r(aR) + { + } float i; float j; @@ -59,14 +73,21 @@ struct Quaternion std::string ToString() const noexcept; - bool operator==(const Quaternion& acRhs) const noexcept; + bool operator==(const Quaternion& acRhs) const noexcept; }; struct CName { - CName(uint64_t aHash = 0) : hash(aHash){} + CName(uint64_t aHash = 0) + : hash(aHash) + { + } - CName(uint32_t aHashLo, uint32_t aHashHi) : hash_lo(aHashLo), hash_hi(aHashHi) {} + CName(uint32_t aHashLo, uint32_t aHashHi) + : hash_lo(aHashLo) + , hash_hi(aHashHi) + { + } CName(const std::string& aName) { @@ -78,7 +99,7 @@ struct CName union { - uint64_t hash{ 0 }; + uint64_t hash{0}; struct { uint32_t hash_lo; @@ -89,7 +110,7 @@ struct CName std::string AsString() const noexcept; std::string ToString() const noexcept; - bool operator==(const CName& acRhs) const noexcept; + bool operator==(const CName& acRhs) const noexcept; static void Add(const std::string& aName); }; @@ -107,10 +128,7 @@ struct TweakDBID this->unk7 = 0; } - TweakDBID(uint64_t aValue) - { - this->value = aValue; - } + TweakDBID(uint64_t aValue) { this->value = aValue; } TweakDBID(const std::string_view aName) { @@ -129,8 +147,8 @@ struct TweakDBID std::string AsString() const noexcept; std::string ToString() const noexcept; - bool operator==(const TweakDBID& acRhs) const noexcept; - TweakDBID operator+(const std::string_view acName) const noexcept; + bool operator==(const TweakDBID& acRhs) const noexcept; + TweakDBID operator+(const std::string_view acName) const noexcept; union { @@ -151,17 +169,23 @@ struct ItemID { ItemID() = default; ItemID(const TweakDBID& aId, uint32_t aRngSeed = 2, uint16_t aUnknown = 0, uint8_t aMaybeType = 0) - : id(aId), rng_seed(aRngSeed), unknown(aUnknown), maybe_type(aMaybeType), pad(0) {} + : id(aId) + , rng_seed(aRngSeed) + , unknown(aUnknown) + , maybe_type(aMaybeType) + , pad(0) + { + } std::string ToString() const noexcept; - bool operator==(const ItemID& acRhs) const noexcept; + bool operator==(const ItemID& acRhs) const noexcept; TweakDBID id; - uint32_t rng_seed{ 2 }; - uint16_t unknown{ 0 }; - uint8_t maybe_type{ 0 }; - uint8_t pad{ 0 }; + uint32_t rng_seed{2}; + uint16_t unknown{0}; + uint8_t maybe_type{0}; + uint8_t pad{0}; }; static_assert(sizeof(ItemID) == 0x10); @@ -201,10 +225,10 @@ struct Variant kTypeMask = ~kInlineFlag, }; - const RED4ext::CBaseRTTIType* type{ nullptr }; + const RED4ext::CBaseRTTIType* type{nullptr}; union { - mutable uint8_t inlined[kInlineSize]{ 0 }; + mutable uint8_t inlined[kInlineSize]{0}; RED4ext::ScriptInstance instance; }; }; @@ -213,26 +237,32 @@ static_assert(sizeof(Variant) == 0x18); struct CRUID { - CRUID(uint64_t aHash = 0) : hash(aHash) {} + CRUID(uint64_t aHash = 0) + : hash(aHash) + { + } uint64_t hash; std::string ToString() const noexcept; - bool operator==(const CRUID& acRhs) const noexcept; + bool operator==(const CRUID& acRhs) const noexcept; }; static_assert(sizeof(CRUID) == 0x8); struct gamedataLocKeyWrapper { - gamedataLocKeyWrapper(uint64_t aHash = 0) : hash(aHash) {} + gamedataLocKeyWrapper(uint64_t aHash = 0) + : hash(aHash) + { + } uint64_t hash; std::string ToString() const noexcept; - bool operator==(const gamedataLocKeyWrapper& acRhs) const noexcept; + bool operator==(const gamedataLocKeyWrapper& acRhs) const noexcept; }; static_assert(sizeof(gamedataLocKeyWrapper) == 0x8); diff --git a/src/reverse/ClassReference.cpp b/src/reverse/ClassReference.cpp index c3932355..36b34102 100644 --- a/src/reverse/ClassReference.cpp +++ b/src/reverse/ClassReference.cpp @@ -3,8 +3,7 @@ #include "ClassReference.h" #include "CET.h" -ClassReference::ClassReference(const TiltedPhoques::Locked& aView, - RED4ext::CBaseRTTIType* apClass, RED4ext::ScriptInstance apInstance) +ClassReference::ClassReference(const TiltedPhoques::Locked& aView, RED4ext::CBaseRTTIType* apClass, RED4ext::ScriptInstance apInstance) : ClassType(aView, apClass) { m_pInstance = apClass->GetAllocator()->AllocAligned(apClass->GetSize(), apClass->GetAlignment()).memory; diff --git a/src/reverse/ClassReference.h b/src/reverse/ClassReference.h index 62aba676..ee8cfc65 100644 --- a/src/reverse/ClassReference.h +++ b/src/reverse/ClassReference.h @@ -4,9 +4,7 @@ struct ClassReference : ClassType { - ClassReference(const TiltedPhoques::Locked& aView, - RED4ext::CBaseRTTIType* apClass, - RED4ext::ScriptInstance apInstance); + ClassReference(const TiltedPhoques::Locked& aView, RED4ext::CBaseRTTIType* apClass, RED4ext::ScriptInstance apInstance); ClassReference(ClassReference&& aOther) noexcept; ~ClassReference() override; diff --git a/src/reverse/ClassStatic.cpp b/src/reverse/ClassStatic.cpp index 8cf6866a..acbbdabf 100644 --- a/src/reverse/ClassStatic.cpp +++ b/src/reverse/ClassStatic.cpp @@ -20,9 +20,7 @@ sol::function ClassStatic::GetFactory() auto lockedState = m_lua.Lock(); auto& luaState = lockedState.Get(); - m_factory = MakeSolFunction(luaState, [this](sol::optional aProps) { - return RTTIHelper::Get().NewHandle(m_pType, aProps); - }); + m_factory = MakeSolFunction(luaState, [this](sol::optional aProps) { return RTTIHelper::Get().NewHandle(m_pType, aProps); }); } return m_factory; diff --git a/src/reverse/ClassStatic.h b/src/reverse/ClassStatic.h index dd113c92..066e8c05 100644 --- a/src/reverse/ClassStatic.h +++ b/src/reverse/ClassStatic.h @@ -4,13 +4,11 @@ struct ClassStatic : ClassType { - ClassStatic(const TiltedPhoques::Lockable::Ref& aView, - RED4ext::CBaseRTTIType* apClass); + ClassStatic(const TiltedPhoques::Lockable::Ref& aView, RED4ext::CBaseRTTIType* apClass); ~ClassStatic() override; sol::function GetFactory(); private: - sol::function m_factory; }; diff --git a/src/reverse/Converter.cpp b/src/reverse/Converter.cpp index 9c1021d8..129e13ce 100644 --- a/src/reverse/Converter.cpp +++ b/src/reverse/Converter.cpp @@ -2,34 +2,19 @@ #include "Converter.h" -auto s_metaVisitor = [](auto... args) { - return [=](auto&& f) mutable { f(args...); }; -}( - LuaRED(), - LuaRED(), - LuaRED(), - LuaRED(), - LuaRED(), - LuaRED(), - LuaRED(), - LuaRED(), - LuaRED(), - LuaRED(), - LuaRED(), - LuaRED(), - LuaRED(), - LuaRED(), - LuaRED(), - LuaRED(), - LuaRED(), - LuaRED(), - LuaRED(), - CNameConverter(), - TweakDBIDConverter(), - EnumConverter(), - ClassConverter(), - RawConverter() // Should always be last resort - ); +auto s_metaVisitor = + [](auto... args) +{ + return [=](auto&& f) mutable + { + f(args...); + }; +}(LuaRED(), LuaRED(), LuaRED(), LuaRED(), LuaRED(), LuaRED(), + LuaRED(), LuaRED(), LuaRED(), LuaRED(), LuaRED(), LuaRED(), + LuaRED(), LuaRED(), LuaRED(), LuaRED(), LuaRED(), + LuaRED(), LuaRED(), CNameConverter(), TweakDBIDConverter(), EnumConverter(), ClassConverter(), + RawConverter() // Should always be last resort +); size_t Converter::Size(RED4ext::CBaseRTTIType* apRtti) { @@ -78,11 +63,11 @@ sol::object Converter::ToLua(RED4ext::CStackType& aResult, TiltedPhoques::Locked return o; } -RED4ext::CStackType Converter::ToRED(sol::object aObject, RED4ext::CBaseRTTIType* apRtti, - TiltedPhoques::Allocator* apAllocator) +RED4ext::CStackType Converter::ToRED(sol::object aObject, RED4ext::CBaseRTTIType* apRtti, TiltedPhoques::Allocator* apAllocator) { RED4ext::CStackType r; - auto initStackType = [&](auto& x) { + auto initStackType = [&](auto& x) + { if (x.Is(apRtti)) { r = x.ToRED(aObject, apRtti, apAllocator); @@ -91,7 +76,10 @@ RED4ext::CStackType Converter::ToRED(sol::object aObject, RED4ext::CBaseRTTIType return false; }; - auto f = [initStackType](auto&&... xs) { (... && !initStackType(xs)); }; + auto f = [initStackType](auto&&... xs) + { + (... && !initStackType(xs)); + }; s_metaVisitor(f); @@ -110,7 +98,10 @@ void Converter::ToRED(sol::object aObject, RED4ext::CStackType* apType) return false; }; - auto f = [initStackType](auto&&... xs) { (... && !initStackType(xs)); }; + auto f = [initStackType](auto&&... xs) + { + (... && !initStackType(xs)); + }; s_metaVisitor(f); } diff --git a/src/reverse/Converter.h b/src/reverse/Converter.h index a154499d..33a2d240 100644 --- a/src/reverse/Converter.h +++ b/src/reverse/Converter.h @@ -5,23 +5,23 @@ #include "LuaRED.h" #include "RTTIHelper.h" -namespace TiltedPhoques { - struct Allocator; +namespace TiltedPhoques +{ +struct Allocator; } namespace Converter { - size_t Size(RED4ext::CBaseRTTIType* apRtti); - sol::object ToLua(RED4ext::CStackType& aResult, TiltedPhoques::Locked& aLua); - RED4ext::CStackType ToRED(sol::object aObject, RED4ext::CBaseRTTIType* apRtti, TiltedPhoques::Allocator* apAllocator); - void ToRED(sol::object aObject, RED4ext::CStackType* apType); -} +size_t Size(RED4ext::CBaseRTTIType* apRtti); +sol::object ToLua(RED4ext::CStackType& aResult, TiltedPhoques::Locked& aLua); +RED4ext::CStackType ToRED(sol::object aObject, RED4ext::CBaseRTTIType* apRtti, TiltedPhoques::Allocator* apAllocator); +void ToRED(sol::object aObject, RED4ext::CStackType* apType); +} // namespace Converter // Specialization manages special case implicit casting struct CNameConverter : LuaRED { - RED4ext::CStackType ToRED(sol::object aObject, RED4ext::CBaseRTTIType* apRtti, - TiltedPhoques::Allocator* apAllocator) + RED4ext::CStackType ToRED(sol::object aObject, RED4ext::CBaseRTTIType* apRtti, TiltedPhoques::Allocator* apAllocator) { RED4ext::CStackType result; if (aObject != sol::nil && aObject.get_type() == sol::type::string) // CName from String implicit cast @@ -39,7 +39,7 @@ struct CNameConverter : LuaRED return result; } - void ToRED(sol::object aObject, RED4ext::CStackType* apType) + void ToRED(sol::object aObject, RED4ext::CStackType* apType) { if (aObject != sol::nil && aObject.get_type() == sol::type::string) // CName from String implicit cast { @@ -57,8 +57,7 @@ struct CNameConverter : LuaRED // Specialization manages special case implicit casting for TweakDBID struct TweakDBIDConverter : LuaRED { - RED4ext::CStackType ToRED(sol::object aObject, RED4ext::CBaseRTTIType* apRtti, - TiltedPhoques::Allocator* apAllocator) + RED4ext::CStackType ToRED(sol::object aObject, RED4ext::CBaseRTTIType* apRtti, TiltedPhoques::Allocator* apAllocator) { RED4ext::CStackType result; if (aObject != sol::nil && aObject.get_type() == sol::type::string) @@ -74,7 +73,7 @@ struct TweakDBIDConverter : LuaRED return result; } - void ToRED(sol::object aObject, RED4ext::CStackType* apType) + void ToRED(sol::object aObject, RED4ext::CStackType* apType) { if (aObject != sol::nil && aObject.get_type() == sol::type::string) { @@ -90,12 +89,9 @@ struct TweakDBIDConverter : LuaRED // Specialization manages wrapping and converting RT_Enum struct EnumConverter : LuaRED { - sol::object ToLua(RED4ext::CStackType& aResult, TiltedPhoques::Locked& aLua) - { - return make_object(aLua.Get(), Enum(aResult)); - } + sol::object ToLua(RED4ext::CStackType& aResult, TiltedPhoques::Locked& aLua) { return make_object(aLua.Get(), Enum(aResult)); } - RED4ext::CStackType ToRED(sol::object aObject, RED4ext::CBaseRTTIType* apRtti, TiltedPhoques::Allocator* apAllocator) + RED4ext::CStackType ToRED(sol::object aObject, RED4ext::CBaseRTTIType* apRtti, TiltedPhoques::Allocator* apAllocator) { RED4ext::CStackType result; if (aObject.is()) @@ -141,7 +137,7 @@ struct EnumConverter : LuaRED return result; } - void ToRED(sol::object aObject, RED4ext::CStackType* apType) + void ToRED(sol::object aObject, RED4ext::CStackType* apType) { if (aObject.is()) { @@ -173,33 +169,29 @@ struct EnumConverter : LuaRED } } - size_t Size() const noexcept - { - return m_pRtti ? m_pRtti->GetSize() : 0; - } + size_t Size() const noexcept { return m_pRtti ? m_pRtti->GetSize() : 0; } - bool Is(RED4ext::CBaseRTTIType* apRtti) const - { - if (apRtti->GetType() == RED4ext::ERTTIType::Enum) - { - m_pRtti = apRtti; - return true; - } + bool Is(RED4ext::CBaseRTTIType* apRtti) const + { + if (apRtti->GetType() == RED4ext::ERTTIType::Enum) + { + m_pRtti = apRtti; + return true; + } - return false; - } + return false; + } }; // Specialization manages wrapping RT_Class struct ClassConverter : LuaRED { sol::object ToLua(RED4ext::CStackType& aResult, TiltedPhoques::Locked& aLua) - { - return make_object(aLua.Get(), ClassReference(aLua, aResult.type, aResult.value)); - } + { + return make_object(aLua.Get(), ClassReference(aLua, aResult.type, aResult.value)); + } - RED4ext::CStackType ToRED(sol::object aObject, RED4ext::CBaseRTTIType* apRtti, - TiltedPhoques::Allocator* apAllocator) + RED4ext::CStackType ToRED(sol::object aObject, RED4ext::CBaseRTTIType* apRtti, TiltedPhoques::Allocator* apAllocator) { RED4ext::CStackType result; result.type = apRtti; @@ -213,7 +205,7 @@ struct ClassConverter : LuaRED } // Disabled until new allocator is implemented // Current implementation can leak - //else if (aObject.get_type() == sol::type::table) + // else if (aObject.get_type() == sol::type::table) //{ // // The implicit table to instance conversion `Game.FindEntityByID({ hash = 1 })` has potential issue: // // When the overloaded function takes an array and an object for the same arg the implicit conversion @@ -248,32 +240,29 @@ struct ClassConverter : LuaRED } } - size_t Size() const noexcept - { - return m_pRtti ? m_pRtti->GetSize() : 0; - } + size_t Size() const noexcept { return m_pRtti ? m_pRtti->GetSize() : 0; } - bool Is(RED4ext::CBaseRTTIType* apRtti) const - { - if (apRtti->GetType() == RED4ext::ERTTIType::Class) - { - m_pRtti = apRtti; - return true; - } + bool Is(RED4ext::CBaseRTTIType* apRtti) const + { + if (apRtti->GetType() == RED4ext::ERTTIType::Class) + { + m_pRtti = apRtti; + return true; + } - return false; - } + return false; + } }; // Specialization manages wrapping RT_*** struct RawConverter : LuaRED { sol::object ToLua(RED4ext::CStackType& aResult, TiltedPhoques::Locked& aLua) - { - return make_object(aLua.Get(), UnknownType(aLua, aResult.type, aResult.value)); - } + { + return make_object(aLua.Get(), UnknownType(aLua, aResult.type, aResult.value)); + } - RED4ext::CStackType ToRED(sol::object aObject, RED4ext::CBaseRTTIType* apRtti, TiltedPhoques::Allocator*) + RED4ext::CStackType ToRED(sol::object aObject, RED4ext::CBaseRTTIType* apRtti, TiltedPhoques::Allocator*) { RED4ext::CStackType result; result.type = apRtti; @@ -301,14 +290,11 @@ struct RawConverter : LuaRED } } - size_t Size() const noexcept - { - return m_pRtti ? m_pRtti->GetSize() : 0; - } + size_t Size() const noexcept { return m_pRtti ? m_pRtti->GetSize() : 0; } - bool Is(RED4ext::CBaseRTTIType* apRtti) const - { - m_pRtti = apRtti; - return true; - } + bool Is(RED4ext::CBaseRTTIType* apRtti) const + { + m_pRtti = apRtti; + return true; + } }; diff --git a/src/reverse/Enum.cpp b/src/reverse/Enum.cpp index 5ad5e4b4..216ad8d8 100644 --- a/src/reverse/Enum.cpp +++ b/src/reverse/Enum.cpp @@ -27,14 +27,12 @@ Enum::Enum(const std::string& acTypeName, uint32_t aValue) } } - Enum::Enum(const RED4ext::CEnum* acpType, const std::string& acValue) : m_cpType(acpType) { SetValueByName(acValue); } - Enum::Enum(const RED4ext::CEnum* acpType, uint32_t aValue) : m_cpType(acpType) { @@ -58,18 +56,10 @@ void Enum::Get(const RED4ext::CStackType& acStackType) noexcept m_cpType = static_cast(acStackType.type); switch (acStackType.type->GetSize()) { - case sizeof(uint8_t): - m_value = *static_cast(acStackType.value); - break; - case sizeof(uint16_t): - m_value = *static_cast(acStackType.value); - break; - case sizeof(uint32_t): - m_value = *static_cast(acStackType.value); - break; - case sizeof(uint64_t): - m_value = *static_cast(acStackType.value); - break; + case sizeof(uint8_t): m_value = *static_cast(acStackType.value); break; + case sizeof(uint16_t): m_value = *static_cast(acStackType.value); break; + case sizeof(uint32_t): m_value = *static_cast(acStackType.value); break; + case sizeof(uint64_t): m_value = *static_cast(acStackType.value); break; } } @@ -78,18 +68,10 @@ void Enum::Set(RED4ext::CStackType& aStackType, TiltedPhoques::Allocator* apAllo aStackType.type = const_cast(m_cpType); // Sad cast switch (m_cpType->GetSize()) { - case sizeof(uint8_t): - aStackType.value = apAllocator->New(static_cast(m_value)); - break; - case sizeof(uint16_t): - aStackType.value = apAllocator->New(static_cast(m_value)); - break; - case sizeof(uint32_t): - aStackType.value = apAllocator->New(static_cast(m_value)); - break; - case sizeof(uint64_t): - aStackType.value = apAllocator->New(static_cast(m_value)); - break; + case sizeof(uint8_t): aStackType.value = apAllocator->New(static_cast(m_value)); break; + case sizeof(uint16_t): aStackType.value = apAllocator->New(static_cast(m_value)); break; + case sizeof(uint32_t): aStackType.value = apAllocator->New(static_cast(m_value)); break; + case sizeof(uint64_t): aStackType.value = apAllocator->New(static_cast(m_value)); break; } } @@ -97,22 +79,13 @@ void Enum::Set(RED4ext::CStackType& acStackType) const noexcept { switch (m_cpType->GetSize()) { - case sizeof(uint8_t): - *static_cast(acStackType.value) = static_cast(m_value); - break; - case sizeof(uint16_t): - *static_cast(acStackType.value) = static_cast(m_value); - break; - case sizeof(uint32_t): - *static_cast(acStackType.value) = static_cast(m_value); - break; - case sizeof(uint64_t): - *static_cast(acStackType.value) = static_cast(m_value); - break; + case sizeof(uint8_t): *static_cast(acStackType.value) = static_cast(m_value); break; + case sizeof(uint16_t): *static_cast(acStackType.value) = static_cast(m_value); break; + case sizeof(uint32_t): *static_cast(acStackType.value) = static_cast(m_value); break; + case sizeof(uint64_t): *static_cast(acStackType.value) = static_cast(m_value); break; } } - std::string Enum::GetValueName() const { if (!m_cpType) @@ -129,7 +102,6 @@ std::string Enum::GetValueName() const return ""; } - void Enum::SetValueByName(const std::string& acValue) { if (!m_cpType) diff --git a/src/reverse/Enum.h b/src/reverse/Enum.h index 6ca7aa13..4c5a8d37 100644 --- a/src/reverse/Enum.h +++ b/src/reverse/Enum.h @@ -23,7 +23,7 @@ struct Enum std::string ToString() const; - bool operator==(const Enum& acRhs) const noexcept; + bool operator==(const Enum& acRhs) const noexcept; const RED4ext::CEnum* GetType() const; const void* GetValuePtr() const; @@ -31,6 +31,6 @@ struct Enum protected: friend struct Scripting; - const RED4ext::CEnum* m_cpType{ nullptr }; - uint64_t m_value{ 0 }; + const RED4ext::CEnum* m_cpType{nullptr}; + uint64_t m_value{0}; }; diff --git a/src/reverse/EnumStatic.cpp b/src/reverse/EnumStatic.cpp index ee0b40d5..080fd064 100644 --- a/src/reverse/EnumStatic.cpp +++ b/src/reverse/EnumStatic.cpp @@ -5,8 +5,7 @@ #include "scripting/Scripting.h" -EnumStatic::EnumStatic(const TiltedPhoques::Lockable::Ref& aView, - RED4ext::CBaseRTTIType* apClass) +EnumStatic::EnumStatic(const TiltedPhoques::Lockable::Ref& aView, RED4ext::CBaseRTTIType* apClass) : ClassType(aView, apClass) { } diff --git a/src/reverse/EnumStatic.h b/src/reverse/EnumStatic.h index 9c212988..5f76f106 100644 --- a/src/reverse/EnumStatic.h +++ b/src/reverse/EnumStatic.h @@ -4,8 +4,7 @@ struct EnumStatic : ClassType { - EnumStatic(const TiltedPhoques::Lockable::Ref& aView, - RED4ext::CBaseRTTIType* apClass); + EnumStatic(const TiltedPhoques::Lockable::Ref& aView, RED4ext::CBaseRTTIType* apClass); ~EnumStatic() override; sol::object Index_Impl(const std::string& acName, sol::this_environment aThisEnv) override; diff --git a/src/reverse/LuaRED.h b/src/reverse/LuaRED.h index 90fec609..6db2cddc 100644 --- a/src/reverse/LuaRED.h +++ b/src/reverse/LuaRED.h @@ -3,8 +3,7 @@ #include "common/Meta.h" #include "Utils.h" -template -struct LuaRED +template struct LuaRED { static constexpr char const* Name = REDName; @@ -12,8 +11,8 @@ struct LuaRED { if constexpr (std::is_integral_v && sizeof(T) == sizeof(uint64_t)) { - constexpr auto format { std::is_signed_v ? "return {}ll" : "return {}ull" }; - auto res { aLua.Get().script(fmt::format(format, *static_cast(aResult.value))) }; + constexpr auto format{std::is_signed_v ? "return {}ll" : "return {}ull"}; + auto res{aLua.Get().script(fmt::format(format, *static_cast(aResult.value)))}; assert(res.valid()); return res.get(); } @@ -123,10 +122,7 @@ struct LuaRED } } - size_t Size() const noexcept - { - return sizeof(T); - } + size_t Size() const noexcept { return sizeof(T); } bool Is(RED4ext::CBaseRTTIType* apRtti) const { @@ -137,7 +133,6 @@ struct LuaRED } protected: - bool Resolve() const { if (m_pRtti) diff --git a/src/reverse/RTTIExtender.cpp b/src/reverse/RTTIExtender.cpp index e593d9be..6311c62d 100644 --- a/src/reverse/RTTIExtender.cpp +++ b/src/reverse/RTTIExtender.cpp @@ -6,8 +6,7 @@ #include #include -template -struct GameCall +template struct GameCall { GameCall(uintptr_t aAddress, const int32_t acOffset = 0) { @@ -30,8 +29,7 @@ struct GameCall // what? why not Handle? what to call this? // T must have AddRef and DecRef -template -struct REDSmartPtr +template struct REDSmartPtr { REDSmartPtr(T* aData = nullptr) : data(aData) @@ -51,10 +49,7 @@ struct REDSmartPtr aOther.data = nullptr; } - ~REDSmartPtr() - { - Reset(); - } + ~REDSmartPtr() { Reset(); } void Reset() { @@ -89,20 +84,11 @@ struct REDSmartPtr return *this; } - [[nodiscard]] T* operator->() - { - return data; - } + [[nodiscard]] T* operator->() { return data; } - [[nodiscard]] const T* operator->() const - { - return data; - } + [[nodiscard]] const T* operator->() const { return data; } - explicit operator bool() const noexcept - { - return data != nullptr; - } + explicit operator bool() const noexcept { return data != nullptr; } private: void AddRef() @@ -134,8 +120,8 @@ struct gameIGameSystem : IUpdatableSystem func(apAddress); // gameIGameSystem::ctor() } - virtual void OnInitialize() = 0; // 118 - virtual void OnShutdown() = 0; // 120 + virtual void OnInitialize() = 0; // 118 + virtual void OnShutdown() = 0; // 120 virtual void sub_128() = 0; virtual void sub_130() = 0; virtual void sub_138() = 0; @@ -150,8 +136,8 @@ struct gameIGameSystem : IUpdatableSystem virtual void sub_180() = 0; virtual void sub_188() = 0; virtual void sub_190() = 0; - virtual void OnSystemInitializeAsync(void*) = 0; // 198 - virtual void OnSystemUnInitializeAsync(void*) = 0; // 1A0 + virtual void OnSystemInitializeAsync(void*) = 0; // 198 + virtual void OnSystemUnInitializeAsync(void*) = 0; // 1A0 }; RED4EXT_ASSERT_OFFSET(gameIGameSystem, gameInstance, 0x40); @@ -190,8 +176,8 @@ struct TEMP_SpawnSettings uintptr_t unk00 = 0; uintptr_t unk08 = 0; RED4ext::Transform transform{}; - //uint8_t unk30[0x38]{}; - //uintptr_t unk68 = 0; + // uint8_t unk30[0x38]{}; + // uintptr_t unk68 = 0; std::function callback; uint8_t unk70[0x18]{}; uintptr_t unk88 = 0; @@ -221,10 +207,9 @@ struct TEMP_SpawnSettings // ------------------------------ // Normalize Quats - const float quatLength = sqrtf(acWorldTransform.Orientation.i * acWorldTransform.Orientation.i + - acWorldTransform.Orientation.j * acWorldTransform.Orientation.j + - acWorldTransform.Orientation.k * acWorldTransform.Orientation.k + - acWorldTransform.Orientation.r * acWorldTransform.Orientation.r); + const float quatLength = sqrtf( + acWorldTransform.Orientation.i * acWorldTransform.Orientation.i + acWorldTransform.Orientation.j * acWorldTransform.Orientation.j + + acWorldTransform.Orientation.k * acWorldTransform.Orientation.k + acWorldTransform.Orientation.r * acWorldTransform.Orientation.r); if (quatLength != 0.0f) { transform.orientation.i = acWorldTransform.Orientation.i / quatLength; @@ -254,8 +239,8 @@ struct TEMP_Spawner RED4ext::DynArray> spawnedEntities; RED4ext::DynArray pendingEntities; RED4ext::DynArray unk30; - uint8_t unk40 = 0; // most likely a mutex - RED4ext::SharedMutex entitiesMtx; // used in DespawnEntity + uint8_t unk40 = 0; // most likely a mutex + RED4ext::SharedMutex entitiesMtx; // used in DespawnEntity RED4ext::SharedMutex pendingEntitiesMtx; // used in SpawnEntity uintptr_t unk48 = 0; uintptr_t unk50 = 0; @@ -312,8 +297,7 @@ struct TEMP_Spawner // if not set by user, use the default one from TweakDB RED4ext::CName defaultAppearance; - if (pTDB->TryGetValue(RED4ext::TweakDBID(acRecordDBID, ".appearanceName"), defaultAppearance) - && aSettings.appearance == "default") + if (pTDB->TryGetValue(RED4ext::TweakDBID(acRecordDBID, ".appearanceName"), defaultAppearance) && aSettings.appearance == "default") { // ... as long as it's not empty. if (!defaultAppearance.IsNone() && defaultAppearance != "") @@ -328,7 +312,7 @@ struct TEMP_Spawner void Despawn(const RED4ext::Handle& aEntity) { - using TFunc = void(*)(TEMP_Spawner*, RED4ext::IScriptable*); + using TFunc = void (*)(TEMP_Spawner*, RED4ext::IScriptable*); static GameCall func(CyberEngineTweaks::Addresses::gameIGameSystem_Despawn); func(this, aEntity.GetPtr()); } @@ -419,8 +403,7 @@ void CreateSingleton(const RED4ext::CName acTypeName) // This is kept for backward compatibility. // Use exEntitySpawner -void WorldFunctionalTests_SpawnEntity(RED4ext::IScriptable*, RED4ext::CStackFrame* apFrame, - RED4ext::ent::EntityID* apOut, int64_t) +void WorldFunctionalTests_SpawnEntity(RED4ext::IScriptable*, RED4ext::CStackFrame* apFrame, RED4ext::ent::EntityID* apOut, int64_t) { struct FunctionalTestsGameSystem { @@ -443,8 +426,7 @@ void WorldFunctionalTests_SpawnEntity(RED4ext::IScriptable*, RED4ext::CStackFram auto* pFunctionalSystem = reinterpret_cast(pGameInstance->GetInstance(pFunctionalType)); uint32_t oldSize = pFunctionalSystem->spawner.pendingEntities.size; - ExecuteFunction("WorldFunctionalTests", "Internal_SpawnEntity", nullptr, entityPath, worldTransform, - unknown); + ExecuteFunction("WorldFunctionalTests", "Internal_SpawnEntity", nullptr, entityPath, worldTransform, unknown); // if any entity was spawned uint32_t newSize = pFunctionalSystem->spawner.pendingEntities.size; @@ -509,19 +491,13 @@ struct exEntitySpawnerSystem : gameIGameSystem return pRTTI->GetClass(NATIVE_TYPE_STR); } - static void HOOK_OnInitialize(exEntitySpawnerSystem* apThis) - { - exEntitySpawner_Spawner.Initialize(apThis->gameInstance); - } + static void HOOK_OnInitialize(exEntitySpawnerSystem* apThis) { exEntitySpawner_Spawner.Initialize(apThis->gameInstance); } - static void HOOK_OnShutdown(exEntitySpawnerSystem*) - { - exEntitySpawner_Spawner.UnInitialize(); - } + static void HOOK_OnShutdown(exEntitySpawnerSystem*) { exEntitySpawner_Spawner.UnInitialize(); } static void SpawnCallback(TEMP_PendingEntity::Unk00& aUnk) { - using TFunc = void(*)(IScriptable*, RED4ext::ent::Entity*); + using TFunc = void (*)(IScriptable*, RED4ext::ent::Entity*); static GameCall func(CyberEngineTweaks::Addresses::gameIGameSystem_SpawnCallback); struct GameInstance_78_Unk @@ -671,8 +647,7 @@ void RTTIExtender::AddFunctionalTests() RED4ext::CBaseFunction::Flags flags{}; flags.isNative = true; - pFunction = RED4ext::CClassStaticFunction::Create(pClass, "SpawnEntity", "SpawnEntity", - WorldFunctionalTests_SpawnEntity, flags); + pFunction = RED4ext::CClassStaticFunction::Create(pClass, "SpawnEntity", "SpawnEntity", WorldFunctionalTests_SpawnEntity, flags); pFunction->AddParam("String", "entityPath"); pFunction->AddParam("WorldTransform", "worldTransform"); pFunction->AddParam("String", "unknown"); @@ -689,8 +664,7 @@ void RTTIExtender::AddFunctionalTests() RED4ext::CBaseFunction::Flags flags{}; flags.isNative = true; - pFunction = RED4ext::CClassStaticFunction::Create(pClass, "DespawnEntity", "DespawnEntity", - WorldFunctionalTests_DespawnEntity, flags); + pFunction = RED4ext::CClassStaticFunction::Create(pClass, "DespawnEntity", "DespawnEntity", WorldFunctionalTests_DespawnEntity, flags); pFunction->AddParam("handle:entEntity", "entity"); pClass->RegisterFunction(pFunction); } @@ -711,8 +685,7 @@ void RTTIExtender::AddEntitySpawner() // ------------- - pFunction = RED4ext::CClassStaticFunction::Create(pClass, "Spawn", "Spawn", - exEntitySpawnerSystem::Spawn, flags); + pFunction = RED4ext::CClassStaticFunction::Create(pClass, "Spawn", "Spawn", exEntitySpawnerSystem::Spawn, flags); pFunction->AddParam("raRef:CResource", "entityPath"); pFunction->AddParam("WorldTransform", "worldTransform"); pFunction->AddParam("CName", "appearance", false, true); @@ -722,8 +695,7 @@ void RTTIExtender::AddEntitySpawner() // ------------- - pFunction = RED4ext::CClassStaticFunction::Create(pClass, "SpawnRecord", "SpawnRecord", - exEntitySpawnerSystem::SpawnRecord, flags); + pFunction = RED4ext::CClassStaticFunction::Create(pClass, "SpawnRecord", "SpawnRecord", exEntitySpawnerSystem::SpawnRecord, flags); pFunction->AddParam("TweakDBID", "recordID"); pFunction->AddParam("WorldTransform", "worldTransform"); pFunction->AddParam("CName", "appearance", false, true); @@ -732,8 +704,7 @@ void RTTIExtender::AddEntitySpawner() // ------------- - pFunction = RED4ext::CClassStaticFunction::Create(pClass, "Despawn", "Despawn", - exEntitySpawnerSystem::Despawn, flags); + pFunction = RED4ext::CClassStaticFunction::Create(pClass, "Despawn", "Despawn", exEntitySpawnerSystem::Despawn, flags); pFunction->AddParam("handle:entEntity", "entity"); pClass->RegisterFunction(pFunction); } diff --git a/src/reverse/RTTIHelper.cpp b/src/reverse/RTTIHelper.cpp index 0de59628..7f601b04 100644 --- a/src/reverse/RTTIHelper.cpp +++ b/src/reverse/RTTIHelper.cpp @@ -16,13 +16,12 @@ constexpr bool s_cEnableOverloads = true; constexpr bool s_cLogAllOverloadVariants = true; constexpr bool s_cThrowLuaErrors = true; -std::unique_ptr s_pInstance{ nullptr }; +std::unique_ptr s_pInstance{nullptr}; -using TCallScriptFunction = bool (*)(RED4ext::IFunction* apFunction, RED4ext::IScriptable* apContext, - RED4ext::CStackFrame* apFrame, void* apResult, void* apResultType); +using TCallScriptFunction = bool (*)(RED4ext::IFunction* apFunction, RED4ext::IScriptable* apContext, RED4ext::CStackFrame* apFrame, void* apResult, void* apResultType); RED4ext::RelocFunc CallScriptFunction(RED4ext::Addresses::CBaseFunction_InternalExecute); -} +} // namespace void RTTIHelper::Initialize(const LockableState& acLua, LuaSandbox& apSandbox) { @@ -65,7 +64,6 @@ void RTTIHelper::InitializeRTTI() { m_pRtti = RED4ext::CRTTISystem::Get(); m_pGameInstanceType = m_pRtti->GetClass(RED4ext::FNV1a64("ScriptGameInstance")); - } void RTTIHelper::InitializeRuntime() @@ -82,23 +80,25 @@ void RTTIHelper::InitializeRuntime() void RTTIHelper::ParseGlobalStatics() { - m_pRtti->funcs.for_each([this](RED4ext::CName aOrigName, RED4ext::CGlobalFunction* apFunc) { - const std::string cOrigName = aOrigName.ToString(); - const auto cClassSep = cOrigName.find("::"); - - if (cClassSep != std::string::npos) + m_pRtti->funcs.for_each( + [this](RED4ext::CName aOrigName, RED4ext::CGlobalFunction* apFunc) { - const auto cClassName = cOrigName.substr(0, cClassSep); - const auto cFullName = cOrigName.substr(cClassSep + 2); + const std::string cOrigName = aOrigName.ToString(); + const auto cClassSep = cOrigName.find("::"); - const auto cClassHash = RED4ext::FNV1a64(cClassName.c_str()); - const auto cFullHash = RED4ext::FNV1a64(cFullName.c_str()); + if (cClassSep != std::string::npos) + { + const auto cClassName = cOrigName.substr(0, cClassSep); + const auto cFullName = cOrigName.substr(cClassSep + 2); - if (!m_extendedFunctions.contains(cClassHash)) - m_extendedFunctions.emplace(cClassHash, 0); + const auto cClassHash = RED4ext::FNV1a64(cClassName.c_str()); + const auto cFullHash = RED4ext::FNV1a64(cFullName.c_str()); - m_extendedFunctions.at(cClassHash).emplace(cFullHash, apFunc); - } + if (!m_extendedFunctions.contains(cClassHash)) + m_extendedFunctions.emplace(cClassHash, 0); + + m_extendedFunctions.at(cClassHash).emplace(cFullHash, apFunc); + } }); } @@ -119,8 +119,7 @@ void RTTIHelper::AddFunctionAlias(const std::string&, const std::string& acOrigC } } -void RTTIHelper::AddFunctionAlias(const std::string& acAliasClassName, const std::string&, - const std::string& acOrigClassName, const std::string& acOrigFuncName) +void RTTIHelper::AddFunctionAlias(const std::string& acAliasClassName, const std::string&, const std::string& acOrigClassName, const std::string& acOrigFuncName) { auto* pClass = m_pRtti->GetClass(RED4ext::FNV1a64(acOrigClassName.c_str())); if (pClass) @@ -260,11 +259,13 @@ RED4ext::CBaseFunction* RTTIHelper::FindFunction(RED4ext::CClass* apClass, const // Find all global functions matching short name std::map RTTIHelper::FindFunctions(const uint64_t acShortNameHash) const { - std::map results{ }; + std::map results{}; - m_pRtti->funcs.for_each([&results, &acShortNameHash](RED4ext::CName aFullName, RED4ext::CGlobalFunction* apFunction) { - if (apFunction->shortName.hash == acShortNameHash) - results.emplace(aFullName.hash, apFunction); + m_pRtti->funcs.for_each( + [&results, &acShortNameHash](RED4ext::CName aFullName, RED4ext::CGlobalFunction* apFunction) + { + if (apFunction->shortName.hash == acShortNameHash) + results.emplace(aFullName.hash, apFunction); }); if (m_extendedFunctions.contains(kGlobalHash)) @@ -284,7 +285,7 @@ std::map RTTIHelper::FindFunctions(const uint // Find all class functions matching short name std::map RTTIHelper::FindFunctions(RED4ext::CClass* apClass, const uint64_t acShortNameHash, bool aIsMember) const { - std::map results{ }; + std::map results{}; while (apClass != nullptr) { @@ -434,29 +435,32 @@ sol::function RTTIHelper::MakeInvokableFunction(RED4ext::CBaseFunction* apFunc) const bool cAllowNull = IsFunctionAlias(apFunc); - return MakeSolFunction(luaState, [this, apFunc, cAllowNull](sol::variadic_args aArgs, sol::this_state aState, sol::this_environment aEnv) -> sol::variadic_results { - uint64_t argOffset = 0; - const auto pHandle = ResolveHandle(apFunc, aArgs, argOffset); + return MakeSolFunction( + luaState, + [this, apFunc, cAllowNull](sol::variadic_args aArgs, sol::this_state aState, sol::this_environment aEnv) -> sol::variadic_results + { + uint64_t argOffset = 0; + const auto pHandle = ResolveHandle(apFunc, aArgs, argOffset); - std::string errorMessage; - auto result = ExecuteFunction(apFunc, pHandle, aArgs, argOffset, errorMessage, cAllowNull); + std::string errorMessage; + auto result = ExecuteFunction(apFunc, pHandle, aArgs, argOffset, errorMessage, cAllowNull); - if (!errorMessage.empty()) - { - if constexpr (s_cThrowLuaErrors) + if (!errorMessage.empty()) { - luaL_error(aState, errorMessage.c_str()); - } - else - { - const sol::environment cEnv = aEnv; - auto logger = cEnv["__logger"].get>(); - logger->error("Error: {}", errorMessage); + if constexpr (s_cThrowLuaErrors) + { + luaL_error(aState, errorMessage.c_str()); + } + else + { + const sol::environment cEnv = aEnv; + auto logger = cEnv["__logger"].get>(); + logger->error("Error: {}", errorMessage); + } } - } - return result; - }); + return result; + }); } sol::function RTTIHelper::MakeInvokableOverload(std::map aOverloadedFuncs) const @@ -469,65 +473,67 @@ sol::function RTTIHelper::MakeInvokableOverload(std::map sol::variadic_results { - for (auto variant = variants.begin(); variant != variants.end(); ++variant) + return MakeSolFunction( + luaState, + [this, variants](sol::variadic_args aArgs, sol::this_state aState, sol::this_environment aEnv) mutable -> sol::variadic_results { - variant->lastError.clear(); + for (auto variant = variants.begin(); variant != variants.end(); ++variant) + { + variant->lastError.clear(); - uint64_t argOffset = 0; - const auto pHandle = ResolveHandle(variant->func, aArgs, argOffset); + uint64_t argOffset = 0; + const auto pHandle = ResolveHandle(variant->func, aArgs, argOffset); - auto result = ExecuteFunction(variant->func, pHandle, aArgs, argOffset, variant->lastError); + auto result = ExecuteFunction(variant->func, pHandle, aArgs, argOffset, variant->lastError); - if (variant->lastError.empty()) - { - if (variant->totalCalls < kTrackedOverloadCalls) + if (variant->lastError.empty()) { - ++variant->totalCalls; - - if (variant != variants.begin()) + if (variant->totalCalls < kTrackedOverloadCalls) { - const auto previous = variant - 1; + ++variant->totalCalls; - if (variant->totalCalls > previous->totalCalls) - std::iter_swap(previous, variant); + if (variant != variants.begin()) + { + const auto previous = variant - 1; + + if (variant->totalCalls > previous->totalCalls) + std::iter_swap(previous, variant); + } } - } - return result; + return result; + } } - } - if constexpr (s_cLogAllOverloadVariants) - { - const sol::environment cEnv = aEnv; - const auto logger = cEnv["__logger"].get>(); + if constexpr (s_cLogAllOverloadVariants) + { + const sol::environment cEnv = aEnv; + const auto logger = cEnv["__logger"].get>(); - for (auto& variant : variants) - logger->info("{}: {}", variant.func->fullName.ToString(), variant.lastError); + for (auto& variant : variants) + logger->info("{}: {}", variant.func->fullName.ToString(), variant.lastError); - logger->flush(); - } + logger->flush(); + } - std::string errorMessage = fmt::format("No matching overload of '{}' function.", variants.begin()->func->shortName.ToString()); + std::string errorMessage = fmt::format("No matching overload of '{}' function.", variants.begin()->func->shortName.ToString()); - if constexpr (s_cThrowLuaErrors) - { - luaL_error(aState, errorMessage.c_str()); - } - else - { - const sol::environment cEnv = aEnv; - auto logger = cEnv["__logger"].get>(); - logger->error("Error: {}", errorMessage); - } + if constexpr (s_cThrowLuaErrors) + { + luaL_error(aState, errorMessage.c_str()); + } + else + { + const sol::environment cEnv = aEnv; + auto logger = cEnv["__logger"].get>(); + logger->error("Error: {}", errorMessage); + } - return {}; - }); + return {}; + }); } -RED4ext::IScriptable* RTTIHelper::ResolveHandle(RED4ext::CBaseFunction* apFunc, sol::variadic_args& aArgs, - uint64_t& aArgOffset) const +RED4ext::IScriptable* RTTIHelper::ResolveHandle(RED4ext::CBaseFunction* apFunc, sol::variadic_args& aArgs, uint64_t& aArgOffset) const { // Case 1: obj:Member() -- Skip the first arg and pass it as a handle // Case 2: obj:Static() -- Pass args as is, including the implicit self @@ -582,9 +588,8 @@ RED4ext::IScriptable* RTTIHelper::ResolveHandle(RED4ext::CBaseFunction* apFunc, return pHandle; } -sol::variadic_results RTTIHelper::ExecuteFunction(RED4ext::CBaseFunction* apFunc, RED4ext::IScriptable* apContext, - sol::variadic_args aLuaArgs, uint64_t aLuaArgOffset, - std::string& aErrorMessage, bool aAllowNull) const +sol::variadic_results RTTIHelper::ExecuteFunction( + RED4ext::CBaseFunction* apFunc, RED4ext::IScriptable* apContext, sol::variadic_args aLuaArgs, uint64_t aLuaArgOffset, std::string& aErrorMessage, bool aAllowNull) const { static thread_local TiltedPhoques::ScratchAllocator s_scratchMemory(1 << 14); static thread_local uint32_t s_callDepth = 0u; @@ -605,9 +610,7 @@ sol::variadic_results RTTIHelper::ExecuteFunction(RED4ext::CBaseFunction* apFunc if (!apFunc->flags.isStatic && !apContext && !aAllowNull) { - aErrorMessage = fmt::format("Function '{}' context must be '{}'.", - apFunc->shortName.ToString(), - apFunc->GetParent()->name.ToString()); + aErrorMessage = fmt::format("Function '{}' context must be '{}'.", apFunc->shortName.ToString(), apFunc->GetParent()->name.ToString()); return {}; } @@ -641,12 +644,14 @@ sol::variadic_results RTTIHelper::ExecuteFunction(RED4ext::CBaseFunction* apFunc // Allocator management ++s_callDepth; - ScopeGuard allocatorGuard([&]{ - --s_callDepth; + ScopeGuard allocatorGuard( + [&] + { + --s_callDepth; - if (s_callDepth == 0u) - s_scratchMemory.Reset(); - }); + if (s_callDepth == 0u) + s_scratchMemory.Reset(); + }); auto pAllocator = TiltedPhoques::Allocator::Get(); TiltedPhoques::Allocator::Set(&s_scratchMemory); @@ -657,14 +662,16 @@ sol::variadic_results RTTIHelper::ExecuteFunction(RED4ext::CBaseFunction* apFunc uint32_t callArgOffset = 0u; - ScopeGuard argsGuard([&]{ - for (auto j = 0u; j < callArgOffset; ++j) + ScopeGuard argsGuard( + [&] { - const bool isNew = argNeedsFree[j]; + for (auto j = 0u; j < callArgOffset; ++j) + { + const bool isNew = argNeedsFree[j]; - FreeInstance(callArgs[j], !isNew, isNew, &s_scratchMemory); - } - }); + FreeInstance(callArgs[j], !isNew, isNew, &s_scratchMemory); + } + }); for (auto i = 0u; i < apFunc->params.size; ++i) { @@ -684,7 +691,7 @@ sol::variadic_results RTTIHelper::ExecuteFunction(RED4ext::CBaseFunction* apFunc argNeedsFree[callArgOffset] = true; // But ToRED conversion is necessary for implementing required out params. - //callArgs[callArgOffset] = Scripting::ToRED(sol::nil, cpParam->type, &s_scratchMemory); + // callArgs[callArgOffset] = Scripting::ToRED(sol::nil, cpParam->type, &s_scratchMemory); } else if (cpParam->flags.isOptional) { @@ -726,7 +733,7 @@ sol::variadic_results RTTIHelper::ExecuteFunction(RED4ext::CBaseFunction* apFunc const bool hasReturnType = apFunc->returnType != nullptr && apFunc->returnType->type != nullptr; - uint8_t buffer[1000]{ 0 }; + uint8_t buffer[1000]{0}; RED4ext::CStackType result; if (hasReturnType) @@ -750,11 +757,12 @@ sol::variadic_results RTTIHelper::ExecuteFunction(RED4ext::CBaseFunction* apFunc if (hasReturnType) { - // There is a special case when a non-native function returns a specific class or something that holds that class, - // which leads to another memory leak. So far the only known class that is causing the issue is gameTargetSearchFilter. - // When it returned by a non-native function it is wrapped in the Variant or similar structure. To prevent the leak - // the underlying value must be unwrapped and the wrapper explicitly destroyed. The workaround has been proven to work, - // but it seems too much for only one known case, so it is not included for now. + // There is a special case when a non-native function returns a specific class or something that holds that + // class, which leads to another memory leak. So far the only known class that is causing the issue is + // gameTargetSearchFilter. When it returned by a non-native function it is wrapped in the Variant or similar + // structure. To prevent the leak the underlying value must be unwrapped and the wrapper explicitly destroyed. + // The workaround has been proven to work, but it seems too much for only one known case, so it is not included + // for now. results.emplace_back(Scripting::ToLua(lockedState, result)); FreeInstance(result, false, false, &s_scratchMemory); @@ -771,8 +779,8 @@ sol::variadic_results RTTIHelper::ExecuteFunction(RED4ext::CBaseFunction* apFunc return results; } -bool RTTIHelper::ExecuteFunction(RED4ext::CBaseFunction* apFunc, RED4ext::IScriptable* apContext, - TiltedPhoques::Vector& aArgs, RED4ext::CStackType& aResult) const +bool RTTIHelper::ExecuteFunction( + RED4ext::CBaseFunction* apFunc, RED4ext::IScriptable* apContext, TiltedPhoques::Vector& aArgs, RED4ext::CStackType& aResult) const { constexpr auto NopOp = 0; constexpr auto ParamOp = 27; @@ -818,8 +826,7 @@ bool RTTIHelper::ExecuteFunction(RED4ext::CBaseFunction* apFunc, RED4ext::IScrip return CallScriptFunction(apFunc, apContext ? apContext : m_pPlayerSystem, &frame, aResult.value, aResult.type); } -RED4ext::ScriptInstance RTTIHelper::NewPlaceholder(RED4ext::CBaseRTTIType* apType, - TiltedPhoques::Allocator* apAllocator) const +RED4ext::ScriptInstance RTTIHelper::NewPlaceholder(RED4ext::CBaseRTTIType* apType, TiltedPhoques::Allocator* apAllocator) const { auto* pMemory = apAllocator->Allocate(apType->GetSize()); memset(pMemory, 0, apType->GetSize()); @@ -828,8 +835,7 @@ RED4ext::ScriptInstance RTTIHelper::NewPlaceholder(RED4ext::CBaseRTTIType* apTyp return pMemory; } -RED4ext::ScriptInstance RTTIHelper::NewInstance(RED4ext::CBaseRTTIType* apType, sol::optional aProps, - TiltedPhoques::Allocator* apAllocator) const +RED4ext::ScriptInstance RTTIHelper::NewInstance(RED4ext::CBaseRTTIType* apType, sol::optional aProps, TiltedPhoques::Allocator* apAllocator) const { if (!m_pRtti) return nullptr; @@ -968,10 +974,7 @@ void RTTIHelper::SetProperty(RED4ext::CClass* apClass, RED4ext::ScriptInstance a static thread_local TiltedPhoques::ScratchAllocator s_scratchMemory(1 << 13); struct ResetAllocator { - ~ResetAllocator() - { - s_scratchMemory.Reset(); - } + ~ResetAllocator() { s_scratchMemory.Reset(); } }; ResetAllocator ___allocatorReset; @@ -1003,8 +1006,7 @@ bool RTTIHelper::IsClassReferenceType(RED4ext::CClass* apClass) const static constexpr auto s_cHashQuaternion = RED4ext::FNV1a64("Quaternion"); static constexpr auto s_cHashItemID = RED4ext::FNV1a64("gameItemID"); - return apClass->name.hash != s_cHashVector3 && apClass->name.hash != s_cHashVector4 && - apClass->name.hash != s_cHashEulerAngles && apClass->name.hash != s_cHashQuaternion && + return apClass->name.hash != s_cHashVector3 && apClass->name.hash != s_cHashVector4 && apClass->name.hash != s_cHashEulerAngles && apClass->name.hash != s_cHashQuaternion && apClass->name.hash != s_cHashItemID; } diff --git a/src/reverse/RTTIHelper.h b/src/reverse/RTTIHelper.h index 8880503e..73c4038f 100644 --- a/src/reverse/RTTIHelper.h +++ b/src/reverse/RTTIHelper.h @@ -12,19 +12,17 @@ struct RTTIHelper ~RTTIHelper() = default; void AddFunctionAlias(const std::string& acAliasFuncName, const std::string& acOrigClassName, const std::string& acOrigFuncName); - void AddFunctionAlias(const std::string& acAliasClassName, const std::string& acAliasFuncName, - const std::string& acOrigClassName, const std::string& acOrigFuncName); + void AddFunctionAlias(const std::string& acAliasClassName, const std::string& acAliasFuncName, const std::string& acOrigClassName, const std::string& acOrigFuncName); sol::function ResolveFunction(const std::string& acFuncName); sol::function ResolveFunction(RED4ext::CClass* apClass, const std::string& acFuncName, bool aIsMember); RED4ext::IScriptable* ResolveHandle(RED4ext::CBaseFunction* apFunc, sol::variadic_args& aArgs, uint64_t& aArgOffset) const; - sol::variadic_results ExecuteFunction(RED4ext::CBaseFunction* apFunc, RED4ext::IScriptable* apContext, - sol::variadic_args aLuaArgs, uint64_t aLuaArgOffset, - std::string& aErrorMessage, bool aAllowNull = false) const; + sol::variadic_results ExecuteFunction( + RED4ext::CBaseFunction* apFunc, RED4ext::IScriptable* apContext, sol::variadic_args aLuaArgs, uint64_t aLuaArgOffset, std::string& aErrorMessage, + bool aAllowNull = false) const; - RED4ext::ScriptInstance NewInstance(RED4ext::CBaseRTTIType* apType, sol::optional aProps, - TiltedPhoques::Allocator* apAllocator) const; + RED4ext::ScriptInstance NewInstance(RED4ext::CBaseRTTIType* apType, sol::optional aProps, TiltedPhoques::Allocator* apAllocator) const; sol::object NewInstance(RED4ext::CBaseRTTIType* apType, sol::optional aProps) const; sol::object NewHandle(RED4ext::CBaseRTTIType* apType, sol::optional aProps) const; @@ -43,7 +41,6 @@ struct RTTIHelper static RTTIHelper& Get(); private: - RTTIHelper(const LockableState& acLua, LuaSandbox& apSandbox); void InitializeRTTI(); @@ -63,11 +60,9 @@ struct RTTIHelper RED4ext::ScriptInstance NewPlaceholder(RED4ext::CBaseRTTIType* apType, TiltedPhoques::Allocator* apAllocator) const; bool IsClassReferenceType(RED4ext::CClass* apClass) const; void FreeInstance(RED4ext::CStackType& aStackType, bool aOwnValue, bool aNewValue, TiltedPhoques::Allocator* apAllocator) const; - void FreeInstance(RED4ext::CBaseRTTIType* apType, void* apValue, bool aOwnValue, bool aNewValue, - TiltedPhoques::Allocator* apAllocator) const; + void FreeInstance(RED4ext::CBaseRTTIType* apType, void* apValue, bool aOwnValue, bool aNewValue, TiltedPhoques::Allocator* apAllocator) const; - bool ExecuteFunction(RED4ext::CBaseFunction* apFunc, RED4ext::IScriptable* apContext, - TiltedPhoques::Vector& aArgs, RED4ext::CStackType& aResult) const; + bool ExecuteFunction(RED4ext::CBaseFunction* apFunc, RED4ext::IScriptable* apContext, TiltedPhoques::Vector& aArgs, RED4ext::CStackType& aResult) const; enum { @@ -85,10 +80,10 @@ struct RTTIHelper }; LockableState m_lua; - RED4ext::CRTTISystem* m_pRtti{ nullptr }; - RED4ext::CClass* m_pGameInstanceType{ nullptr }; - ScriptGameInstance* m_pGameInstance{ nullptr }; - RED4ext::IScriptable* m_pPlayerSystem{ nullptr }; + RED4ext::CRTTISystem* m_pRtti{nullptr}; + RED4ext::CClass* m_pGameInstanceType{nullptr}; + ScriptGameInstance* m_pGameInstance{nullptr}; + RED4ext::IScriptable* m_pPlayerSystem{nullptr}; RedFunctionMap m_extendedFunctions; LuaFunctionMap m_resolvedFunctions[2]; LuaSandbox& m_sandbox; diff --git a/src/reverse/RTTILocator.cpp b/src/reverse/RTTILocator.cpp index 375323b3..a4d01457 100644 --- a/src/reverse/RTTILocator.cpp +++ b/src/reverse/RTTILocator.cpp @@ -2,13 +2,12 @@ #include "RTTILocator.h" - RTTILocator::RTTILocator(RED4ext::CName aName) : m_name(aName) { } -RTTILocator::operator RED4ext::CBaseRTTIType *() +RTTILocator::operator RED4ext::CBaseRTTIType*() { if (m_pRtti) return m_pRtti; diff --git a/src/reverse/RTTILocator.h b/src/reverse/RTTILocator.h index 9c237672..50831040 100644 --- a/src/reverse/RTTILocator.h +++ b/src/reverse/RTTILocator.h @@ -7,7 +7,6 @@ struct RTTILocator operator RED4ext::CBaseRTTIType*(); private: - const RED4ext::CName m_name; RED4ext::CBaseRTTIType* m_pRtti = nullptr; }; diff --git a/src/reverse/RTTIMapper.cpp b/src/reverse/RTTIMapper.cpp index ac5f8f67..be69e55e 100644 --- a/src/reverse/RTTIMapper.cpp +++ b/src/reverse/RTTIMapper.cpp @@ -50,12 +50,12 @@ void RTTIMapper::Refresh() void RTTIMapper::RegisterSimpleTypes(sol::state& aLuaState, sol::table& aLuaGlobal) const { - aLuaGlobal.new_usertype("Variant", - sol::meta_function::construct, sol::no_constructor); + aLuaGlobal.new_usertype("Variant", sol::meta_function::construct, sol::no_constructor); MakeSolUsertypeImmutable(aLuaGlobal["Variant"], aLuaState); aLuaGlobal["ToVariant"] = sol::overload( - [](const Type& aInstance, sol::this_state aState) -> sol::object { + [](const Type& aInstance, sol::this_state aState) -> sol::object + { const auto* pType = aInstance.GetType(); auto* pValue = aInstance.GetValuePtr(); @@ -67,14 +67,16 @@ void RTTIMapper::RegisterSimpleTypes(sol::state& aLuaState, sol::table& aLuaGlob return {aState, sol::in_place, Variant(pType, pValue)}; }, - [](const Enum& aEnum, sol::this_state aState) -> sol::object { + [](const Enum& aEnum, sol::this_state aState) -> sol::object + { RED4ext::CStackType data; data.type = const_cast(aEnum.GetType()); data.value = const_cast(aEnum.GetValuePtr()); return {aState, sol::in_place, Variant(data)}; }, - [](sol::object aValue, const std::string& aTypeName, sol::this_state aState) -> sol::object { + [](sol::object aValue, const std::string& aTypeName, sol::this_state aState) -> sol::object + { auto* pType = RED4ext::CRTTISystem::Get()->GetType(aTypeName.c_str()); if (!pType) @@ -90,7 +92,8 @@ void RTTIMapper::RegisterSimpleTypes(sol::state& aLuaState, sol::table& aLuaGlob return {aState, sol::in_place, std::move(variant)}; }, - [](sol::object aValue, sol::this_state aState) -> sol::object { + [](sol::object aValue, sol::this_state aState) -> sol::object + { const RED4ext::CName typeName = TryResolveTypeName(aValue); if (typeName.IsNone()) @@ -113,10 +116,10 @@ void RTTIMapper::RegisterSimpleTypes(sol::state& aLuaState, sol::table& aLuaGlob Scripting::ToRED(aValue, data); return {aState, sol::in_place, std::move(variant)}; - } - ); + }); - aLuaGlobal["FromVariant"] = [this](const Variant& aVariant) -> sol::object { + aLuaGlobal["FromVariant"] = [this](const Variant& aVariant) -> sol::object + { if (aVariant.IsEmpty()) return sol::nil; @@ -136,77 +139,75 @@ void RTTIMapper::RegisterDirectTypes(sol::state& aLuaState, sol::table& aLuaGlob if (!reinit) { - aLuaGlobal.new_usertype("EnumStatic", - sol::meta_function::construct, sol::no_constructor, - sol::base_classes, sol::bases(), - sol::meta_function::index, &EnumStatic::Index, + aLuaGlobal.new_usertype( + "EnumStatic", sol::meta_function::construct, sol::no_constructor, sol::base_classes, sol::bases(), sol::meta_function::index, &EnumStatic::Index, sol::meta_function::new_index, &EnumStatic::NewIndex); MakeSolUsertypeImmutable(aLuaGlobal["EnumStatic"], aLuaState); - aLuaGlobal.new_usertype("ClassStatic", - sol::meta_function::construct, sol::no_constructor, - sol::base_classes, sol::bases(), - sol::meta_function::index, &ClassStatic::Index, - sol::meta_function::new_index, &ClassStatic::NewIndex, - "new", property(&ClassStatic::GetFactory)); + aLuaGlobal.new_usertype( + "ClassStatic", sol::meta_function::construct, sol::no_constructor, sol::base_classes, sol::bases(), sol::meta_function::index, &ClassStatic::Index, + sol::meta_function::new_index, &ClassStatic::NewIndex, "new", property(&ClassStatic::GetFactory)); MakeSolUsertypeImmutable(aLuaGlobal["ClassStatic"], aLuaState); } - apRtti->types.for_each([&](RED4ext::CName aTypeName, RED4ext::CBaseRTTIType* apType) { - std::string typeName = aTypeName.ToString(); - SanitizeName(typeName); + apRtti->types.for_each( + [&](RED4ext::CName aTypeName, RED4ext::CBaseRTTIType* apType) + { + std::string typeName = aTypeName.ToString(); + SanitizeName(typeName); - if (reinit && aLuaGlobal[typeName] != sol::nil) - return; + if (reinit && aLuaGlobal[typeName] != sol::nil) + return; - switch (apType->GetType()) - { - case RED4ext::ERTTIType::Enum: - { - auto luaEnum = make_object(aLuaState, EnumStatic(m_lua, apType)); + switch (apType->GetType()) + { + case RED4ext::ERTTIType::Enum: + { + auto luaEnum = make_object(aLuaState, EnumStatic(m_lua, apType)); - MakeSolUsertypeImmutable(luaEnum, aLuaState); + MakeSolUsertypeImmutable(luaEnum, aLuaState); - aLuaGlobal[typeName] = luaEnum; - break; - } - case RED4ext::ERTTIType::Class: - { - auto luaClass = make_object(aLuaState, ClassStatic(m_lua, apType)); + aLuaGlobal[typeName] = luaEnum; + break; + } + case RED4ext::ERTTIType::Class: + { + auto luaClass = make_object(aLuaState, ClassStatic(m_lua, apType)); - MakeSolUsertypeImmutable(luaClass, aLuaState); + MakeSolUsertypeImmutable(luaClass, aLuaState); - aLuaGlobal[typeName] = luaClass; - break; - } - } + aLuaGlobal[typeName] = luaClass; + break; + } + } }); } void RTTIMapper::RegisterDirectGlobals(sol::table& aLuaGlobal, RED4ext::CRTTISystem* apRtti) { - apRtti->funcs.for_each([&aLuaGlobal](RED4ext::CName, RED4ext::CGlobalFunction* apFunc) { - const std::string cShortName = apFunc->shortName.ToString(); - - if (aLuaGlobal[cShortName] == sol::nil && !apFunc->flags.isExec) + apRtti->funcs.for_each( + [&aLuaGlobal](RED4ext::CName, RED4ext::CGlobalFunction* apFunc) { - const std::string cFullName = apFunc->fullName.ToString(); - const auto cIsClassFunc = cFullName.find("::") != std::string::npos; - const auto cIsOperatorFunc = cShortName.find(';') != std::string::npos; + const std::string cShortName = apFunc->shortName.ToString(); - if (!cIsClassFunc && !cIsOperatorFunc) + if (aLuaGlobal[cShortName] == sol::nil && !apFunc->flags.isExec) { - aLuaGlobal[cShortName] = RTTIHelper::Get().ResolveFunction(cShortName); + const std::string cFullName = apFunc->fullName.ToString(); + const auto cIsClassFunc = cFullName.find("::") != std::string::npos; + const auto cIsOperatorFunc = cShortName.find(';') != std::string::npos; + + if (!cIsClassFunc && !cIsOperatorFunc) + { + aLuaGlobal[cShortName] = RTTIHelper::Get().ResolveFunction(cShortName); + } } - } }); } void RTTIMapper::RegisterScriptAliases(sol::table& aLuaGlobal, RED4ext::CRTTISystem* apRtti) { - apRtti->scriptToNative.for_each([&aLuaGlobal](RED4ext::CName aScriptName, RED4ext::CName aNativeName) { - aLuaGlobal[aScriptName.ToString()] = aLuaGlobal[aNativeName.ToString()]; - }); + apRtti->scriptToNative.for_each([&aLuaGlobal](RED4ext::CName aScriptName, RED4ext::CName aNativeName) + { aLuaGlobal[aScriptName.ToString()] = aLuaGlobal[aNativeName.ToString()]; }); } void RTTIMapper::RegisterSpecialAccessors(sol::state& aLuaState, sol::table& aLuaGlobal) const @@ -226,11 +227,11 @@ void RTTIMapper::RegisterSpecialAccessors(sol::state& aLuaState, sol::table& aLu aLuaGlobal["Vector3"] = aLuaState["Vector3"]; } -template -void RTTIMapper::ExtendUsertype(const std::string acTypeName, sol::state& aLuaState, sol::table& aLuaGlobal) const +template void RTTIMapper::ExtendUsertype(const std::string acTypeName, sol::state& aLuaState, sol::table& aLuaGlobal) const { auto& classStatic = aLuaGlobal.get(acTypeName); - auto classIndexer = [&classStatic](const sol::object&, const std::string& acName, sol::this_environment aEnv) { + auto classIndexer = [&classStatic](const sol::object&, const std::string& acName, sol::this_environment aEnv) + { return classStatic.Index(acName, aEnv); }; @@ -254,11 +255,9 @@ RED4ext::CName RTTIMapper::TryResolveTypeName(sol::object aValue) switch (aValue.get_type()) { - case sol::type::string: - return "String"; + case sol::type::string: return "String"; - case sol::type::boolean: - return "Bool"; + case sol::type::boolean: return "Bool"; case sol::type::userdata: { diff --git a/src/reverse/RTTIMapper.h b/src/reverse/RTTIMapper.h index 7c29f1cb..a6c07e88 100644 --- a/src/reverse/RTTIMapper.h +++ b/src/reverse/RTTIMapper.h @@ -15,7 +15,6 @@ struct RTTIMapper static RED4ext::CName TryResolveTypeName(sol::object aValue); private: - struct FuncFlags { uint32_t isNative : 1; // 00 @@ -44,8 +43,7 @@ struct RTTIMapper void RegisterScriptAliases(sol::table& aLuaGlobal, RED4ext::CRTTISystem* apRtti); void RegisterSpecialAccessors(sol::state& aLuaState, sol::table& aLuaGlobal) const; - template - void ExtendUsertype(const std::string acTypeName, sol::state& aLuaState, sol::table& aLuaGlobal) const; + template void ExtendUsertype(const std::string acTypeName, sol::state& aLuaState, sol::table& aLuaGlobal) const; LockableState m_lua; LuaSandbox& m_sandbox; diff --git a/src/reverse/ResourceAsyncReference.cpp b/src/reverse/ResourceAsyncReference.cpp index 5860ecde..5c597a05 100644 --- a/src/reverse/ResourceAsyncReference.cpp +++ b/src/reverse/ResourceAsyncReference.cpp @@ -4,9 +4,8 @@ #include "RTTILocator.h" #include "Converter.h" -ResourceAsyncReference::ResourceAsyncReference(const TiltedPhoques::Locked& aView, - RED4ext::CBaseRTTIType* apType, - RED4ext::ResourceAsyncReference* apReference) +ResourceAsyncReference::ResourceAsyncReference( + const TiltedPhoques::Locked& aView, RED4ext::CBaseRTTIType* apType, RED4ext::ResourceAsyncReference* apReference) : ClassType(aView, reinterpret_cast(apType)->innerType) , m_reference(*apReference) { diff --git a/src/reverse/ResourceAsyncReference.h b/src/reverse/ResourceAsyncReference.h index 900e9186..a0e223bd 100644 --- a/src/reverse/ResourceAsyncReference.h +++ b/src/reverse/ResourceAsyncReference.h @@ -4,8 +4,8 @@ struct ResourceAsyncReference : ClassType { - ResourceAsyncReference(const TiltedPhoques::Locked& aView, - RED4ext::CBaseRTTIType* apType, RED4ext::ResourceAsyncReference* apReference); + ResourceAsyncReference( + const TiltedPhoques::Locked& aView, RED4ext::CBaseRTTIType* apType, RED4ext::ResourceAsyncReference* apReference); static uint64_t Hash(const std::string& aPath); diff --git a/src/reverse/SingletonReference.cpp b/src/reverse/SingletonReference.cpp index 148a9456..3f31c0c0 100644 --- a/src/reverse/SingletonReference.cpp +++ b/src/reverse/SingletonReference.cpp @@ -2,8 +2,7 @@ #include "SingletonReference.h" -SingletonReference::SingletonReference(const TiltedPhoques::Lockable::Ref& aView, - RED4ext::CBaseRTTIType* apClass) +SingletonReference::SingletonReference(const TiltedPhoques::Lockable::Ref& aView, RED4ext::CBaseRTTIType* apClass) : ClassType(aView, apClass) { } diff --git a/src/reverse/SingletonReference.h b/src/reverse/SingletonReference.h index 8c924164..8e89b791 100644 --- a/src/reverse/SingletonReference.h +++ b/src/reverse/SingletonReference.h @@ -4,8 +4,7 @@ struct SingletonReference : ClassType { - SingletonReference(const TiltedPhoques::Lockable::Ref& aView, - RED4ext::CBaseRTTIType* apClass); + SingletonReference(const TiltedPhoques::Lockable::Ref& aView, RED4ext::CBaseRTTIType* apClass); ~SingletonReference() override; protected: diff --git a/src/reverse/StrongReference.cpp b/src/reverse/StrongReference.cpp index ade28807..62bc0aee 100644 --- a/src/reverse/StrongReference.cpp +++ b/src/reverse/StrongReference.cpp @@ -7,8 +7,7 @@ static RTTILocator s_sIScriptableType{RED4ext::FNV1a64("IScriptable")}; -StrongReference::StrongReference(const TiltedPhoques::Lockable::Ref& aView, - RED4ext::Handle aStrongHandle) +StrongReference::StrongReference(const TiltedPhoques::Lockable::Ref& aView, RED4ext::Handle aStrongHandle) : ClassType(aView, nullptr) , m_strongHandle(std::move(aStrongHandle)) { @@ -18,9 +17,8 @@ StrongReference::StrongReference(const TiltedPhoques::Lockable::Ref& aView, - RED4ext::Handle aStrongHandle, - RED4ext::CRTTIHandleType* apStrongHandleType) +StrongReference::StrongReference( + const TiltedPhoques::Lockable::Ref& aView, RED4ext::Handle aStrongHandle, RED4ext::CRTTIHandleType* apStrongHandleType) : ClassType(aView, nullptr) , m_strongHandle(std::move(aStrongHandle)) { @@ -42,7 +40,6 @@ StrongReference::~StrongReference() } } - RED4ext::ScriptInstance StrongReference::GetHandle() const { return m_strongHandle.instance; diff --git a/src/reverse/StrongReference.h b/src/reverse/StrongReference.h index 15cddc1f..219011ae 100644 --- a/src/reverse/StrongReference.h +++ b/src/reverse/StrongReference.h @@ -4,15 +4,13 @@ struct StrongReference : ClassType { - StrongReference(const TiltedPhoques::Lockable::Ref& aView, - RED4ext::Handle aStrongHandle); - StrongReference(const TiltedPhoques::Lockable::Ref& aView, - RED4ext::Handle aStrongHandle, - RED4ext::CRTTIHandleType* apStrongHandleType); + StrongReference(const TiltedPhoques::Lockable::Ref& aView, RED4ext::Handle aStrongHandle); + StrongReference( + const TiltedPhoques::Lockable::Ref& aView, RED4ext::Handle aStrongHandle, + RED4ext::CRTTIHandleType* apStrongHandleType); ~StrongReference() override; protected: - RED4ext::ScriptInstance GetHandle() const override; RED4ext::ScriptInstance GetValuePtr() const override; diff --git a/src/reverse/TweakDB/FlatPool.cpp b/src/reverse/TweakDB/FlatPool.cpp index 748fef9a..626e46ff 100644 --- a/src/reverse/TweakDB/FlatPool.cpp +++ b/src/reverse/TweakDB/FlatPool.cpp @@ -69,7 +69,7 @@ int32_t FlatPool::AllocateValue(const RED4ext::CBaseRTTIType* aType, RED4ext::Sc if (offsetIt == pool.end()) { - offset = m_tweakDb->CreateFlatValue({ const_cast(aType), aValue }); + offset = m_tweakDb->CreateFlatValue({const_cast(aType), aValue}); if (offset != InvalidOffset) pool.emplace(hash, offset); @@ -162,7 +162,7 @@ void FlatPool::Initialize() // If there's zero instead, that means the next value is 16-byte aligned, // and we need to skip the 8-byte padding to get to the flat. if (*reinterpret_cast(m_tweakDb->flatDataBuffer + offset) == 0ull) - offset += 8u; + offset += 8u; const auto data = GetFlatData(static_cast(offset)); const auto poolKey = data.type->GetName(); @@ -182,8 +182,7 @@ void FlatPool::Initialize() pool.emplace(hash, offset); // Step {vft + data_size} aligned by {max(data_align, 8)} - offset += RED4ext::AlignUp(FlatVFTSize + data.type->GetSize(), - std::max(FlatAlignment, data.type->GetAlignment())); + offset += RED4ext::AlignUp(FlatVFTSize + data.type->GetSize(), std::max(FlatAlignment, data.type->GetAlignment())); } SyncBuffer(); @@ -200,7 +199,7 @@ RED4ext::CStackType FlatPool::GetFlatData(int32_t aOffset) // For a known VFT we can immediately get RTTI type and data pointer. if (it != m_vfts.end()) - return { it->second.type, reinterpret_cast(addr + it->second.offset) }; + return {it->second.type, reinterpret_cast(addr + it->second.offset)}; // For an unknown VFT, we call the virtual GetValue() once to get the type. const auto data = reinterpret_cast(addr)->GetValue(); @@ -209,7 +208,7 @@ RED4ext::CStackType FlatPool::GetFlatData(int32_t aOffset) // In addition to the RTTI type, we also store the data offset considering alignment. // Quaternion is 16-byte aligned, so there is 8-byte padding between the VFT and the data: // [ 8B VFT ][ 8B PAD ][ 16B QUATERNION ] - m_vfts.insert({ vft, { data.type, std::max(data.type->GetAlignment(), 8u) } }); + m_vfts.insert({vft, {data.type, std::max(data.type->GetAlignment(), 8u)}}); return data; } diff --git a/src/reverse/TweakDB/FlatPool.h b/src/reverse/TweakDB/FlatPool.h index bb067b48..1f3cdc78 100644 --- a/src/reverse/TweakDB/FlatPool.h +++ b/src/reverse/TweakDB/FlatPool.h @@ -27,10 +27,10 @@ class FlatPool uintptr_t offset; }; - using FlatValueMap = TiltedPhoques::Map; // ValueHash -> Offset + using FlatValueMap = TiltedPhoques::Map; // ValueHash -> Offset using FlatPoolMap = TiltedPhoques::Map; // TypeName -> Pool - using FlatDefaultMap = TiltedPhoques::Map; // TypeName -> Offset - using FlatTypeMap = TiltedPhoques::Map; // VFT -> TypeInfo + using FlatDefaultMap = TiltedPhoques::Map; // TypeName -> Offset + using FlatTypeMap = TiltedPhoques::Map; // VFT -> TypeInfo void Initialize(); void SyncBuffer(); diff --git a/src/reverse/TweakDB/ResourcesList.cpp b/src/reverse/TweakDB/ResourcesList.cpp index eb052f8f..e23229b6 100644 --- a/src/reverse/TweakDB/ResourcesList.cpp +++ b/src/reverse/TweakDB/ResourcesList.cpp @@ -5,7 +5,8 @@ #include #include -using TOodleLZ_Decompress = size_t(*)(char *in, int insz, char *out, int outsz, int wantsFuzzSafety, int b, int c, void *d, void *e, void *f, void *g, void *workBuffer, size_t workBufferSize, int j); +using TOodleLZ_Decompress = + size_t (*)(char* in, int insz, char* out, int outsz, int wantsFuzzSafety, int b, int c, void* d, void* e, void* f, void* g, void* workBuffer, size_t workBufferSize, int j); ResourcesList::Resource::Resource(std::string aName) noexcept : m_isFiltered(false) @@ -58,8 +59,9 @@ bool ResourcesList::Initialize() buffer.resize(*reinterpret_cast(content.data() + 4)); char workingMemory[0x80000]; - auto size = OodleLZ_Decompress(content.data() + headerSize, static_cast(content.size() - headerSize), buffer.data(), - static_cast(buffer.size()), 1, 1, 0, nullptr, nullptr, nullptr, nullptr, workingMemory, std::size(workingMemory), 3); + auto size = OodleLZ_Decompress( + content.data() + headerSize, static_cast(content.size() - headerSize), buffer.data(), static_cast(buffer.size()), 1, 1, 0, nullptr, nullptr, nullptr, nullptr, + workingMemory, std::size(workingMemory), 3); assert(size == buffer.size()); if (size != buffer.size()) diff --git a/src/reverse/TweakDB/TweakDB.cpp b/src/reverse/TweakDB/TweakDB.cpp index 7c4e80fe..7ae692b9 100644 --- a/src/reverse/TweakDB/TweakDB.cpp +++ b/src/reverse/TweakDB/TweakDB.cpp @@ -199,17 +199,14 @@ bool TweakDB::SetTypedFlat(TweakDBID aDBID, sol::object aObject, const std::stri return SetOrCreateFlat(aDBID, aObject, "", acTypeName, logger); } -bool TweakDB::SetOrCreateFlat(TweakDBID aDBID, sol::object aObject, const std::string& acFlatName, - const std::string& acTypeName, const std::shared_ptr& aLogger) const +bool TweakDB::SetOrCreateFlat( + TweakDBID aDBID, sol::object aObject, const std::string& acFlatName, const std::string& acTypeName, const std::shared_ptr& aLogger) const { auto* pTDB = RED4ext::TweakDB::Get(); static thread_local TiltedPhoques::ScratchAllocator s_scratchMemory(1 << 22); struct ResetAllocator { - ~ResetAllocator() - { - s_scratchMemory.Reset(); - } + ~ResetAllocator() { s_scratchMemory.Reset(); } }; ResetAllocator ___allocatorReset; @@ -232,8 +229,7 @@ bool TweakDB::SetOrCreateFlat(TweakDBID aDBID, sol::object aObject, const std::s if (aLogger) { const std::string& flatName = !acFlatName.empty() ? acFlatName : GetTDBIDString(aDBID.value); - aLogger->info("[TweakDB::SetFlat] Failed to convert value for {}. Expecting: {}", - flatName, data.type->GetName().ToString()); + aLogger->info("[TweakDB::SetFlat] Failed to convert value for {}. Expecting: {}", flatName, data.type->GetName().ToString()); } return false; @@ -285,8 +281,7 @@ bool TweakDB::SetOrCreateFlat(TweakDBID aDBID, sol::object aObject, const std::s if (aLogger) { const std::string& flatName = !acFlatName.empty() ? acFlatName : GetTDBIDString(aDBID.value); - aLogger->info("[TweakDB::SetFlat] Type for {} is ambiguous, use third parameter to specify the type", - flatName); + aLogger->info("[TweakDB::SetFlat] Type for {} is ambiguous, use third parameter to specify the type", flatName); } return false; @@ -316,8 +311,7 @@ bool TweakDB::SetOrCreateFlat(TweakDBID aDBID, sol::object aObject, const std::s if (aLogger) { const std::string& flatName = !acFlatName.empty() ? acFlatName : GetTDBIDString(aDBID.value); - aLogger->info("[TweakDB::SetFlat] Failed to convert value for {}. Expecting: {}", - flatName, data.type->GetName().ToString()); + aLogger->info("[TweakDB::SetFlat] Failed to convert value for {}. Expecting: {}", flatName, data.type->GetName().ToString()); } return false; } @@ -475,8 +469,7 @@ int32_t TweakDB::InternalSetFlat(RED4ext::TweakDBID aDBID, const RED4ext::CStack return newTDBOffset; } -bool TweakDB::InternalCreateRecord(const std::string& acRecordName, const std::string& acRecordTypeName, - const std::shared_ptr& acpLogger) +bool TweakDB::InternalCreateRecord(const std::string& acRecordName, const std::string& acRecordTypeName, const std::shared_ptr& acpLogger) { auto* pTDB = RED4ext::TweakDB::Get(); @@ -500,8 +493,7 @@ bool TweakDB::InternalCreateRecord(const std::string& acRecordName, const std::s return InternalCloneRecord(acRecordName, pTweakRecord, false, acpLogger); } -bool TweakDB::InternalCreateRecord(TweakDBID aDBID, const std::string& acRecordTypeName, - const std::shared_ptr& acpLogger) +bool TweakDB::InternalCreateRecord(TweakDBID aDBID, const std::string& acRecordTypeName, const std::shared_ptr& acpLogger) { auto* pTDB = RED4ext::TweakDB::Get(); @@ -542,8 +534,7 @@ bool TweakDB::InternalCloneRecord(const std::string& acRecordName, RED4ext::Twea return InternalCloneRecord(acRecordName, pTweakRecord, true, acpLogger); } -bool TweakDB::InternalCloneRecord(TweakDBID aDBID, RED4ext::TweakDBID aClonedRecordDBID, - const std::shared_ptr& acpLogger) +bool TweakDB::InternalCloneRecord(TweakDBID aDBID, RED4ext::TweakDBID aClonedRecordDBID, const std::shared_ptr& acpLogger) { auto* pTDB = RED4ext::TweakDB::Get(); @@ -560,8 +551,8 @@ bool TweakDB::InternalCloneRecord(TweakDBID aDBID, RED4ext::TweakDBID aClonedRec return InternalCloneRecord(aDBID, pTweakRecord, true, acpLogger); } -bool TweakDB::InternalCloneRecord(const std::string& acRecordName, const RED4ext::gamedataTweakDBRecord* acClonedRecord, - bool cloneValues, const std::shared_ptr& acpLogger) +bool TweakDB::InternalCloneRecord( + const std::string& acRecordName, const RED4ext::gamedataTweakDBRecord* acClonedRecord, bool cloneValues, const std::shared_ptr& acpLogger) { auto* pTDB = RED4ext::TweakDB::Get(); const RED4ext::TweakDBID recordDBID(acRecordName); @@ -580,8 +571,7 @@ bool TweakDB::InternalCloneRecord(const std::string& acRecordName, const RED4ext return InternalCloneFlats(recordDBID, acClonedRecord, cloneValues, acpLogger); } -bool TweakDB::InternalCloneRecord(TweakDBID aDBID, const RED4ext::gamedataTweakDBRecord* acClonedRecord, - bool cloneValues, const std::shared_ptr& acpLogger) +bool TweakDB::InternalCloneRecord(TweakDBID aDBID, const RED4ext::gamedataTweakDBRecord* acClonedRecord, bool cloneValues, const std::shared_ptr& acpLogger) { auto* pTDB = RED4ext::TweakDB::Get(); const RED4ext::TweakDBID recordDBID(aDBID.name_hash, aDBID.name_length); @@ -597,8 +587,7 @@ bool TweakDB::InternalCloneRecord(TweakDBID aDBID, const RED4ext::gamedataTweakD return InternalCloneFlats(recordDBID, acClonedRecord, cloneValues, acpLogger); } -bool TweakDB::InternalCloneFlats(RED4ext::TweakDBID aDBID, const RED4ext::gamedataTweakDBRecord* acClonedRecord, - bool cloneValues, const std::shared_ptr& acpLogger) +bool TweakDB::InternalCloneFlats(RED4ext::TweakDBID aDBID, const RED4ext::gamedataTweakDBRecord* acClonedRecord, bool cloneValues, const std::shared_ptr& acpLogger) { auto* pTDB = RED4ext::TweakDB::Get(); auto& vm = CET::Get().GetVM(); diff --git a/src/reverse/TweakDB/TweakDB.h b/src/reverse/TweakDB/TweakDB.h index 6d22d2e9..6fb0eec0 100644 --- a/src/reverse/TweakDB/TweakDB.h +++ b/src/reverse/TweakDB/TweakDB.h @@ -26,19 +26,14 @@ struct TweakDB bool SetFlat(TweakDBID aDBID, sol::object aObject, sol::this_environment aThisEnv) const; bool SetFlatByNameAutoUpdate(const std::string& acFlatName, sol::object aObject, sol::this_environment aThisEnv); bool SetFlatAutoUpdate(TweakDBID aDBID, sol::object aObject, sol::this_environment aThisEnv); - bool SetTypedFlatByName(const std::string& acFlatName, sol::object aObject, const std::string& acTypeName, - sol::this_environment aThisEnv) const; - bool SetTypedFlat(TweakDBID aDBID, sol::object aObject, const std::string& acTypeName, - sol::this_environment aThisEnv) const; + bool SetTypedFlatByName(const std::string& acFlatName, sol::object aObject, const std::string& acTypeName, sol::this_environment aThisEnv) const; + bool SetTypedFlat(TweakDBID aDBID, sol::object aObject, const std::string& acTypeName, sol::this_environment aThisEnv) const; bool UpdateRecordByName(const std::string& acRecordName); bool UpdateRecordByID(TweakDBID aDBID); bool UpdateRecord(sol::object aValue, sol::this_environment aThisEnv); - bool CreateRecord(const std::string& acRecordName, const std::string& acRecordTypeName, - sol::this_environment aThisEnv) const; - bool CreateRecordToID(TweakDBID aDBID, const std::string& acRecordTypeName, - sol::this_environment aThisEnv) const; - bool CloneRecordByName(const std::string& acRecordName, const std::string& acClonedRecordName, - sol::this_environment aThisEnv) const; + bool CreateRecord(const std::string& acRecordName, const std::string& acRecordTypeName, sol::this_environment aThisEnv) const; + bool CreateRecordToID(TweakDBID aDBID, const std::string& acRecordTypeName, sol::this_environment aThisEnv) const; + bool CloneRecordByName(const std::string& acRecordName, const std::string& acClonedRecordName, sol::this_environment aThisEnv) const; bool CloneRecord(const std::string& acRecordName, TweakDBID aClonedRecordDBID, sol::this_environment aThisEnv) const; bool CloneRecordToID(TweakDBID aDBID, TweakDBID aClonedRecordDBID, sol::this_environment aThisEnv) const; bool DeleteRecord(const std::string& acRecordName, sol::this_environment aThisEnv); @@ -46,31 +41,23 @@ struct TweakDB protected: friend struct TweakDBEditor; - bool SetOrCreateFlat(TweakDBID aDBID, sol::object aObject, const std::string& acFlatName, - const std::string& acTypeName, const std::shared_ptr& acpLogger = nullptr) const; + bool SetOrCreateFlat( + TweakDBID aDBID, sol::object aObject, const std::string& acFlatName, const std::string& acTypeName, const std::shared_ptr& acpLogger = nullptr) const; static RED4ext::CStackType InternalGetFlat(RED4ext::TweakDBID aDBID); static int32_t InternalSetFlat(RED4ext::TweakDBID aDBID, const RED4ext::CStackType& acStackType); - static bool InternalCreateRecord(const std::string& acRecordName, const std::string& acRecordTypeName, - const std::shared_ptr& acpLogger); - static bool InternalCreateRecord(TweakDBID aDBID, const std::string& acRecordTypeName, - const std::shared_ptr& acpLogger); - static bool InternalCloneRecord(const std::string& acRecordName, RED4ext::TweakDBID aClonedRecordDBID, - const std::shared_ptr& acpLogger); - static bool InternalCloneRecord(TweakDBID aDBID, RED4ext::TweakDBID aClonedRecordDBID, - const std::shared_ptr& acpLogger); + static bool InternalCreateRecord(const std::string& acRecordName, const std::string& acRecordTypeName, const std::shared_ptr& acpLogger); + static bool InternalCreateRecord(TweakDBID aDBID, const std::string& acRecordTypeName, const std::shared_ptr& acpLogger); + static bool InternalCloneRecord(const std::string& acRecordName, RED4ext::TweakDBID aClonedRecordDBID, const std::shared_ptr& acpLogger); + static bool InternalCloneRecord(TweakDBID aDBID, RED4ext::TweakDBID aClonedRecordDBID, const std::shared_ptr& acpLogger); // Can't figure out a good name for this function. // Creates a record of the same type as 'acClonedRecord' // Creates all of its flats // Setting 'cloneValues' to false will set default values - static bool InternalCloneRecord(const std::string& acRecordName, - const RED4ext::gamedataTweakDBRecord* acClonedRecord, bool cloneValues, - const std::shared_ptr& acpLogger); - static bool InternalCloneRecord(TweakDBID aDBID, - const RED4ext::gamedataTweakDBRecord* acClonedRecord, bool cloneValues, - const std::shared_ptr& acpLogger); - static bool InternalCloneFlats(RED4ext::TweakDBID aDBID, - const RED4ext::gamedataTweakDBRecord* acClonedRecord, bool cloneValues, - const std::shared_ptr& acpLogger); + static bool + InternalCloneRecord(const std::string& acRecordName, const RED4ext::gamedataTweakDBRecord* acClonedRecord, bool cloneValues, const std::shared_ptr& acpLogger); + static bool InternalCloneRecord(TweakDBID aDBID, const RED4ext::gamedataTweakDBRecord* acClonedRecord, bool cloneValues, const std::shared_ptr& acpLogger); + static bool + InternalCloneFlats(RED4ext::TweakDBID aDBID, const RED4ext::gamedataTweakDBRecord* acClonedRecord, bool cloneValues, const std::shared_ptr& acpLogger); static bool InternalDeleteRecord(RED4ext::TweakDBID aDBID, const std::shared_ptr& acpLogger = nullptr); static bool RemoveFlat(RED4ext::TweakDBID aDBID); static bool IsACreatedRecord(RED4ext::TweakDBID aDBID); diff --git a/src/reverse/Type.cpp b/src/reverse/Type.cpp index 1bc2acb9..fe171fe6 100644 --- a/src/reverse/Type.cpp +++ b/src/reverse/Type.cpp @@ -6,7 +6,6 @@ #include - std::string Type::Descriptor::ToString() const { std::string result; @@ -102,8 +101,7 @@ std::string Type::FunctionDescriptor(RED4ext::CBaseFunction* apFunc, bool aWithH continue; } typeName = param->type->GetName(); - params.emplace_back(fmt::format("{}{}: {}", param->flags.isOptional ? "[opt] " : "", - param->name.ToString(), typeName.ToString())); + params.emplace_back(fmt::format("{}{}: {}", param->flags.isOptional ? "[opt] " : "", param->name.ToString(), typeName.ToString())); } if (!params.empty()) @@ -140,7 +138,6 @@ std::string Type::FunctionDescriptor(RED4ext::CBaseFunction* apFunc, bool aWithH typeName = param->type->GetName(); params.emplace_back(fmt::format("{}: {}", param->name.ToString(), typeName.ToString())); } - } if (!params.empty()) @@ -153,7 +150,6 @@ std::string Type::FunctionDescriptor(RED4ext::CBaseFunction* apFunc, bool aWithH ret << ")"; } - if (aWithHashes) { ret << fmt::format(" # Hash:({:016X}) / ShortName:({}) Hash:({:016X}", apFunc->fullName.hash, apFunc->shortName.ToString(), apFunc->shortName.hash); @@ -193,11 +189,9 @@ std::string Type::GameDump() const return str.c_str(); } -ClassType::ClassType(const TiltedPhoques::Lockable::Ref& aView, - RED4ext::CBaseRTTIType* apClass) +ClassType::ClassType(const TiltedPhoques::Lockable::Ref& aView, RED4ext::CBaseRTTIType* apClass) : Type(aView, apClass) { - } Type::Descriptor ClassType::Dump(bool aWithHashes) const @@ -284,9 +278,7 @@ sol::object ClassType::NewIndex_Impl(const std::string& acName, sol::object aPar return Type::NewIndex_Impl(acName, aParam); } -UnknownType::UnknownType(const TiltedPhoques::Lockable::Ref& aView, - RED4ext::CBaseRTTIType* apClass, - RED4ext::ScriptInstance apInstance) +UnknownType::UnknownType(const TiltedPhoques::Lockable::Ref& aView, RED4ext::CBaseRTTIType* apClass, RED4ext::ScriptInstance apInstance) : Type(aView, apClass) { // Hack for now until we use their allocators diff --git a/src/reverse/Type.h b/src/reverse/Type.h index 40371c42..9b6c73dd 100644 --- a/src/reverse/Type.h +++ b/src/reverse/Type.h @@ -4,7 +4,7 @@ struct Type { struct Descriptor { - std::string name{ "Unknown" }; + std::string name{"Unknown"}; TiltedPhoques::Vector functions; TiltedPhoques::Vector staticFunctions; TiltedPhoques::Vector properties; @@ -43,8 +43,7 @@ struct Type struct ClassType : Type { - ClassType(const TiltedPhoques::Lockable::Ref& aView, - RED4ext::CBaseRTTIType* apClass); + ClassType(const TiltedPhoques::Lockable::Ref& aView, RED4ext::CBaseRTTIType* apClass); ~ClassType() override = default; Descriptor Dump(bool aWithHashes) const override; @@ -56,9 +55,7 @@ struct ClassType : Type struct UnknownType : Type { - UnknownType(const TiltedPhoques::Lockable::Ref& aView, - RED4ext::CBaseRTTIType* apClass, - RED4ext::ScriptInstance apInstance); + UnknownType(const TiltedPhoques::Lockable::Ref& aView, RED4ext::CBaseRTTIType* apClass, RED4ext::ScriptInstance apInstance); Descriptor Dump(bool aWithHashes) const override; RED4ext::ScriptInstance GetHandle() const override { return m_pInstance.get(); } diff --git a/src/reverse/WeakReference.cpp b/src/reverse/WeakReference.cpp index a9385d44..15a470e9 100644 --- a/src/reverse/WeakReference.cpp +++ b/src/reverse/WeakReference.cpp @@ -7,8 +7,7 @@ static RTTILocator s_sIScriptableType{RED4ext::FNV1a64("IScriptable")}; -WeakReference::WeakReference(const TiltedPhoques::Lockable::Ref& aView, - RED4ext::WeakHandle aWeakHandle) +WeakReference::WeakReference(const TiltedPhoques::Lockable::Ref& aView, RED4ext::WeakHandle aWeakHandle) : ClassType(aView, nullptr) , m_weakHandle(std::move(aWeakHandle)) { @@ -19,9 +18,9 @@ WeakReference::WeakReference(const TiltedPhoques::Lockable::Ref& aView, - RED4ext::WeakHandle aWeakHandle, - RED4ext::CRTTIWeakHandleType* apWeakHandleType) +WeakReference::WeakReference( + const TiltedPhoques::Lockable::Ref& aView, RED4ext::WeakHandle aWeakHandle, + RED4ext::CRTTIWeakHandleType* apWeakHandleType) : ClassType(aView, nullptr) , m_weakHandle(std::move(aWeakHandle)) { @@ -44,7 +43,6 @@ WeakReference::~WeakReference() } } - RED4ext::ScriptInstance WeakReference::GetHandle() const { const auto ref = m_weakHandle.Lock(); diff --git a/src/reverse/WeakReference.h b/src/reverse/WeakReference.h index 9925a4e5..71a4e294 100644 --- a/src/reverse/WeakReference.h +++ b/src/reverse/WeakReference.h @@ -4,15 +4,13 @@ struct WeakReference : ClassType { - WeakReference(const TiltedPhoques::Lockable::Ref& aView, - RED4ext::WeakHandle aWeakHandle); - WeakReference(const TiltedPhoques::Lockable::Ref& aView, - RED4ext::WeakHandle aWeakHandle, - RED4ext::CRTTIWeakHandleType* apWeakHandleType); + WeakReference(const TiltedPhoques::Lockable::Ref& aView, RED4ext::WeakHandle aWeakHandle); + WeakReference( + const TiltedPhoques::Lockable::Ref& aView, RED4ext::WeakHandle aWeakHandle, + RED4ext::CRTTIWeakHandleType* apWeakHandleType); ~WeakReference() override; protected: - RED4ext::ScriptInstance GetHandle() const override; RED4ext::ScriptInstance GetValuePtr() const override; diff --git a/src/scripting/FunctionOverride.cpp b/src/scripting/FunctionOverride.cpp index 16c84e3e..cd1cc86e 100644 --- a/src/scripting/FunctionOverride.cpp +++ b/src/scripting/FunctionOverride.cpp @@ -14,23 +14,19 @@ FunctionOverride* s_pOverride = nullptr; using TRunPureScriptFunction = bool (*)(RED4ext::CBaseFunction* apFunction, RED4ext::CScriptStack*, void*); using TCreateFunction = void* (*)(void* apMemoryPool, size_t aSize); -using TCallScriptFunction = bool (*)(RED4ext::IFunction* apFunction, RED4ext::IScriptable* apContext, - RED4ext::CStackFrame* apFrame, void* apOut, void* a4); +using TCallScriptFunction = bool (*)(RED4ext::IFunction* apFunction, RED4ext::IScriptable* apContext, RED4ext::CStackFrame* apFrame, void* apOut, void* a4); TRunPureScriptFunction RealRunPureScriptFunction = nullptr; TCreateFunction RealCreateFunction = nullptr; RED4ext::RelocFunc CallScriptFunction(RED4ext::Addresses::CBaseFunction_InternalExecute); -constexpr size_t s_cMaxFunctionSize = - std::max({sizeof(RED4ext::CClassFunction), sizeof(RED4ext::CClassStaticFunction), sizeof(RED4ext::CGlobalFunction)}); +constexpr size_t s_cMaxFunctionSize = std::max({sizeof(RED4ext::CClassFunction), sizeof(RED4ext::CClassStaticFunction), sizeof(RED4ext::CGlobalFunction)}); size_t GetFunctionSize(RED4ext::CBaseFunction* apFunction) { if (apFunction->flags.isStatic) { - return apFunction->flags.isNative - ? sizeof(RED4ext::CClassStaticFunction) - : sizeof(RED4ext::CGlobalFunction); + return apFunction->flags.isNative ? sizeof(RED4ext::CClassStaticFunction) : sizeof(RED4ext::CGlobalFunction); } return sizeof(RED4ext::CClassFunction); @@ -50,7 +46,7 @@ struct OverrideCodegen : Xbyak::CodeGenerator } }; -} +} // namespace FunctionOverride::FunctionOverride(Scripting* apScripting) : m_pScripting(apScripting) @@ -348,11 +344,10 @@ void FunctionOverride::HandleOverridenFunction(RED4ext::IScriptable* apContext, CallScriptFunction(pRealFunction, apContext, apFrame, apOut, a4); } -bool FunctionOverride::ExecuteChain(const CallChain& aChain, std::shared_lock& aLock, - RED4ext::IScriptable* apContext, TiltedPhoques::Vector* apOrigArgs, - RED4ext::CStackType* apResult, TiltedPhoques::Vector* apOutArgs, - RED4ext::CScriptStack* apStack, RED4ext::CStackFrame* apFrame, - char* apCode, uint8_t aParam) +bool FunctionOverride::ExecuteChain( + const CallChain& aChain, std::shared_lock& aLock, RED4ext::IScriptable* apContext, TiltedPhoques::Vector* apOrigArgs, + RED4ext::CStackType* apResult, TiltedPhoques::Vector* apOutArgs, RED4ext::CScriptStack* apStack, RED4ext::CStackFrame* apFrame, char* apCode, + uint8_t aParam) { if (!aChain.Before.empty()) { @@ -379,8 +374,7 @@ bool FunctionOverride::ExecuteChain(const CallChain& aChain, std::shared_lockflags.isStatic ? sol::nil : apOrigArgs->at(0); - TiltedPhoques::Vector luaArgs(apOrigArgs->begin() + (pRealFunction->flags.isStatic ? 0 : 1), - apOrigArgs->end()); + TiltedPhoques::Vector luaArgs(apOrigArgs->begin() + (pRealFunction->flags.isStatic ? 0 : 1), apOrigArgs->end()); const auto luaWrapped = WrapNextOverride(aChain, 0, luaState, luaContext, luaArgs, pRealFunction, apContext, aLock); const auto luaResult = luaWrapped(as_args(luaArgs)); @@ -450,15 +444,16 @@ bool FunctionOverride::ExecuteChain(const CallChain& aChain, std::shared_lock& aLuaArgs, - RED4ext::CBaseFunction* apRealFunction, RED4ext::IScriptable* apRealContext, - std::shared_lock& aLock) +sol::function FunctionOverride::WrapNextOverride( + const CallChain& aChain, int aStep, sol::state& aLuaState, sol::object& aLuaContext, TiltedPhoques::Vector& aLuaArgs, RED4ext::CBaseFunction* apRealFunction, + RED4ext::IScriptable* apRealContext, std::shared_lock& aLock) { if (aStep == static_cast(aChain.Overrides.size())) { - return MakeSolFunction(aLuaState, - [&](sol::variadic_args aWrapArgs, sol::this_state aState, sol::this_environment aEnv) -> sol::variadic_results { + return MakeSolFunction( + aLuaState, + [&](sol::variadic_args aWrapArgs, sol::this_state aState, sol::this_environment aEnv) -> sol::variadic_results + { std::string errorMessage; sol::variadic_results results = RTTIHelper::Get().ExecuteFunction(apRealFunction, apRealContext, aWrapArgs, 0, errorMessage); @@ -478,8 +473,10 @@ sol::function FunctionOverride::WrapNextOverride(const CallChain& aChain, int aS }); } - return MakeSolFunction(aLuaState, - [&, aStep](sol::variadic_args aWrapArgs, sol::this_state aState) -> sol::variadic_results { + return MakeSolFunction( + aLuaState, + [&, aStep](sol::variadic_args aWrapArgs, sol::this_state aState) -> sol::variadic_results + { const auto call = (aChain.Overrides.rbegin() + aStep)->get(); for (uint32_t i = 0; i < apRealFunction->params.size; ++i) @@ -491,9 +488,7 @@ sol::function FunctionOverride::WrapNextOverride(const CallChain& aChain, int aS } auto next = WrapNextOverride(aChain, aStep + 1, aLuaState, aLuaContext, aLuaArgs, apRealFunction, apRealContext, aLock); - auto result = aLuaContext == sol::nil - ? call->ScriptFunction(as_args(aLuaArgs), next) - : call->ScriptFunction(aLuaContext, as_args(aLuaArgs), next); + auto result = aLuaContext == sol::nil ? call->ScriptFunction(as_args(aLuaArgs), next) : call->ScriptFunction(aLuaContext, as_args(aLuaArgs), next); if (!result.valid()) { @@ -525,8 +520,8 @@ void FunctionOverride::Hook() const else { auto* pLocation = RealRunPureScriptFunction; - if (MH_CreateHook(reinterpret_cast(pLocation), reinterpret_cast(HookRunPureScriptFunction), - reinterpret_cast(&RealRunPureScriptFunction)) != MH_OK || + if (MH_CreateHook(reinterpret_cast(pLocation), reinterpret_cast(HookRunPureScriptFunction), reinterpret_cast(&RealRunPureScriptFunction)) != + MH_OK || MH_EnableHook(reinterpret_cast(pLocation)) != MH_OK) Log::Error("Could not hook RealRunScriptFunction function!"); else @@ -538,23 +533,22 @@ void FunctionOverride::Hook() const const RED4ext::RelocPtr func(CyberEngineTweaks::Addresses::CScript_AllocateFunction); RealCreateFunction = reinterpret_cast(func.GetAddr()); if (!RealCreateFunction) - Log::Error("Could not find create function!"); + Log::Error("Could not find create function!"); else { auto* pLocation = RealCreateFunction; - if (MH_CreateHook(reinterpret_cast(pLocation), reinterpret_cast(HookCreateFunction), - reinterpret_cast(&RealCreateFunction)) != MH_OK || - MH_EnableHook(reinterpret_cast(pLocation)) != MH_OK) - Log::Error("Could not hook RealCreateFunction function!"); - else - Log::Info("RealCreateFunction function hook complete!"); + if (MH_CreateHook(reinterpret_cast(pLocation), reinterpret_cast(HookCreateFunction), reinterpret_cast(&RealCreateFunction)) != MH_OK || + MH_EnableHook(reinterpret_cast(pLocation)) != MH_OK) + Log::Error("Could not hook RealCreateFunction function!"); + else + Log::Info("RealCreateFunction function hook complete!"); } } } -void FunctionOverride::Override(const std::string& acTypeName, const std::string& acFullName, - sol::protected_function aFunction, sol::environment aEnvironment, - bool aAbsolute, bool aAfter, bool aCollectGarbage) +void FunctionOverride::Override( + const std::string& acTypeName, const std::string& acFullName, sol::protected_function aFunction, sol::environment aEnvironment, bool aAbsolute, bool aAfter, + bool aCollectGarbage) { auto* pRtti = RED4ext::CRTTISystem::Get(); auto* pClassType = pRtti->GetClass(acTypeName.c_str()); @@ -612,8 +606,7 @@ void FunctionOverride::Override(const std::string& acTypeName, const std::string { if (pRealFunction->flags.isNative) { - pFunc = RED4ext::CClassStaticFunction::Create(pClassType, acFullName.c_str(), acFullName.c_str(), - pExecutablePayload, pRealFunction->flags); + pFunc = RED4ext::CClassStaticFunction::Create(pClassType, acFullName.c_str(), acFullName.c_str(), pExecutablePayload, pRealFunction->flags); reinterpret_cast(pFunc)->parent = pRealFunction->parent; } else @@ -623,8 +616,7 @@ void FunctionOverride::Override(const std::string& acTypeName, const std::string } else { - pFunc = RED4ext::CClassFunction::Create(pClassType, acFullName.c_str(), acFullName.c_str(), - pExecutablePayload, pRealFunction->flags); + pFunc = RED4ext::CClassFunction::Create(pClassType, acFullName.c_str(), acFullName.c_str(), pExecutablePayload, pRealFunction->flags); reinterpret_cast(pFunc)->parent = pRealFunction->parent; } diff --git a/src/scripting/FunctionOverride.h b/src/scripting/FunctionOverride.h index 68ab2448..2fc70b5e 100644 --- a/src/scripting/FunctionOverride.h +++ b/src/scripting/FunctionOverride.h @@ -29,27 +29,24 @@ struct FunctionOverride void Refresh(); void Clear(); - void Override(const std::string& acTypeName, const std::string& acFullName, - sol::protected_function aFunction, sol::environment aEnvironment, - bool aAbsolute, bool aAfter = false, bool aCollectGarbage = false); + void Override( + const std::string& acTypeName, const std::string& acFullName, sol::protected_function aFunction, sol::environment aEnvironment, bool aAbsolute, bool aAfter = false, + bool aCollectGarbage = false); protected: - static void CopyFunctionDescription(RED4ext::CBaseFunction* aFunc, RED4ext::CBaseFunction* aRealFunc, bool aForceNative); static void HandleOverridenFunction(RED4ext::IScriptable* apContext, RED4ext::CStackFrame* apFrame, void* apOut, void* a4, RED4ext::CClassFunction* apFunction); static bool HookRunPureScriptFunction(RED4ext::CClassFunction* apFunction, RED4ext::CScriptStack* apStack, RED4ext::CStackFrame* a3); static void* HookCreateFunction(void* apMemoryPool, size_t aSize); - static bool ExecuteChain(const CallChain& aChain, std::shared_lock& aLock, - RED4ext::IScriptable* apContext, TiltedPhoques::Vector* apOrigArgs, - RED4ext::CStackType* apResult, TiltedPhoques::Vector* apOutArgs, - RED4ext::CScriptStack* apStack, RED4ext::CStackFrame* apFrame, char* apCode, uint8_t aParam); - static sol::function WrapNextOverride(const CallChain& aChain, int aStep, sol::state& aLuaState, - sol::object& aLuaContext, TiltedPhoques::Vector& aLuaArgs, - RED4ext::CBaseFunction* apRealFunction, RED4ext::IScriptable* apRealContext, - std::shared_lock& aLock); + static bool ExecuteChain( + const CallChain& aChain, std::shared_lock& aLock, RED4ext::IScriptable* apContext, TiltedPhoques::Vector* apOrigArgs, + RED4ext::CStackType* apResult, TiltedPhoques::Vector* apOutArgs, RED4ext::CScriptStack* apStack, RED4ext::CStackFrame* apFrame, char* apCode, + uint8_t aParam); + static sol::function WrapNextOverride( + const CallChain& aChain, int aStep, sol::state& aLuaState, sol::object& aLuaContext, TiltedPhoques::Vector& aLuaArgs, RED4ext::CBaseFunction* apRealFunction, + RED4ext::IScriptable* apRealContext, std::shared_lock& aLock); private: - enum { kExecutableSize = 1 << 20 @@ -59,7 +56,7 @@ struct FunctionOverride void* m_pBufferStart; void* m_pBuffer; - size_t m_size{ kExecutableSize }; + size_t m_size{kExecutableSize}; TiltedPhoques::Map m_functions; TiltedPhoques::Map m_trampolines; Scripting* m_pScripting; diff --git a/src/scripting/GameDump.cpp b/src/scripting/GameDump.cpp index 0b4ba8ae..aabc97cb 100644 --- a/src/scripting/GameDump.cpp +++ b/src/scripting/GameDump.cpp @@ -11,8 +11,7 @@ bool DumpVTablesTask::Run() auto ModuleBase = GetModuleHandle(nullptr); auto begin = reinterpret_cast(ModuleBase); const auto* dosHeader = reinterpret_cast(ModuleBase); - const auto* ntHeader = reinterpret_cast( - reinterpret_cast(dosHeader) + dosHeader->e_lfanew); + const auto* ntHeader = reinterpret_cast(reinterpret_cast(dosHeader) + dosHeader->e_lfanew); uintptr_t end = begin + ntHeader->OptionalHeader.SizeOfCode + ntHeader->OptionalHeader.SizeOfInitializedData; const auto* pRttiSystem = RED4ext::CRTTISystem::Get(); @@ -56,27 +55,28 @@ bool DumpVTablesTask::Run() } }; - pRttiSystem->types.for_each([&dumpClass, &vtableMap](RED4ext::CName aName, RED4ext::CBaseRTTIType*& apType) - { - TP_UNUSED(aName); + pRttiSystem->types.for_each( + [&dumpClass, &vtableMap](RED4ext::CName aName, RED4ext::CBaseRTTIType*& apType) + { + TP_UNUSED(aName); - dumpClass(vtableMap, apType); + dumpClass(vtableMap, apType); - if (apType->GetType() == RED4ext::ERTTIType::Class) - { - auto* pParent = static_cast(apType)->parent; - while (pParent) + if (apType->GetType() == RED4ext::ERTTIType::Class) { - dumpClass(vtableMap, pParent); - - pParent = pParent->parent; - if (!pParent || pParent->GetType() != RED4ext::ERTTIType::Class) + auto* pParent = static_cast(apType)->parent; + while (pParent) { - break; + dumpClass(vtableMap, pParent); + + pParent = pParent->parent; + if (!pParent || pParent->GetType() != RED4ext::ERTTIType::Class) + { + break; + } } } - } - }); + }); for (auto& [key, value] : vtableMap) { diff --git a/src/scripting/GameHooks.cpp b/src/scripting/GameHooks.cpp index 05c0c6d0..26f8c6da 100644 --- a/src/scripting/GameHooks.cpp +++ b/src/scripting/GameHooks.cpp @@ -30,8 +30,7 @@ GameMainThread::StateTickOverride::StateTickOverride(const uintptr_t acOffset, c if (Location) { - if (MH_CreateHook(Location, reinterpret_cast(&GameMainThread::HookStateTick), reinterpret_cast(&RealFunction)) != MH_OK || - MH_EnableHook(Location) != MH_OK) + if (MH_CreateHook(Location, reinterpret_cast(&GameMainThread::HookStateTick), reinterpret_cast(&RealFunction)) != MH_OK || MH_EnableHook(Location) != MH_OK) Log::Error("Could not hook main thread function {}! Main thread is not completely hooked!", acpRealFunctionName); else Log::Info("Main thread function {} hook complete!", acpRealFunctionName); diff --git a/src/scripting/GameHooks.h b/src/scripting/GameHooks.h index 92e615cf..eb37eabd 100644 --- a/src/scripting/GameHooks.h +++ b/src/scripting/GameHooks.h @@ -40,12 +40,11 @@ struct GameMainThread RepeatedTaskQueue Tasks; }; - std::array m_stateTickOverrides { + std::array m_stateTickOverrides{ StateTickOverride(CyberEngineTweaks::Addresses::CBaseInitializationState_OnTick, "CBaseInitializationState::OnTick"), StateTickOverride(CyberEngineTweaks::Addresses::CInitializationState_OnTick, "CInitializationState::OnTick"), StateTickOverride(CyberEngineTweaks::Addresses::CRunningState_OnTick, "CRunningState::OnTick"), - StateTickOverride(CyberEngineTweaks::Addresses::CShutdownState_OnTick, "CShutdownState::OnTick") - }; + StateTickOverride(CyberEngineTweaks::Addresses::CShutdownState_OnTick, "CShutdownState::OnTick")}; RepeatedTaskQueue m_genericQueue; }; diff --git a/src/scripting/GameOptions.cpp b/src/scripting/GameOptions.cpp index cfdbdb49..90e0663f 100644 --- a/src/scripting/GameOptions.cpp +++ b/src/scripting/GameOptions.cpp @@ -36,11 +36,11 @@ std::string GameOption::GetString() { ret << std::to_string(Float.Value); } - else if(GetType() == kString) + else if (GetType() == kString) { ret << "\"" << String.c_str() << "\""; } - else if(GetType() == kColor) + else if (GetType() == kColor) { ret << "0x" << std::hex << Integer.Value << std::dec; } @@ -132,11 +132,8 @@ bool GameOption::Toggle() GameOption* GameOptions::Find(const std::string& category, const std::string& name) { - const auto option = std::ranges::find_if(s_gameOptions, - [&category, &name](const GameOption* x) - { - return _stricmp(x->pCategory, category.c_str()) == 0 && _stricmp(x->pName, name.c_str()) == 0; - }); + const auto option = std::ranges::find_if( + s_gameOptions, [&category, &name](const GameOption* x) { return _stricmp(x->pCategory, category.c_str()) == 0 && _stricmp(x->pName, name.c_str()) == 0; }); if (option == s_gameOptions.end()) { diff --git a/src/scripting/LuaSandbox.cpp b/src/scripting/LuaSandbox.cpp index c133c3ee..97368f3a 100644 --- a/src/scripting/LuaSandbox.cpp +++ b/src/scripting/LuaSandbox.cpp @@ -7,8 +7,7 @@ #include #include -static constexpr const char* s_cVMGlobalObjectsWhitelist[] = -{ +static constexpr const char* s_cVMGlobalObjectsWhitelist[] = { "_VERSION", "assert", "error", @@ -32,7 +31,8 @@ static constexpr const char* s_cVMGlobalObjectsWhitelist[] = "unpack", "xpcall", - "collectgarbage", //< Good for testing memory leaks and ref counters: `collectgarbage("collect")`, also used for forcing the release of some refs + "collectgarbage", //< Good for testing memory leaks and ref counters: `collectgarbage("collect")`, also used for + // forcing the release of some refs "string", "table", @@ -42,8 +42,7 @@ static constexpr const char* s_cVMGlobalObjectsWhitelist[] = "IconGlyphs", }; -static constexpr const char* s_cGlobalObjectsWhitelist[] = -{ +static constexpr const char* s_cGlobalObjectsWhitelist[] = { "print", "GetVersion", "GetDisplayResolution", @@ -74,80 +73,40 @@ static constexpr const char* s_cGlobalObjectsWhitelist[] = "ImGuiCol", "ImGuiDir", "ImVec2", - "ImVec4" -}; + "ImVec4"}; -static constexpr const char* s_cPostInitializeScriptingProtectedList[] = -{ +static constexpr const char* s_cPostInitializeScriptingProtectedList[] = { // initialized by Scripting - "Descriptor", - "StrongReference", - "WeakReference", - "SingletonReference", - "ClassReference", - "ResourceAsyncReference", - "Unknown", - "IsDefined", - "Enum", - "EnumInt", - "Vector3", - "ToVector3", - "Vector4", - "ToVector4", - "EulerAngles", - "ToEulerAngles", - "Quaternion", - "ToQuaternion", - "CName", - "ToCName", - "TweakDBID", - "ToTweakDBID", - "ItemID", - "ToItemID", - "CRUID", - "LocKey", - "GameOptions", - "Override", - "ObserveBefore", - "ObserveAfter", + "Descriptor", "StrongReference", + "WeakReference", "SingletonReference", + "ClassReference", "ResourceAsyncReference", + "Unknown", "IsDefined", + "Enum", "EnumInt", + "Vector3", "ToVector3", + "Vector4", "ToVector4", + "EulerAngles", "ToEulerAngles", + "Quaternion", "ToQuaternion", + "CName", "ToCName", + "TweakDBID", "ToTweakDBID", + "ItemID", "ToItemID", + "CRUID", "LocKey", + "GameOptions", "Override", + "ObserveBefore", "ObserveAfter", "Observe", }; -static constexpr const char* s_cPostInitializeTweakDBProtectedList[] = -{ +static constexpr const char* s_cPostInitializeTweakDBProtectedList[] = { // initialized by Scripting - "TweakDB" -}; + "TweakDB"}; -static constexpr const char* s_cPostInitializeModsProtectedList[] = -{ +static constexpr const char* s_cPostInitializeModsProtectedList[] = { // initialized by Scripting - "NewObject", - "GetSingleton", - "GetMod", - "GameDump", - "Dump", - "DumpType", - "DumpAllTypeNames", - "DumpVtables", - "DumpReflection", - "Game", + "NewObject", "GetSingleton", "GetMod", "GameDump", "Dump", "DumpType", "DumpAllTypeNames", "DumpVtables", "DumpReflection", "Game", // initialized by RTTIMapper - "Vector3", - "ToVector3", - "Vector4", - "ToVector4", - "EulerAngles", - "ToEulerAngles", - "Quaternion", - "ToQuaternion", - "ItemID", - "ToItemID" -}; + "Vector3", "ToVector3", "Vector4", "ToVector4", "EulerAngles", "ToEulerAngles", "Quaternion", "ToQuaternion", "ItemID", "ToItemID"}; -static constexpr const char* s_cGlobalExtraLibsWhitelist[] = -{ +static constexpr const char* s_cGlobalExtraLibsWhitelist[] = { "ImGui", }; @@ -315,9 +274,10 @@ void LuaSandbox::InitializeExtraLibsForSandbox(Sandbox& aSandbox, const sol::sta sol::table imgui = sbEnv["ImGui"]; - imgui["LoadTexture"] = [this, cSBRootPath, stateView](const std::string& acPath) -> std::tuple, sol::object> { + imgui["LoadTexture"] = [this, cSBRootPath, stateView](const std::string& acPath) -> std::tuple, sol::object> + { if (!GetImGuiAvailable()) - return std::make_tuple(nullptr, make_object(stateView,"Tried to use ImGui outside of allowed events!")); + return std::make_tuple(nullptr, make_object(stateView, "Tried to use ImGui outside of allowed events!")); const auto previousCurrentPath = std::filesystem::current_path(); current_path(cSBRootPath); @@ -349,7 +309,8 @@ void LuaSandbox::InitializeDBForSandbox(Sandbox& aSandbox, const sol::state& acp sqlite3Copy[cKV.first] = DeepCopySolObject(cKV.second, acpState); } const auto dbOpen = acpState["sqlite3"]["open"].get(); - sqlite3Copy["reopen"] = [this, sbId, dbOpen]{ + sqlite3Copy["reopen"] = [this, sbId, dbOpen] + { auto& sandbox = m_sandboxes[sbId]; const auto previousCurrentPath = std::filesystem::current_path(); @@ -379,7 +340,7 @@ void LuaSandbox::InitializeIOForSandbox(Sandbox& aSandbox, const sol::state& acp const auto cSBEnv = sbEnv; sol::state_view stateView = acpState; - const auto cLoadString = [stateView, cSBEnv](const std::string& acStr, const std::string &acChunkName) -> std::tuple + const auto cLoadString = [stateView, cSBEnv](const std::string& acStr, const std::string& acChunkName) -> std::tuple { if (!acStr.empty() && acStr[0] == LUA_SIGNATURE[0]) return std::make_tuple(sol::nil, make_object(stateView, "Bytecode prohibited!")); @@ -435,7 +396,8 @@ void LuaSandbox::InitializeIOForSandbox(Sandbox& aSandbox, const sol::state& acp return func().get(); // is OK, dofile should throw if there is an error, we try to copy it... }; - // TODO - add _LOADED table and fill in when module loads some value, react in these functions when the key is sol::nil + // TODO - add _LOADED table and fill in when module loads some value, react in these functions when the key is + // sol::nil sbEnv["require"] = [this, cLoadString, cSBRootPath, stateView, cSBEnv](const std::string& acPath) -> std::tuple { const auto previousCurrentPath = std::filesystem::current_path(); @@ -480,12 +442,12 @@ void LuaSandbox::InitializeIOForSandbox(Sandbox& aSandbox, const sol::state& acp if (func != sol::nil) { // TODO: proper exception handling! - sol::protected_function_result result{ }; + sol::protected_function_result result{}; try { result = func(); } - catch(std::exception& e) + catch (std::exception& e) { current_path(previousCurrentPath); @@ -567,7 +529,6 @@ void LuaSandbox::InitializeIOForSandbox(Sandbox& aSandbox, const sol::state& acp current_path(previousCurrentPath); return result; - }; const auto cOpenWithMode = [cIO, cSBRootPath](const std::string& acPath, const std::string& acMode) { @@ -608,7 +569,7 @@ void LuaSandbox::InitializeIOForSandbox(Sandbox& aSandbox, const sol::state& acp } const auto newPath = GetLuaPath(acOldPath, cSBRootPath, true); - if (newPath.empty() || exists(newPath)|| acNewPath == "db.sqlite3") + if (newPath.empty() || exists(newPath) || acNewPath == "db.sqlite3") { current_path(previousCurrentPath); @@ -658,12 +619,30 @@ void LuaSandbox::InitializeLoggerForSandbox(Sandbox& aSandbox, const sol::state& // assign logger to mod so it can be used from within it too sol::table spdlog(acpState, sol::create); - spdlog["trace"] = [logger](const std::string& message) { logger->trace("{}", message); }; - spdlog["debug"] = [logger](const std::string& message) { logger->debug("{}", message); }; - spdlog["info"] = [logger](const std::string& message) { logger->info("{}", message); }; - spdlog["warning"] = [logger](const std::string& message) { logger->warn("{}", message); }; - spdlog["error"] = [logger](const std::string& message) { logger->error("{}", message); }; - spdlog["critical"] = [logger](const std::string& message) { logger->critical("{}", message); }; + spdlog["trace"] = [logger](const std::string& message) + { + logger->trace("{}", message); + }; + spdlog["debug"] = [logger](const std::string& message) + { + logger->debug("{}", message); + }; + spdlog["info"] = [logger](const std::string& message) + { + logger->info("{}", message); + }; + spdlog["warning"] = [logger](const std::string& message) + { + logger->warn("{}", message); + }; + spdlog["error"] = [logger](const std::string& message) + { + logger->error("{}", message); + }; + spdlog["critical"] = [logger](const std::string& message) + { + logger->critical("{}", message); + }; sbEnv["spdlog"] = spdlog; // assign logger to special var so we can access it from our functions diff --git a/src/scripting/LuaSandbox.h b/src/scripting/LuaSandbox.h index bd621a66..02a1eb37 100644 --- a/src/scripting/LuaSandbox.h +++ b/src/scripting/LuaSandbox.h @@ -14,7 +14,9 @@ struct LuaSandbox void ResetState(); - uint64_t CreateSandbox(const std::filesystem::path& acPath = "", const std::string& acName = "", bool aEnableExtraLibs = true, bool aEnableDB = true, bool aEnableIO = true, bool aEnableLogger = true); + uint64_t CreateSandbox( + const std::filesystem::path& acPath = "", const std::string& acName = "", bool aEnableExtraLibs = true, bool aEnableDB = true, bool aEnableIO = true, + bool aEnableLogger = true); Sandbox& operator[](uint64_t aID); const Sandbox& operator[](uint64_t aID) const; @@ -27,7 +29,6 @@ struct LuaSandbox sol::table& GetGlobals(); private: - void InitializeExtraLibsForSandbox(Sandbox& aSandbox, const sol::state& acpState) const; void InitializeDBForSandbox(Sandbox& aSandbox, const sol::state& acpState); void InitializeIOForSandbox(Sandbox& aSandbox, const sol::state& acpState, const std::string& acName); @@ -41,5 +42,5 @@ struct LuaSandbox TiltedPhoques::Vector m_sandboxes{}; TiltedPhoques::Map m_modules{}; - bool m_imguiAvailable{ false }; + bool m_imguiAvailable{false}; }; diff --git a/src/scripting/LuaVM.cpp b/src/scripting/LuaVM.cpp index 90a778d8..7b9265aa 100644 --- a/src/scripting/LuaVM.cpp +++ b/src/scripting/LuaVM.cpp @@ -91,7 +91,7 @@ void LuaVM::BlockDraw(bool aBlockDraw) void LuaVM::RemoveTDBIDDerivedFrom(uint64_t aDBID) { - std::lock_guard _{ m_tdbidLock }; + std::lock_guard _{m_tdbidLock}; const auto it = m_tdbidDerivedLookup.find(aDBID); if (it != m_tdbidDerivedLookup.end()) @@ -107,7 +107,7 @@ void LuaVM::RemoveTDBIDDerivedFrom(uint64_t aDBID) bool LuaVM::GetTDBIDDerivedFrom(uint64_t aDBID, TiltedPhoques::Vector& aDerivedList) { - std::lock_guard _{ m_tdbidLock }; + std::lock_guard _{m_tdbidLock}; const auto it = m_tdbidDerivedLookup.find(aDBID & 0xFFFFFFFFFF); if (it == m_tdbidDerivedLookup.end()) @@ -120,7 +120,7 @@ bool LuaVM::GetTDBIDDerivedFrom(uint64_t aDBID, TiltedPhoques::Vector& uint64_t LuaVM::GetTDBIDBase(uint64_t aDBID) { - std::lock_guard _{ m_tdbidLock }; + std::lock_guard _{m_tdbidLock}; const auto it = m_tdbidLookup.find(aDBID & 0xFFFFFFFFFF); if (it == m_tdbidLookup.end()) @@ -130,11 +130,11 @@ uint64_t LuaVM::GetTDBIDBase(uint64_t aDBID) TDBIDLookupEntry LuaVM::GetTDBIDLookupEntry(uint64_t aDBID) { - std::lock_guard _{ m_tdbidLock }; + std::lock_guard _{m_tdbidLock}; const auto it = m_tdbidLookup.find(aDBID & 0xFFFFFFFFFF); if (it == m_tdbidLookup.end()) - return { 0, "" }; + return {0, ""}; return it->second; } @@ -142,18 +142,17 @@ TDBIDLookupEntry LuaVM::GetTDBIDLookupEntry(uint64_t aDBID) std::string LuaVM::GetTDBDIDDebugString(TDBID aDBID) const { RED4ext::TweakDBID internal(aDBID.value); - return internal.HasTDBOffset() - ? fmt::format("", internal.name.hash, internal.name.length, internal.ToTDBOffset()) - : fmt::format("", internal.name.hash, internal.name.length); + return internal.HasTDBOffset() ? fmt::format("", internal.name.hash, internal.name.length, internal.ToTDBOffset()) + : fmt::format("", internal.name.hash, internal.name.length); } std::string LuaVM::GetTDBIDString(uint64_t aDBID, bool aOnlyRegistered) { - std::lock_guard _{ m_tdbidLock }; + std::lock_guard _{m_tdbidLock}; auto it = m_tdbidLookup.find(aDBID & 0xFFFFFFFFFF); if (it == m_tdbidLookup.end()) - return aOnlyRegistered ? "" : GetTDBDIDDebugString(TDBID{ aDBID }); + return aOnlyRegistered ? "" : GetTDBDIDDebugString(TDBID{aDBID}); std::string string = it->second.name; uint64_t base = it->second.base; @@ -162,7 +161,7 @@ std::string LuaVM::GetTDBIDString(uint64_t aDBID, bool aOnlyRegistered) it = m_tdbidLookup.find(it->second.base); if (it == m_tdbidLookup.end()) { - string.insert(0, GetTDBDIDDebugString(TDBID{ base })); + string.insert(0, GetTDBDIDDebugString(TDBID{base})); break; } string.insert(0, it->second.name); @@ -174,10 +173,11 @@ std::string LuaVM::GetTDBIDString(uint64_t aDBID, bool aOnlyRegistered) void LuaVM::RegisterTDBIDString(uint64_t aValue, uint64_t aBase, const std::string& acString) { - if (aValue == 0) return; - std::lock_guard _{ m_tdbidLock }; + if (aValue == 0) + return; + std::lock_guard _{m_tdbidLock}; - m_tdbidLookup[aValue] = { aBase, acString }; + m_tdbidLookup[aValue] = {aBase, acString}; if (aBase != 0) m_tdbidDerivedLookup[aBase].insert(aValue); } diff --git a/src/scripting/LuaVM.h b/src/scripting/LuaVM.h index daa64be9..323d8daf 100644 --- a/src/scripting/LuaVM.h +++ b/src/scripting/LuaVM.h @@ -62,7 +62,6 @@ struct LuaVM void PostInitializeMods(); protected: - void Hook(); static void HookLog(RED4ext::IScriptable*, RED4ext::CStackFrame* apStack, void*, void*); @@ -75,27 +74,26 @@ struct LuaVM static uint64_t HookPlayerSpawned(uint64_t a1, uint64_t a2, uint64_t a3, uint64_t a4); private: - - std::mutex m_tdbidLock{ }; - TiltedPhoques::Map m_tdbidLookup{ }; + std::mutex m_tdbidLock{}; + TiltedPhoques::Map m_tdbidLookup{}; // Used by TweakDB to get the flats associated with a record - TiltedPhoques::Map> m_tdbidDerivedLookup{ }; + TiltedPhoques::Map> m_tdbidDerivedLookup{}; - RED4ext::OpcodeHandlers::Handler_t m_realLog{ nullptr }; + RED4ext::OpcodeHandlers::Handler_t m_realLog{nullptr}; RED4ext::OpcodeHandlers::Handler_t m_realLogChannel{nullptr}; RED4ext::OpcodeHandlers::Handler_t m_realTDBIDToStringDEBUG{nullptr}; - TTDBIDCtorDerive* m_realTDBIDCtorDerive{ nullptr }; - TSetLoadingState* m_realSetLoadingState{ nullptr }; - TTweakDBLoad* m_realTweakDBLoad{ nullptr }; - TTranslateBytecode* m_realTranslateBytecode{ nullptr }; - TPlayerSpawned* m_realPlayerSpawned{ nullptr }; + TTDBIDCtorDerive* m_realTDBIDCtorDerive{nullptr}; + TSetLoadingState* m_realSetLoadingState{nullptr}; + TTweakDBLoad* m_realTweakDBLoad{nullptr}; + TTranslateBytecode* m_realTranslateBytecode{nullptr}; + TPlayerSpawned* m_realPlayerSpawned{nullptr}; Scripting m_scripting; - bool m_initialized{ false }; - bool m_drawBlocked{ false }; - bool m_reload{ false }; + bool m_initialized{false}; + bool m_drawBlocked{false}; + bool m_reload{false}; D3D12& m_d3d12; - std::chrono::time_point m_lastframe{ std::chrono::high_resolution_clock::now() }; + std::chrono::time_point m_lastframe{std::chrono::high_resolution_clock::now()}; }; diff --git a/src/scripting/LuaVM_Hooks.cpp b/src/scripting/LuaVM_Hooks.cpp index 9a0d36cc..046ffe41 100644 --- a/src/scripting/LuaVM_Hooks.cpp +++ b/src/scripting/LuaVM_Hooks.cpp @@ -11,9 +11,10 @@ namespace { -LuaVM* s_vm{ nullptr }; +LuaVM* s_vm{nullptr}; -using TOodleLZ_Decompress = size_t(*)(char *in, int insz, char *out, int outsz, int wantsFuzzSafety, int b, int c, void *d, void *e, void *f, void *g, void *workBuffer, size_t workBufferSize, int j); +using TOodleLZ_Decompress = + size_t (*)(char* in, int insz, char* out, int outsz, int wantsFuzzSafety, int b, int c, void* d, void* e, void* f, void* g, void* workBuffer, size_t workBufferSize, int j); struct Header { @@ -122,8 +123,9 @@ bool InitializeTweakDBMetadata(TiltedPhoques::Map& l decodedBytes.resize(reinterpret_cast(encodedBytes.data())[1]); char workingMemory[0x80000]; - auto size = OodleLZ_Decompress(encodedBytes.data() + headerSize, static_cast(encodedBytes.size() - headerSize), decodedBytes.data(), - static_cast(decodedBytes.size()), 1, 1, 0, nullptr, nullptr, nullptr, nullptr, workingMemory, std::size(workingMemory), 3); + auto size = OodleLZ_Decompress( + encodedBytes.data() + headerSize, static_cast(encodedBytes.size() - headerSize), decodedBytes.data(), static_cast(decodedBytes.size()), 1, 1, 0, nullptr, + nullptr, nullptr, nullptr, workingMemory, std::size(workingMemory), 3); assert(size == decodedBytes.size()); if (size != decodedBytes.size()) @@ -132,10 +134,9 @@ bool InitializeTweakDBMetadata(TiltedPhoques::Map& l return false; } - struct inline_buffer: std::streambuf { - inline_buffer(char* base, std::ptrdiff_t n) { - this->setg(base, base, base + n); - } + struct inline_buffer : std::streambuf + { + inline_buffer(char* base, std::ptrdiff_t n) { this->setg(base, base, base + n); } } tdbstrDecodedBuffer(decodedBytes.data(), decodedBytes.size()); std::istream tdbstrDecodedFile(&tdbstrDecodedBuffer); tdbstrDecodedFile.exceptions(std::ios::badbit | std::ios::failbit | std::ios::eofbit); @@ -186,7 +187,7 @@ bool InitializeTweakDBMetadata(TiltedPhoques::Map& l return true; } -} +} // namespace void LuaVM::HookLog(RED4ext::IScriptable*, RED4ext::CStackFrame* apStack, void*, void*) { @@ -268,15 +269,17 @@ LuaVM::LuaVM(const Paths& aPaths, VKBindings& aBindings, D3D12& aD3D12) // before trying to access it or TweakDBID lookup // TweakDBID lookup is on top locked for the duration of the initialization so accessing it should not // be possible until it finishes - std::thread([this] - { + std::thread( + [this] { - std::lock_guard _{ m_tdbidLock }; - InitializeTweakDBMetadata(m_tdbidLookup); - } + { + std::lock_guard _{m_tdbidLock}; + InitializeTweakDBMetadata(m_tdbidLookup); + } - ResourcesList::Get()->Initialize(); - }).detach(); + ResourcesList::Get()->Initialize(); + }) + .detach(); aBindings.SetVM(this); } @@ -312,10 +315,7 @@ uintptr_t LuaVM::HookSetLoadingState(uintptr_t aThis, int aState) if (aState == 2) { - std::call_once(s_initBarrier, [] - { - s_vm->PostInitializeMods(); - }); + std::call_once(s_initBarrier, [] { s_vm->PostInitializeMods(); }); } return s_vm->m_realSetLoadingState(aThis, aState); @@ -362,8 +362,7 @@ void LuaVM::Hook() if (pLocation) { - if (MH_CreateHook(pLocation, reinterpret_cast(&HookLog), reinterpret_cast(&m_realLog)) != MH_OK || - MH_EnableHook(pLocation) != MH_OK) + if (MH_CreateHook(pLocation, reinterpret_cast(&HookLog), reinterpret_cast(&m_realLog)) != MH_OK || MH_EnableHook(pLocation) != MH_OK) Log::Error("Could not hook CScript::Log function!"); else Log::Info("CScript::Log function hook complete!"); @@ -376,8 +375,7 @@ void LuaVM::Hook() if (pLocation) { - if (MH_CreateHook(pLocation, reinterpret_cast(&HookLogChannel), reinterpret_cast(&m_realLogChannel)) != MH_OK || - MH_EnableHook(pLocation) != MH_OK) + if (MH_CreateHook(pLocation, reinterpret_cast(&HookLogChannel), reinterpret_cast(&m_realLogChannel)) != MH_OK || MH_EnableHook(pLocation) != MH_OK) Log::Error("Could not hook CScript::LogChannel function!"); else Log::Info("CScript::LogChannel function hook complete!"); @@ -436,8 +434,7 @@ void LuaVM::Hook() if (pLocation) { - if (MH_CreateHook(pLocation, reinterpret_cast(HookTweakDBLoad), reinterpret_cast(&m_realTweakDBLoad)) != MH_OK || - MH_EnableHook(pLocation) != MH_OK) + if (MH_CreateHook(pLocation, reinterpret_cast(HookTweakDBLoad), reinterpret_cast(&m_realTweakDBLoad)) != MH_OK || MH_EnableHook(pLocation) != MH_OK) Log::Error("Could not hook CScript::TweakDBLoad function!"); else { @@ -452,8 +449,7 @@ void LuaVM::Hook() if (pLocation) { - if (MH_CreateHook(pLocation, reinterpret_cast(HookPlayerSpawned), reinterpret_cast(&m_realPlayerSpawned)) != MH_OK || - MH_EnableHook(pLocation) != MH_OK) + if (MH_CreateHook(pLocation, reinterpret_cast(HookPlayerSpawned), reinterpret_cast(&m_realPlayerSpawned)) != MH_OK || MH_EnableHook(pLocation) != MH_OK) Log::Error("Could not hook PlayerSystem::OnPlayerSpawned function!"); else { @@ -462,22 +458,25 @@ void LuaVM::Hook() } } - GameMainThread::Get().AddRunningTask([this]{ - const auto cNow = std::chrono::high_resolution_clock::now(); - const auto cDelta = cNow - s_vm->m_lastframe; - const auto cSeconds = std::chrono::duration_cast>(cDelta); - - s_vm->Update(cSeconds.count()); + GameMainThread::Get().AddRunningTask( + [this] + { + const auto cNow = std::chrono::high_resolution_clock::now(); + const auto cDelta = cNow - s_vm->m_lastframe; + const auto cSeconds = std::chrono::duration_cast>(cDelta); - s_vm->m_lastframe = cNow; + s_vm->Update(cSeconds.count()); - return false; - }); + s_vm->m_lastframe = cNow; - GameMainThread::Get().AddShutdownTask([this]{ - s_vm->m_scripting.UnloadAllMods(); + return false; + }); - return true; - }); + GameMainThread::Get().AddShutdownTask( + [this] + { + s_vm->m_scripting.UnloadAllMods(); + return true; + }); } diff --git a/src/scripting/Sandbox.cpp b/src/scripting/Sandbox.cpp index 0b5e72f6..1e05c17f 100644 --- a/src/scripting/Sandbox.cpp +++ b/src/scripting/Sandbox.cpp @@ -18,7 +18,7 @@ sol::protected_function_result Sandbox::ExecuteFile(const std::string& acPath) c sol::protected_function_result Sandbox::ExecuteString(const std::string& acString) const { - return m_pScripting->GetLockedState().Get().script(acString, m_env, sol:: detail::default_chunk_name(), sol::load_mode::text); + return m_pScripting->GetLockedState().Get().script(acString, m_env, sol::detail::default_chunk_name(), sol::load_mode::text); } uint64_t Sandbox::GetId() const diff --git a/src/scripting/ScriptContext.cpp b/src/scripting/ScriptContext.cpp index c34a2b3c..1364003f 100644 --- a/src/scripting/ScriptContext.cpp +++ b/src/scripting/ScriptContext.cpp @@ -8,17 +8,16 @@ namespace { // TODO: proper exception handling for Lua funcs! -template -sol::protected_function_result TryLuaFunction(const std::shared_ptr& acpLogger, const sol::function& aFunc, Args... aArgs) +template sol::protected_function_result TryLuaFunction(const std::shared_ptr& acpLogger, const sol::function& aFunc, Args... aArgs) { - sol::protected_function_result result{ }; + sol::protected_function_result result{}; if (aFunc) { try { result = aFunc(aArgs...); } - catch(std::exception& e) + catch (std::exception& e) { acpLogger->error(e.what()); } @@ -31,7 +30,7 @@ sol::protected_function_result TryLuaFunction(const std::shared_ptrerror("Tried to register an unknown event '{}'!", acName); }; - auto wrapHandler = [&aLuaSandbox, loggerRef = m_logger](sol::function aCallback, const bool acIsHotkey) -> std::variant, std::function> { + auto wrapHandler = [&aLuaSandbox, loggerRef = m_logger]( + sol::function aCallback, const bool acIsHotkey) -> std::variant, std::function> + { if (acIsHotkey) { - return [&aLuaSandbox, loggerRef, aCallback]{ - auto lockedState = aLuaSandbox.GetLockedState(); + return [&aLuaSandbox, loggerRef, aCallback] + { + auto lockedState = aLuaSandbox.GetLockedState(); - TryLuaFunction(loggerRef, aCallback); - }; + TryLuaFunction(loggerRef, aCallback); + }; } - return [&aLuaSandbox, loggerRef, aCallback](bool isDown){ - auto lockedState = aLuaSandbox.GetLockedState(); + return [&aLuaSandbox, loggerRef, aCallback](bool isDown) + { + auto lockedState = aLuaSandbox.GetLockedState(); - TryLuaFunction(loggerRef, aCallback, isDown); - }; + TryLuaFunction(loggerRef, aCallback, isDown); + }; }; - auto wrapDescription = [&aLuaSandbox, loggerRef = m_logger, sandboxId = m_sandboxID](const std::variant& acDescription) -> std::variant> { + auto wrapDescription = [&aLuaSandbox, loggerRef = m_logger, + sandboxId = m_sandboxID](const std::variant& acDescription) -> std::variant> + { if (std::holds_alternative(acDescription)) { auto callback = std::get(acDescription); if (callback != sol::nil) { - return [&aLuaSandbox, loggerRef, callback]{ + return [&aLuaSandbox, loggerRef, callback] + { auto lockedState = aLuaSandbox.GetLockedState(); aLuaSandbox.SetImGuiAvailable(true); @@ -109,34 +115,34 @@ ScriptContext::ScriptContext(LuaSandbox& aLuaSandbox, const std::filesystem::pat return std::get(acDescription); }; - auto registerBinding = [this, &wrapHandler, &wrapDescription](const std::string& acID, const std::string& acDisplayName, const std::variant& acDescription, sol::function aCallback, const bool acIsHotkey){ + auto registerBinding = [this, &wrapHandler, &wrapDescription]( + const std::string& acID, const std::string& acDisplayName, const std::variant& acDescription, sol::function aCallback, + const bool acIsHotkey) + { const auto inputTypeStr = acIsHotkey ? "hotkey" : "input"; - if (acID.empty() || - std::ranges::find_if(acID, [](char c){ return !(isalnum(c) || c == '_' || c == '.'); }) != acID.cend()) + if (acID.empty() || std::ranges::find_if(acID, [](char c) { return !(isalnum(c) || c == '_' || c == '.'); }) != acID.cend()) { - m_logger->error("Tried to register a {} with an incorrect ID format '{}'! ID needs to be alphanumeric without any whitespace or special characters (exceptions being '_' and '.' which are allowed in ID)!", - inputTypeStr, - acID); + m_logger->error( + "Tried to register a {} with an incorrect ID format '{}'! ID needs to be alphanumeric without any " + "whitespace or special characters (exceptions being '_' and '.' which are allowed in ID)!", + inputTypeStr, acID); return; } if (acDisplayName.empty()) { - m_logger->error("Tried to register a {} with an empty display name! [ID of this handler: {}]", - inputTypeStr, - acID); + m_logger->error("Tried to register a {} with an empty display name! [ID of this handler: {}]", inputTypeStr, acID); return; } const auto bindIt = std::find(m_vkBinds.cbegin(), m_vkBinds.cend(), acID); if (bindIt != m_vkBinds.cend()) { - m_logger->error("Tried to register a {} with same ID as some other! [ID of this handler: {}, Display name of this handler: '{}', Display name of other handler: {}]", - inputTypeStr, - acID, - acDisplayName, - bindIt->DisplayName); + m_logger->error( + "Tried to register a {} with same ID as some other! [ID of this handler: {}, Display name of this " + "handler: '{}', Display name of other handler: {}]", + inputTypeStr, acID, acDisplayName, bindIt->DisplayName); return; } @@ -145,28 +151,17 @@ ScriptContext::ScriptContext(LuaSandbox& aLuaSandbox, const std::filesystem::pat env["registerHotkey"] = sol::overload( [®isterBinding](const std::string& acID, const std::string& acDisplayName, sol::function acDescriptionCallback, sol::function aCallback) - { - registerBinding(acID, acDisplayName, acDescriptionCallback, aCallback, true); - }, + { registerBinding(acID, acDisplayName, acDescriptionCallback, aCallback, true); }, [®isterBinding](const std::string& acID, const std::string& acDisplayName, const std::string& acDescription, sol::function aCallback) - { - registerBinding(acID, acDisplayName, acDescription, aCallback, true); - }, - [®isterBinding](const std::string& acID, const std::string& acDescription, sol::function aCallback) { - registerBinding(acID, acDescription, "", aCallback, true); - }); + { registerBinding(acID, acDisplayName, acDescription, aCallback, true); }, + [®isterBinding](const std::string& acID, const std::string& acDescription, sol::function aCallback) { registerBinding(acID, acDescription, "", aCallback, true); }); env["registerInput"] = sol::overload( [®isterBinding](const std::string& acID, const std::string& acDisplayName, sol::function acDescriptionCallback, sol::function aCallback) - { - registerBinding(acID, acDisplayName, acDescriptionCallback, aCallback, false); - }, - [®isterBinding](const std::string& acID, const std::string& acDisplayName, const std::string& acDescription, sol::function aCallback) { - registerBinding(acID, acDisplayName, acDescription, aCallback, false); - }, - [registerBinding](const std::string& acID, const std::string& acDescription, sol::function aCallback) { - registerBinding(acID, acDescription, "", aCallback, false); - }); + { registerBinding(acID, acDisplayName, acDescriptionCallback, aCallback, false); }, + [®isterBinding](const std::string& acID, const std::string& acDisplayName, const std::string& acDescription, sol::function aCallback) + { registerBinding(acID, acDisplayName, acDescription, aCallback, false); }, + [registerBinding](const std::string& acID, const std::string& acDescription, sol::function aCallback) { registerBinding(acID, acDescription, "", aCallback, false); }); // TODO: proper exception handling! try @@ -191,7 +186,7 @@ ScriptContext::ScriptContext(LuaSandbox& aLuaSandbox, const std::filesystem::pat m_logger->error(cError.what()); } } - catch(std::exception& e) + catch (std::exception& e) { m_logger->error(e.what()); } @@ -202,7 +197,7 @@ ScriptContext::ScriptContext(LuaSandbox& aLuaSandbox, const std::filesystem::pat } ScriptContext::ScriptContext(ScriptContext&& other) noexcept -: ScriptContext(other) + : ScriptContext(other) { other.m_initialized = false; } diff --git a/src/scripting/ScriptContext.h b/src/scripting/ScriptContext.h index 75079f5d..30b3ea2d 100644 --- a/src/scripting/ScriptContext.h +++ b/src/scripting/ScriptContext.h @@ -25,24 +25,23 @@ struct ScriptContext [[nodiscard]] sol::object GetRootObject() const; private: - void TriggerOnShutdown() const; ScriptContext(const ScriptContext&) = default; LuaSandbox& m_sandbox; uint64_t m_sandboxID; - sol::object m_object{ }; - sol::function m_onHook{ }; - sol::function m_onTweak{ }; - sol::function m_onInit{ }; - sol::function m_onShutdown{ }; - sol::function m_onUpdate{ }; - sol::function m_onDraw{ }; - sol::function m_onOverlayOpen{ }; - sol::function m_onOverlayClose{ }; - TiltedPhoques::Vector m_vkBinds{ }; - std::string m_name{ }; - std::shared_ptr m_logger{ nullptr }; - bool m_initialized{ false }; + sol::object m_object{}; + sol::function m_onHook{}; + sol::function m_onTweak{}; + sol::function m_onInit{}; + sol::function m_onShutdown{}; + sol::function m_onUpdate{}; + sol::function m_onDraw{}; + sol::function m_onOverlayOpen{}; + sol::function m_onOverlayClose{}; + TiltedPhoques::Vector m_vkBinds{}; + std::string m_name{}; + std::shared_ptr m_logger{nullptr}; + bool m_initialized{false}; }; \ No newline at end of file diff --git a/src/scripting/ScriptStore.cpp b/src/scripting/ScriptStore.cpp index f3131ea4..d2bb59d3 100644 --- a/src/scripting/ScriptStore.cpp +++ b/src/scripting/ScriptStore.cpp @@ -55,7 +55,6 @@ void ScriptStore::LoadAll() continue; } - if (!exists(path / L"init.lua")) { consoleLogger->warn("Ignoring mod which does not contain init.lua! ('{}')", pathStr); diff --git a/src/scripting/ScriptStore.h b/src/scripting/ScriptStore.h index f548f3bb..b080a8d3 100644 --- a/src/scripting/ScriptStore.h +++ b/src/scripting/ScriptStore.h @@ -26,9 +26,8 @@ struct ScriptStore [[nodiscard]] sol::object GetMod(const std::string& acName) const; private: - - TiltedPhoques::Map m_contexts{ }; - TiltedPhoques::Map>> m_vkBinds{ }; + TiltedPhoques::Map m_contexts{}; + TiltedPhoques::Map>> m_vkBinds{}; LuaSandbox& m_sandbox; const Paths& m_paths; VKBindings& m_bindings; diff --git a/src/scripting/Scripting.cpp b/src/scripting/Scripting.cpp index 0b8392e2..e6a3074a 100644 --- a/src/scripting/Scripting.cpp +++ b/src/scripting/Scripting.cpp @@ -47,8 +47,7 @@ void Scripting::Initialize() auto lua = m_lua.Lock(); auto& luaVm = lua.Get(); - luaVm.open_libraries(sol::lib::base, sol::lib::string, sol::lib::io, sol::lib::math, sol::lib::package, - sol::lib::os, sol::lib::table, sol::lib::bit32); + luaVm.open_libraries(sol::lib::base, sol::lib::string, sol::lib::io, sol::lib::math, sol::lib::package, sol::lib::os, sol::lib::table, sol::lib::bit32); luaVm.require("sqlite3", luaopen_lsqlite3); // make sure to set package path to current directory scope @@ -58,8 +57,8 @@ void Scripting::Initialize() // execute autoexec.lua inside our default script directory const auto previousCurrentPath = std::filesystem::current_path(); current_path(m_paths.CETRoot() / "scripts"); - luaVm.script("json = require 'json/json'", sol:: detail::default_chunk_name(), sol::load_mode::text); - luaVm.script("IconGlyphs = require 'IconGlyphs/icons'", sol:: detail::default_chunk_name(), sol::load_mode::text); + luaVm.script("json = require 'json/json'", sol::detail::default_chunk_name(), sol::load_mode::text); + luaVm.script("IconGlyphs = require 'IconGlyphs/icons'", sol::detail::default_chunk_name(), sol::load_mode::text); current_path(previousCurrentPath); // initialize sandbox @@ -77,17 +76,20 @@ void Scripting::Initialize() continue; sol::function original = value; - imgui[key] = make_object(luaVm, [this, original](sol::variadic_args aVariadicArgs, sol::this_environment aThisEnv) -> sol::variadic_results { - const sol::environment cEnv = aThisEnv; - const auto logger = cEnv["__logger"].get>(); - if (!m_sandbox.GetImGuiAvailable()) + imgui[key] = make_object( + luaVm, + [this, original](sol::variadic_args aVariadicArgs, sol::this_environment aThisEnv) -> sol::variadic_results { - logger->error("Tried to call ImGui from invalid event!"); - throw "Tried to call ImGui from invalid event!"; - } + const sol::environment cEnv = aThisEnv; + const auto logger = cEnv["__logger"].get>(); + if (!m_sandbox.GetImGuiAvailable()) + { + logger->error("Tried to call ImGui from invalid event!"); + throw "Tried to call ImGui from invalid event!"; + } - return original(as_args(aVariadicArgs)); - }); + return original(as_args(aVariadicArgs)); + }); } // setup logger for console sandbox @@ -161,85 +163,52 @@ void Scripting::PostInitializeScripting() return; } - luaVm.new_usertype("__Game", - sol::meta_function::construct, sol::no_constructor, - sol::meta_function::index, &Scripting::Index); + luaVm.new_usertype("__Game", sol::meta_function::construct, sol::no_constructor, sol::meta_function::index, &Scripting::Index); - luaVm.new_usertype("__Type", - sol::meta_function::construct, sol::no_constructor, - sol::meta_function::index, &Type::Index, - sol::meta_function::new_index, &Type::NewIndex); + luaVm.new_usertype("__Type", sol::meta_function::construct, sol::no_constructor, sol::meta_function::index, &Type::Index, sol::meta_function::new_index, &Type::NewIndex); - luaVm.new_usertype("__ClassType", - sol::meta_function::construct, sol::no_constructor, - sol::base_classes, sol::bases(), - sol::meta_function::index, &ClassType::Index, + luaVm.new_usertype( + "__ClassType", sol::meta_function::construct, sol::no_constructor, sol::base_classes, sol::bases(), sol::meta_function::index, &ClassType::Index, sol::meta_function::new_index, &ClassType::NewIndex); - globals.new_usertype("Descriptor", - sol::meta_function::to_string, &Type::Descriptor::ToString); + globals.new_usertype("Descriptor", sol::meta_function::to_string, &Type::Descriptor::ToString); - globals.new_usertype("StrongReference", - sol::meta_function::construct, sol::no_constructor, - sol::base_classes, sol::bases(), - sol::meta_function::index, &StrongReference::Index, + globals.new_usertype( + "StrongReference", sol::meta_function::construct, sol::no_constructor, sol::base_classes, sol::bases(), sol::meta_function::index, &StrongReference::Index, sol::meta_function::new_index, &StrongReference::NewIndex); - globals.new_usertype("WeakReference", - sol::meta_function::construct, sol::no_constructor, - sol::base_classes, sol::bases(), - sol::meta_function::index, &WeakReference::Index, + globals.new_usertype( + "WeakReference", sol::meta_function::construct, sol::no_constructor, sol::base_classes, sol::bases(), sol::meta_function::index, &WeakReference::Index, sol::meta_function::new_index, &WeakReference::NewIndex); - globals.new_usertype("SingletonReference", - sol::meta_function::construct, sol::no_constructor, - sol::base_classes, sol::bases(), - sol::meta_function::index, &SingletonReference::Index, - sol::meta_function::new_index, &SingletonReference::NewIndex); + globals.new_usertype( + "SingletonReference", sol::meta_function::construct, sol::no_constructor, sol::base_classes, sol::bases(), sol::meta_function::index, + &SingletonReference::Index, sol::meta_function::new_index, &SingletonReference::NewIndex); - globals.new_usertype("ClassReference", - sol::meta_function::construct, sol::no_constructor, - sol::base_classes, sol::bases(), - sol::meta_function::index, &ClassReference::Index, + globals.new_usertype( + "ClassReference", sol::meta_function::construct, sol::no_constructor, sol::base_classes, sol::bases(), sol::meta_function::index, &ClassReference::Index, sol::meta_function::new_index, &ClassReference::NewIndex); - globals.new_usertype("ResourceAsyncReference", - sol::meta_function::construct, sol::no_constructor, - sol::base_classes, sol::bases(), - sol::meta_function::index, &ResourceAsyncReference::Index, - sol::meta_function::new_index, &ResourceAsyncReference::NewIndex, - "hash", property(&ResourceAsyncReference::GetLuaHash)); - - globals.new_usertype("Unknown", - sol::meta_function::construct, sol::no_constructor, - sol::base_classes, sol::bases(), - sol::meta_function::index, &UnknownType::Index, + globals.new_usertype( + "ResourceAsyncReference", sol::meta_function::construct, sol::no_constructor, sol::base_classes, sol::bases(), sol::meta_function::index, + &ResourceAsyncReference::Index, sol::meta_function::new_index, &ResourceAsyncReference::NewIndex, "hash", property(&ResourceAsyncReference::GetLuaHash)); + + globals.new_usertype( + "Unknown", sol::meta_function::construct, sol::no_constructor, sol::base_classes, sol::bases(), sol::meta_function::index, &UnknownType::Index, sol::meta_function::new_index, &UnknownType::NewIndex); - globals["IsDefined"] = sol::overload( + globals["IsDefined"] = sol::overload( // Check if weak reference is still valid - [](const WeakReference& aRef) -> bool - { - return !aRef.m_weakHandle.Expired(); - }, + [](const WeakReference& aRef) -> bool { return !aRef.m_weakHandle.Expired(); }, // To make it callable for strong reference // although it's always valid unless it's null - [](const StrongReference&) -> bool - { - return true; - }, + [](const StrongReference&) -> bool { return true; }, // To make it callable on any value - [](const sol::object&) -> bool - { - return false; - }); + [](const sol::object&) -> bool { return false; }); - globals.new_usertype("Enum", - sol::constructors(), - sol::meta_function::to_string, &Enum::ToString, - sol::meta_function::equal_to, &Enum::operator==, - "value", sol::property(&Enum::GetValueName, &Enum::SetValueByName)); + globals.new_usertype( + "Enum", sol::constructors(), sol::meta_function::to_string, + &Enum::ToString, sol::meta_function::equal_to, &Enum::operator==, "value", sol::property(&Enum::GetValueName, &Enum::SetValueByName)); globals["EnumInt"] = [this](Enum& aEnum) -> sol::object { @@ -254,120 +223,68 @@ void Scripting::PostInitializeScripting() return Converter::ToLua(stackType, lockedState); }; - luaVm.new_usertype("Vector3", - sol::constructors(), - sol::meta_function::to_string, &Vector3::ToString, - sol::meta_function::equal_to, &Vector3::operator==, - "x", &Vector3::x, - "y", &Vector3::y, - "z", &Vector3::z); + luaVm.new_usertype( + "Vector3", sol::constructors(), sol::meta_function::to_string, + &Vector3::ToString, sol::meta_function::equal_to, &Vector3::operator==, "x", &Vector3::x, "y", &Vector3::y, "z", &Vector3::z); globals["Vector3"] = luaVm["Vector3"]; globals["ToVector3"] = [](sol::table table) -> Vector3 { - return Vector3 - { - table["x"].get_or(0.f), - table["y"].get_or(0.f), - table["z"].get_or(0.f) - }; + return Vector3{table["x"].get_or(0.f), table["y"].get_or(0.f), table["z"].get_or(0.f)}; }; - luaVm.new_usertype("Vector4", - sol::constructors(), - sol::meta_function::to_string, &Vector4::ToString, - sol::meta_function::equal_to, &Vector4::operator==, - "x", &Vector4::x, - "y", &Vector4::y, - "z", &Vector4::z, - "w", &Vector4::w); + luaVm.new_usertype( + "Vector4", + sol::constructors(), + sol::meta_function::to_string, &Vector4::ToString, sol::meta_function::equal_to, &Vector4::operator==, "x", &Vector4::x, "y", &Vector4::y, "z", &Vector4::z, "w", + &Vector4::w); globals["Vector4"] = luaVm["Vector4"]; globals["ToVector4"] = [](sol::table table) -> Vector4 { - return Vector4 - { - table["x"].get_or(0.f), - table["y"].get_or(0.f), - table["z"].get_or(0.f), - table["w"].get_or(0.f) - }; + return Vector4{table["x"].get_or(0.f), table["y"].get_or(0.f), table["z"].get_or(0.f), table["w"].get_or(0.f)}; }; - luaVm.new_usertype("EulerAngles", - sol::constructors(), - sol::meta_function::to_string, &EulerAngles::ToString, - sol::meta_function::equal_to, &EulerAngles::operator==, - "roll", &EulerAngles::roll, - "pitch", &EulerAngles::pitch, + luaVm.new_usertype( + "EulerAngles", sol::constructors(), + sol::meta_function::to_string, &EulerAngles::ToString, sol::meta_function::equal_to, &EulerAngles::operator==, "roll", &EulerAngles::roll, "pitch", &EulerAngles::pitch, "yaw", &EulerAngles::yaw); globals["EulerAngles"] = luaVm["EulerAngles"]; globals["ToEulerAngles"] = [](sol::table table) -> EulerAngles { - return EulerAngles - { - table["roll"].get_or(0.f), - table["pitch"].get_or(0.f), - table["yaw"].get_or(0.f) - }; + return EulerAngles{table["roll"].get_or(0.f), table["pitch"].get_or(0.f), table["yaw"].get_or(0.f)}; }; - luaVm.new_usertype("Quaternion", - sol::constructors(), - sol::meta_function::to_string, &Quaternion::ToString, - sol::meta_function::equal_to, &Quaternion::operator==, - "i", &Quaternion::i, - "j", &Quaternion::j, - "k", &Quaternion::k, + luaVm.new_usertype( + "Quaternion", + sol::constructors< + Quaternion(float, float, float, float), Quaternion(float, float, float), Quaternion(float, float), Quaternion(float), Quaternion(const Quaternion&), Quaternion()>(), + sol::meta_function::to_string, &Quaternion::ToString, sol::meta_function::equal_to, &Quaternion::operator==, "i", &Quaternion::i, "j", &Quaternion::j, "k", &Quaternion::k, "r", &Quaternion::r); globals["Quaternion"] = luaVm["Quaternion"]; globals["ToQuaternion"] = [](sol::table table) -> Quaternion { - return Quaternion - { - table["i"].get_or(0.f), - table["j"].get_or(0.f), - table["k"].get_or(0.f), - table["r"].get_or(0.f) - }; + return Quaternion{table["i"].get_or(0.f), table["j"].get_or(0.f), table["k"].get_or(0.f), table["r"].get_or(0.f)}; }; - globals.new_usertype("CName", - sol::constructors(), - sol::call_constructor, sol::constructors(), - sol::meta_function::to_string, &CName::ToString, - sol::meta_function::equal_to, &CName::operator==, - "hash_lo", &CName::hash_lo, - "hash_hi", &CName::hash_hi, - "value", sol::property(&CName::AsString), - "add", &CName::Add); + globals.new_usertype( + "CName", sol::constructors(), sol::call_constructor, + sol::constructors(), sol::meta_function::to_string, &CName::ToString, sol::meta_function::equal_to, &CName::operator==, + "hash_lo", &CName::hash_lo, "hash_hi", &CName::hash_hi, "value", sol::property(&CName::AsString), "add", &CName::Add); globals["ToCName"] = [](sol::table table) -> CName { - return CName - { - table["hash_lo"].get_or(0), - table["hash_hi"].get_or(0) - }; + return CName{table["hash_lo"].get_or(0), table["hash_hi"].get_or(0)}; }; - globals.new_usertype("TweakDBID", - sol::constructors(), - sol::call_constructor, sol::constructors(), - sol::meta_function::to_string, &TweakDBID::ToString, - sol::meta_function::equal_to, &TweakDBID::operator==, - sol::meta_function::addition, &TweakDBID::operator+, - sol::meta_function::concatenation, &TweakDBID::operator+, - "hash", &TweakDBID::name_hash, - "length", &TweakDBID::name_length, - "value", sol::property(&TweakDBID::AsString)); + globals.new_usertype( + "TweakDBID", + sol::constructors(), + sol::call_constructor, sol::constructors(), sol::meta_function::to_string, &TweakDBID::ToString, sol::meta_function::equal_to, + &TweakDBID::operator==, sol::meta_function::addition, &TweakDBID::operator+, sol::meta_function::concatenation, &TweakDBID::operator+, "hash", &TweakDBID::name_hash, + "length", &TweakDBID::name_length, "value", sol::property(&TweakDBID::AsString)); globals["ToTweakDBID"] = [](sol::table table) -> TweakDBID { @@ -377,30 +294,21 @@ void Scripting::PostInitializeScripting() return TweakDBID(name); // if conversion from name failed, look for old hash + length - return TweakDBID - { - table["hash"].get_or(0), - table["length"].get_or(0) - }; + return TweakDBID{table["hash"].get_or(0), table["length"].get_or(0)}; }; - luaVm.new_usertype("ItemID", - sol::constructors(), - sol::meta_function::to_string, &ItemID::ToString, - sol::meta_function::equal_to, &ItemID::operator==, - "id", &ItemID::id, - "tdbid", &ItemID::id, - "rng_seed", &ItemID::rng_seed, - "unknown", &ItemID::unknown, - "maybe_type", &ItemID::maybe_type); + luaVm.new_usertype( + "ItemID", + sol::constructors< + ItemID(const TweakDBID&, uint32_t, uint16_t, uint8_t), ItemID(const TweakDBID&, uint32_t, uint16_t), ItemID(const TweakDBID&, uint32_t), ItemID(const TweakDBID&), + ItemID(const ItemID&), ItemID()>(), + sol::meta_function::to_string, &ItemID::ToString, sol::meta_function::equal_to, &ItemID::operator==, "id", &ItemID::id, "tdbid", &ItemID::id, "rng_seed", &ItemID::rng_seed, + "unknown", &ItemID::unknown, "maybe_type", &ItemID::maybe_type); globals["ItemID"] = luaVm["ItemID"]; globals["ToItemID"] = [](sol::table table) -> ItemID { - return ItemID - { + return ItemID{ table["id"].get_or(0), table["rng_seed"].get_or(2), table["unknown"].get_or(0), @@ -408,73 +316,64 @@ void Scripting::PostInitializeScripting() }; }; - globals.new_usertype("CRUID", - sol::constructors(), - sol::call_constructor, sol::constructors(), - sol::meta_function::to_string, &CRUID::ToString, - sol::meta_function::equal_to, &CRUID::operator==, - "hash", &CRUID::hash); - - globals.new_usertype("LocKey", - sol::constructors(), - sol::meta_function::to_string, &gamedataLocKeyWrapper::ToString, - sol::meta_function::equal_to, &gamedataLocKeyWrapper::operator==, - sol::call_constructor, sol::factories([](sol::object aValue, sol::this_state aState) -> sol::object { - sol::state_view lua(aState); - gamedataLocKeyWrapper result(0); - - if (aValue != sol::nil) + globals.new_usertype( + "CRUID", sol::constructors(), sol::call_constructor, sol::constructors(), sol::meta_function::to_string, &CRUID::ToString, + sol::meta_function::equal_to, &CRUID::operator==, "hash", &CRUID::hash); + + globals.new_usertype( + "LocKey", sol::constructors(), sol::meta_function::to_string, &gamedataLocKeyWrapper::ToString, sol::meta_function::equal_to, + &gamedataLocKeyWrapper::operator==, sol::call_constructor, + sol::factories( + [](sol::object aValue, sol::this_state aState) -> sol::object { - if (aValue.get_type() == sol::type::number) - { - result.hash = aValue.as(); - } - else if (IsLuaCData(aValue)) - { - const std::string str = lua["tostring"](aValue); - result.hash = std::stoull(str); - } - else if (aValue.get_type() == sol::type::string) + sol::state_view lua(aState); + gamedataLocKeyWrapper result(0); + + if (aValue != sol::nil) { - result.hash = RED4ext::FNV1a64(aValue.as()); + if (aValue.get_type() == sol::type::number) + { + result.hash = aValue.as(); + } + else if (IsLuaCData(aValue)) + { + const std::string str = lua["tostring"](aValue); + result.hash = std::stoull(str); + } + else if (aValue.get_type() == sol::type::string) + { + result.hash = RED4ext::FNV1a64(aValue.as()); + } } - } - return sol::object(lua, sol::in_place, std::move(result)); - }), - "hash", sol::property([](gamedataLocKeyWrapper& aThis, sol::this_state aState) -> sol::object { - sol::state_view lua(aState); - const auto converted = lua.script(fmt::format("return {}ull", aThis.hash)); - return converted.get(); - })); - - globals.new_usertype("GameOptions", - sol::meta_function::construct, sol::no_constructor, - "Print", &GameOptions::Print, - "Get", &GameOptions::Get, - "GetBool", &GameOptions::GetBool, - "GetInt", &GameOptions::GetInt, - "GetFloat", &GameOptions::GetFloat, - "Set", &GameOptions::Set, - "SetBool", &GameOptions::SetBool, - "SetInt", &GameOptions::SetInt, - "SetFloat", &GameOptions::SetFloat, - "Toggle", &GameOptions::Toggle, - "Dump", &GameOptions::Dump, - "List", &GameOptions::List); - - globals["Override"] = [this](const std::string& acTypeName, const std::string& acFullName, - sol::protected_function aFunction, sol::this_environment aThisEnv) -> void { + return sol::object(lua, sol::in_place, std::move(result)); + }), + "hash", + sol::property( + [](gamedataLocKeyWrapper& aThis, sol::this_state aState) -> sol::object + { + sol::state_view lua(aState); + const auto converted = lua.script(fmt::format("return {}ull", aThis.hash)); + return converted.get(); + })); + + globals.new_usertype( + "GameOptions", sol::meta_function::construct, sol::no_constructor, "Print", &GameOptions::Print, "Get", &GameOptions::Get, "GetBool", &GameOptions::GetBool, "GetInt", + &GameOptions::GetInt, "GetFloat", &GameOptions::GetFloat, "Set", &GameOptions::Set, "SetBool", &GameOptions::SetBool, "SetInt", &GameOptions::SetInt, "SetFloat", + &GameOptions::SetFloat, "Toggle", &GameOptions::Toggle, "Dump", &GameOptions::Dump, "List", &GameOptions::List); + + globals["Override"] = [this](const std::string& acTypeName, const std::string& acFullName, sol::protected_function aFunction, sol::this_environment aThisEnv) -> void + { m_override.Override(acTypeName, acFullName, aFunction, aThisEnv, true); }; - globals["ObserveBefore"] = [this](const std::string& acTypeName, const std::string& acFullName, - sol::protected_function aFunction, sol::this_environment aThisEnv) -> void { + globals["ObserveBefore"] = [this](const std::string& acTypeName, const std::string& acFullName, sol::protected_function aFunction, sol::this_environment aThisEnv) -> void + { m_override.Override(acTypeName, acFullName, aFunction, aThisEnv, false, false); }; - globals["ObserveAfter"] = [this](const std::string& acTypeName, const std::string& acFullName, - sol::protected_function aFunction, sol::this_environment aThisEnv) -> void { + globals["ObserveAfter"] = [this](const std::string& acTypeName, const std::string& acFullName, sol::protected_function aFunction, sol::this_environment aThisEnv) -> void + { m_override.Override(acTypeName, acFullName, aFunction, aThisEnv, false, true); }; @@ -493,19 +392,13 @@ void Scripting::PostInitializeTweakDB() auto& luaVm = lua.Get(); auto& globals = m_sandbox.GetGlobals(); - luaVm.new_usertype("__TweakDB", - sol::meta_function::construct, sol::no_constructor, - "DebugStats", &TweakDB::DebugStats, - "GetRecords", &TweakDB::GetRecords, - "GetRecord", overload(&TweakDB::GetRecordByName, &TweakDB::GetRecord), - "Query", overload(&TweakDB::QueryByName, &TweakDB::Query), - "GetFlat", overload(&TweakDB::GetFlatByName, &TweakDB::GetFlat), - "SetFlats", overload(&TweakDB::SetFlatsByName, &TweakDB::SetFlats), - "SetFlat", overload(&TweakDB::SetFlatByNameAutoUpdate, &TweakDB::SetFlatAutoUpdate, &TweakDB::SetTypedFlat, &TweakDB::SetTypedFlatByName), - "SetFlatNoUpdate", overload(&TweakDB::SetFlatByName, &TweakDB::SetFlat), - "Update", overload(&TweakDB::UpdateRecordByName, &TweakDB::UpdateRecordByID, &TweakDB::UpdateRecord), - "CreateRecord", overload(&TweakDB::CreateRecordToID, &TweakDB::CreateRecord), - "CloneRecord", overload(&TweakDB::CloneRecordByName, &TweakDB::CloneRecordToID, &TweakDB::CloneRecord), + luaVm.new_usertype( + "__TweakDB", sol::meta_function::construct, sol::no_constructor, "DebugStats", &TweakDB::DebugStats, "GetRecords", &TweakDB::GetRecords, "GetRecord", + overload(&TweakDB::GetRecordByName, &TweakDB::GetRecord), "Query", overload(&TweakDB::QueryByName, &TweakDB::Query), "GetFlat", + overload(&TweakDB::GetFlatByName, &TweakDB::GetFlat), "SetFlats", overload(&TweakDB::SetFlatsByName, &TweakDB::SetFlats), "SetFlat", + overload(&TweakDB::SetFlatByNameAutoUpdate, &TweakDB::SetFlatAutoUpdate, &TweakDB::SetTypedFlat, &TweakDB::SetTypedFlatByName), "SetFlatNoUpdate", + overload(&TweakDB::SetFlatByName, &TweakDB::SetFlat), "Update", overload(&TweakDB::UpdateRecordByName, &TweakDB::UpdateRecordByID, &TweakDB::UpdateRecord), "CreateRecord", + overload(&TweakDB::CreateRecordToID, &TweakDB::CreateRecord), "CloneRecord", overload(&TweakDB::CloneRecordByName, &TweakDB::CloneRecordToID, &TweakDB::CloneRecord), "DeleteRecord", overload(&TweakDB::DeleteRecordByID, &TweakDB::DeleteRecord)); globals["TweakDB"] = TweakDB(m_lua.AsRef()); @@ -575,11 +468,12 @@ void Scripting::PostInitializeMods() const auto* pRtti = RED4ext::CRTTISystem::Get(); uint32_t count = 0; - pRtti->types.for_each([&count](RED4ext::CName name, RED4ext::CBaseRTTIType*&) - { - Log::Info(name.ToString()); - count++; - }); + pRtti->types.for_each( + [&count](RED4ext::CName name, RED4ext::CBaseRTTIType*&) + { + Log::Info(name.ToString()); + count++; + }); const sol::environment cEnv = aThisEnv; const auto logger = cEnv["__logger"].get>(); logger->info("Dumped {} types", count); @@ -588,11 +482,11 @@ void Scripting::PostInitializeMods() #ifdef CET_DEBUG globals["DumpVtables"] = [this] { - // Hacky RTTI dump, this should technically only dump IScriptable instances and RTTI types as they are guaranteed to have a vtable - // but there can occasionally be Class types that are not IScriptable derived that still have a vtable - // some hierarchies may also not be accurately reflected due to hash ordering - // technically this table is flattened and contains all hierarchy, but traversing the hierarchy first reduces - // error when there are classes that instantiate a parent class but don't actually have a subclass instance + // Hacky RTTI dump, this should technically only dump IScriptable instances and RTTI types as they are + // guaranteed to have a vtable but there can occasionally be Class types that are not IScriptable derived that + // still have a vtable some hierarchies may also not be accurately reflected due to hash ordering technically + // this table is flattened and contains all hierarchy, but traversing the hierarchy first reduces error when + // there are classes that instantiate a parent class but don't actually have a subclass instance GameMainThread::Get().AddRunningTask(&GameDump::DumpVTablesTask::Run); }; globals["DumpReflection"] = [this](bool aVerbose, bool aExtendedPath, bool aPropertyHolders) @@ -621,7 +515,8 @@ void Scripting::RegisterOverrides() auto lua = m_lua.Lock(); auto& luaVm = lua.Get(); - luaVm["RegisterGlobalInputListener"] = [](WeakReference& aSelf, sol::this_environment aThisEnv) { + luaVm["RegisterGlobalInputListener"] = [](WeakReference& aSelf, sol::this_environment aThisEnv) + { const sol::protected_function unregisterInputListener = aSelf.Index("UnregisterInputListener", aThisEnv); const sol::protected_function registerInputListener = aSelf.Index("RegisterInputListener", aThisEnv); @@ -724,7 +619,7 @@ bool Scripting::ExecuteLua(const std::string& acCommand) const const sol::error cError = cResult; spdlog::get("scripting")->error(cError.what()); } - catch(std::exception& e) + catch (std::exception& e) { spdlog::get("scripting")->error(e.what()); } @@ -906,8 +801,7 @@ RED4ext::CStackType Scripting::ToRED(sol::object aObject, RED4ext::CBaseRTTIType const auto* pType = static_cast(aObject.as()->m_pType); if (pType && pType->IsA(pSubType)) { - result.value = apAllocator->New>( - aObject.as().m_strongHandle); + result.value = apAllocator->New>(aObject.as().m_strongHandle); } } else if (aObject.is()) @@ -916,8 +810,7 @@ RED4ext::CStackType Scripting::ToRED(sol::object aObject, RED4ext::CBaseRTTIType const auto* pType = static_cast(aObject.as()->m_pType); if (pType && pType->IsA(pSubType)) { - result.value = apAllocator->New>( - aObject.as().m_weakHandle); + result.value = apAllocator->New>(aObject.as().m_weakHandle); } } else if (!hasData) @@ -933,8 +826,7 @@ RED4ext::CStackType Scripting::ToRED(sol::object aObject, RED4ext::CBaseRTTIType const auto* pType = static_cast(aObject.as()->m_pType); if (pType && pType->IsA(pSubType)) { - result.value = apAllocator->New>( - aObject.as().m_weakHandle); + result.value = apAllocator->New>(aObject.as().m_weakHandle); } } else if (aObject.is()) // Handle Implicit Cast @@ -943,8 +835,7 @@ RED4ext::CStackType Scripting::ToRED(sol::object aObject, RED4ext::CBaseRTTIType const auto* pType = static_cast(aObject.as()->m_pType); if (pType && pType->IsA(pSubType)) { - result.value = apAllocator->New>( - aObject.as().m_strongHandle); + result.value = apAllocator->New>(aObject.as().m_strongHandle); } } else if (!hasData) diff --git a/src/scripting/Scripting.h b/src/scripting/Scripting.h index 5c3ef91d..95f8ab26 100644 --- a/src/scripting/Scripting.h +++ b/src/scripting/Scripting.h @@ -42,8 +42,7 @@ struct Scripting static size_t Size(RED4ext::CBaseRTTIType* apRttiType); static sol::object ToLua(LockedState& aState, RED4ext::CStackType& aResult); - static RED4ext::CStackType ToRED(sol::object aObject, RED4ext::CBaseRTTIType* apRttiType, - TiltedPhoques::Allocator* apAllocator); + static RED4ext::CStackType ToRED(sol::object aObject, RED4ext::CBaseRTTIType* apRttiType, TiltedPhoques::Allocator* apAllocator); static void ToRED(sol::object aObject, RED4ext::CStackType& apType); protected: @@ -54,8 +53,8 @@ struct Scripting private: TiltedPhoques::Lockable m_lua; - TiltedPhoques::Map m_properties{ }; - TiltedPhoques::Map m_singletons{ }; + TiltedPhoques::Map m_properties{}; + TiltedPhoques::Map m_singletons{}; LuaSandbox m_sandbox; RTTIMapper m_mapper; ScriptStore m_store; diff --git a/src/scripting/Texture.cpp b/src/scripting/Texture.cpp index 7c7311e4..c7969317 100644 --- a/src/scripting/Texture.cpp +++ b/src/scripting/Texture.cpp @@ -8,20 +8,16 @@ void Texture::BindTexture(sol::table& aTable) { - aTable.new_usertype("ImguiTexture", sol::no_constructor, - "size", sol::property(&Texture::GetSize), - "Release", &Texture::Release); - - aTable.set_function("Image", sol::overload( - &Texture::ImGuiImage, - [](const Texture& acTexture, ImVec2 aSize, const ImVec2& aUv0, const ImVec2& aUv1, - const ImVec4& aTintCol) { ImGuiImage(acTexture, aSize, aUv0, aUv1, aTintCol); }, - [](const Texture& acTexture, ImVec2 aSize, const ImVec2& aUv0, const ImVec2& aUv1) { - ImGuiImage(acTexture, aSize, aUv0, aUv1); }, - [](const Texture& acTexture, ImVec2 aSize, const ImVec2& aUv0 ) { ImGuiImage(acTexture, aSize, aUv0); }, - [](const Texture& acTexture, ImVec2 aSize) { ImGuiImage(acTexture, aSize); }, - [](const Texture& acTexture ){ ImGuiImage(acTexture); } - )); + aTable.new_usertype("ImguiTexture", sol::no_constructor, "size", sol::property(&Texture::GetSize), "Release", &Texture::Release); + + aTable.set_function( + "Image", + sol::overload( + &Texture::ImGuiImage, + [](const Texture& acTexture, ImVec2 aSize, const ImVec2& aUv0, const ImVec2& aUv1, const ImVec4& aTintCol) { ImGuiImage(acTexture, aSize, aUv0, aUv1, aTintCol); }, + [](const Texture& acTexture, ImVec2 aSize, const ImVec2& aUv0, const ImVec2& aUv1) { ImGuiImage(acTexture, aSize, aUv0, aUv1); }, + [](const Texture& acTexture, ImVec2 aSize, const ImVec2& aUv0) { ImGuiImage(acTexture, aSize, aUv0); }, + [](const Texture& acTexture, ImVec2 aSize) { ImGuiImage(acTexture, aSize); }, [](const Texture& acTexture) { ImGuiImage(acTexture); })); } std::shared_ptr Texture::Load(const std::string& acPath) @@ -88,8 +84,7 @@ std::shared_ptr Texture::Load(const std::string& acPath) props.MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN; Microsoft::WRL::ComPtr uploadBuffer = nullptr; - HRESULT hr = d3d_device->CreateCommittedResource( - &props, D3D12_HEAP_FLAG_NONE, &desc, D3D12_RESOURCE_STATE_GENERIC_READ, nullptr, IID_PPV_ARGS(&uploadBuffer)); + HRESULT hr = d3d_device->CreateCommittedResource(&props, D3D12_HEAP_FLAG_NONE, &desc, D3D12_RESOURCE_STATE_GENERIC_READ, nullptr, IID_PPV_ARGS(&uploadBuffer)); IM_ASSERT(SUCCEEDED(hr)); // Write pixels into the upload resource @@ -156,7 +151,7 @@ std::shared_ptr Texture::Load(const std::string& acPath) IM_ASSERT(SUCCEEDED(hr)); // Execute the copy - ID3D12CommandList* commandLists[] = { cmdList.Get() }; + ID3D12CommandList* commandLists[] = {cmdList.Get()}; cmdQueue->ExecuteCommandLists(1, commandLists); hr = cmdQueue->Signal(fence.Get(), 1); IM_ASSERT(SUCCEEDED(hr)); @@ -194,8 +189,7 @@ std::shared_ptr Texture::Load(const std::string& acPath) return texture; } -void Texture::ImGuiImage(const Texture& acTexture, ImVec2 aSize, const ImVec2& aUv0, const ImVec2& aUv1, - const ImVec4& aTintCol, const ImVec4& aBorderCol) +void Texture::ImGuiImage(const Texture& acTexture, ImVec2 aSize, const ImVec2& aUv0, const ImVec2& aUv1, const ImVec4& aTintCol, const ImVec4& aBorderCol) { if (aSize.x == 0 && aSize.y == 0) aSize = acTexture.m_size; diff --git a/src/scripting/Texture.h b/src/scripting/Texture.h index 5d1fe0ff..3258d8b3 100644 --- a/src/scripting/Texture.h +++ b/src/scripting/Texture.h @@ -1,13 +1,12 @@ #pragma once - struct Texture { static void BindTexture(sol::table& aTable); static std::shared_ptr Load(const std::string& acPath); - static void ImGuiImage(const Texture& acTexture, ImVec2 aSize = ImVec2(0, 0), const ImVec2& aUv0 = ImVec2(0, 0), - const ImVec2& aUv1 = ImVec2(1, 1), const ImVec4& aTintCol = ImVec4(1, 1, 1, 1), - const ImVec4& aBorderCol = ImVec4(0, 0, 0, 0)); + static void ImGuiImage( + const Texture& acTexture, ImVec2 aSize = ImVec2(0, 0), const ImVec2& aUv0 = ImVec2(0, 0), const ImVec2& aUv1 = ImVec2(1, 1), const ImVec4& aTintCol = ImVec4(1, 1, 1, 1), + const ImVec4& aBorderCol = ImVec4(0, 0, 0, 0)); ImVec2 GetSize() const; @@ -16,7 +15,6 @@ struct Texture ~Texture() = default; private: - Microsoft::WRL::ComPtr m_texture; D3D12_GPU_DESCRIPTOR_HANDLE m_handle; ImVec2 m_size{}; diff --git a/src/sol_imgui/sol_imgui.h b/src/sol_imgui/sol_imgui.h index 21079106..66e4dd01 100644 --- a/src/sol_imgui/sol_imgui.h +++ b/src/sol_imgui/sol_imgui.h @@ -2,3131 +2,3768 @@ namespace sol_ImGui { - // Windows - inline bool Begin(const std::string& name) { return ImGui::Begin(name.c_str()); } - inline bool Begin(const std::string& name, int flags) { return ImGui::Begin(name.c_str(), nullptr, flags); } - inline std::tuple Begin(const std::string& name, bool open) +// Windows +inline bool Begin(const std::string& name) +{ + return ImGui::Begin(name.c_str()); +} +inline bool Begin(const std::string& name, int flags) +{ + return ImGui::Begin(name.c_str(), nullptr, flags); +} +inline std::tuple Begin(const std::string& name, bool open) +{ + if (!open) + return std::make_tuple(false, false); + const bool shouldDraw = ImGui::Begin(name.c_str(), &open); + return std::make_tuple(open, open && shouldDraw); +} +inline std::tuple Begin(const std::string& name, bool open, int flags) +{ + if (!open) + return std::make_tuple(false, false); + const bool shouldDraw = ImGui::Begin(name.c_str(), &open, flags); + return std::make_tuple(open, open && shouldDraw); +} +inline void End() +{ + ImGui::End(); +} + +// Child Windows +inline bool BeginChild(const std::string& name) +{ + return ImGui::BeginChild(name.c_str()); +} +inline bool BeginChild(const std::string& name, float sizeX) +{ + return ImGui::BeginChild(name.c_str(), {sizeX, 0}); +} +inline bool BeginChild(const std::string& name, float sizeX, float sizeY) +{ + return ImGui::BeginChild(name.c_str(), {sizeX, sizeY}); +} +inline bool BeginChild(const std::string& name, float sizeX, float sizeY, bool border) +{ + return ImGui::BeginChild(name.c_str(), {sizeX, sizeY}, border); +} +inline bool BeginChild(const std::string& name, float sizeX, float sizeY, bool border, int flags) +{ + return ImGui::BeginChild(name.c_str(), {sizeX, sizeY}, border, flags); +} +inline void EndChild() +{ + ImGui::EndChild(); +} + +// Windows Utilities +inline bool IsWindowAppearing() +{ + return ImGui::IsWindowAppearing(); +} +inline bool IsWindowCollapsed() +{ + return ImGui::IsWindowCollapsed(); +} +inline bool IsWindowFocused() +{ + return ImGui::IsWindowFocused(); +} +inline bool IsWindowFocused(int flags) +{ + return ImGui::IsWindowFocused(flags); +} +inline bool IsWindowHovered() +{ + return ImGui::IsWindowHovered(); +} +inline bool IsWindowHovered(int flags) +{ + return ImGui::IsWindowHovered(flags); +} +inline ImDrawList* GetWindowDrawList() +{ + return ImGui::GetWindowDrawList(); +} +inline std::tuple GetWindowPos() +{ + const auto vec2{ImGui::GetWindowPos()}; + return std::make_tuple(vec2.x, vec2.y); +} +inline std::tuple GetWindowSize() +{ + const auto vec2{ImGui::GetWindowSize()}; + return std::make_tuple(vec2.x, vec2.y); +} +inline float GetWindowWidth() +{ + return ImGui::GetWindowWidth(); +} +inline float GetWindowHeight() +{ + return ImGui::GetWindowHeight(); +} + +// Prefer using SetNext... +inline void SetNextWindowPos(float posX, float posY) +{ + ImGui::SetNextWindowPos({posX, posY}); +} +inline void SetNextWindowPos(float posX, float posY, int cond) +{ + ImGui::SetNextWindowPos({posX, posY}, cond); +} +inline void SetNextWindowPos(float posX, float posY, int cond, float pivotX, float pivotY) +{ + ImGui::SetNextWindowPos({posX, posY}, cond, {pivotX, pivotY}); +} +inline void SetNextWindowSize(float sizeX, float sizeY) +{ + ImGui::SetNextWindowSize({sizeX, sizeY}); +} +inline void SetNextWindowSize(float sizeX, float sizeY, int cond) +{ + ImGui::SetNextWindowSize({sizeX, sizeY}, cond); +} +inline void SetNextWindowSizeConstraints(float minX, float minY, float maxX, float maxY) +{ + ImGui::SetNextWindowSizeConstraints({minX, minY}, {maxX, maxY}); +} +inline void SetNextWindowContentSize(float sizeX, float sizeY) +{ + ImGui::SetNextWindowContentSize({sizeX, sizeY}); +} +inline void SetNextWindowCollapsed(bool collapsed) +{ + ImGui::SetNextWindowCollapsed(collapsed); +} +inline void SetNextWindowCollapsed(bool collapsed, int cond) +{ + ImGui::SetNextWindowCollapsed(collapsed, cond); +} +inline void SetNextWindowFocus() +{ + ImGui::SetNextWindowFocus(); +} +inline void SetNextWindowBgAlpha(float alpha) +{ + ImGui::SetNextWindowBgAlpha(alpha); +} +inline void SetWindowPos(float posX, float posY) +{ + ImGui::SetWindowPos({posX, posY}); +} +inline void SetWindowPos(float posX, float posY, int cond) +{ + ImGui::SetWindowPos({posX, posY}, cond); +} +inline void SetWindowSize(float sizeX, float sizeY) +{ + ImGui::SetWindowSize({sizeX, sizeY}); +} +inline void SetWindowSize(float sizeX, float sizeY, int cond) +{ + ImGui::SetWindowSize({sizeX, sizeY}, cond); +} +inline void SetWindowCollapsed(bool collapsed) +{ + ImGui::SetWindowCollapsed(collapsed); +} +inline void SetWindowCollapsed(bool collapsed, int cond) +{ + ImGui::SetWindowCollapsed(collapsed, cond); +} +inline void SetWindowFocus() +{ + ImGui::SetWindowFocus(); +} +inline void SetWindowFontScale(float scale) +{ + ImGui::SetWindowFontScale(scale); +} +inline void SetWindowPos(const std::string& name, float posX, float posY) +{ + ImGui::SetWindowPos(name.c_str(), {posX, posY}); +} +inline void SetWindowPos(const std::string& name, float posX, float posY, int cond) +{ + ImGui::SetWindowPos(name.c_str(), {posX, posY}, cond); +} +inline void SetWindowSize(const std::string& name, float sizeX, float sizeY) +{ + ImGui::SetWindowSize(name.c_str(), {sizeX, sizeY}); +} +inline void SetWindowSize(const std::string& name, float sizeX, float sizeY, int cond) +{ + ImGui::SetWindowSize(name.c_str(), {sizeX, sizeY}, cond); +} +inline void SetWindowCollapsed(const std::string& name, bool collapsed) +{ + ImGui::SetWindowCollapsed(name.c_str(), collapsed); +} +inline void SetWindowCollapsed(const std::string& name, bool collapsed, int cond) +{ + ImGui::SetWindowCollapsed(name.c_str(), collapsed, cond); +} +inline void SetWindowFocus(const std::string& name) +{ + ImGui::SetWindowFocus(name.c_str()); +} + +// Content Region +inline std::tuple GetContentRegionMax() +{ + const auto vec2{ImGui::GetContentRegionMax()}; + return std::make_tuple(vec2.x, vec2.y); +} +inline std::tuple GetContentRegionAvail() +{ + const auto vec2{ImGui::GetContentRegionAvail()}; + return std::make_tuple(vec2.x, vec2.y); +} +inline std::tuple GetWindowContentRegionMin() +{ + const auto vec2{ImGui::GetWindowContentRegionMin()}; + return std::make_tuple(vec2.x, vec2.y); +} +inline std::tuple GetWindowContentRegionMax() +{ + const auto vec2{ImGui::GetWindowContentRegionMax()}; + return std::make_tuple(vec2.x, vec2.y); +} +inline float GetWindowContentRegionWidth() +{ + return ImGui::GetWindowContentRegionWidth(); +} + +// Windows Scrolling +inline float GetScrollX() +{ + return ImGui::GetScrollX(); +} +inline float GetScrollY() +{ + return ImGui::GetScrollY(); +} +inline float GetScrollMaxX() +{ + return ImGui::GetScrollMaxX(); +} +inline float GetScrollMaxY() +{ + return ImGui::GetScrollMaxY(); +} +inline void SetScrollX(float scrollX) +{ + ImGui::SetScrollX(scrollX); +} +inline void SetScrollY(float scrollY) +{ + ImGui::SetScrollY(scrollY); +} +inline void SetScrollHereX() +{ + ImGui::SetScrollHereX(); +} +inline void SetScrollHereX(float centerXRatio) +{ + ImGui::SetScrollHereX(centerXRatio); +} +inline void SetScrollHereY() +{ + ImGui::SetScrollHereY(); +} +inline void SetScrollHereY(float centerYRatio) +{ + ImGui::SetScrollHereY(centerYRatio); +} +inline void SetScrollFromPosX(float localX) +{ + ImGui::SetScrollFromPosX(localX); +} +inline void SetScrollFromPosX(float localX, float centerXRatio) +{ + ImGui::SetScrollFromPosX(localX, centerXRatio); +} +inline void SetScrollFromPosY(float localY) +{ + ImGui::SetScrollFromPosY(localY); +} +inline void SetScrollFromPosY(float localY, float centerYRatio) +{ + ImGui::SetScrollFromPosY(localY, centerYRatio); +} + +// Parameters stacks (shared) +#ifdef SOL_IMGUI_ENABLE_FONT_MANIPULATORS +inline void PushFont(ImFont* pFont) +{ + ImGui::PushFont(pFont); +} +inline void PopFont() +{ + ImGui::PopFont(); +} +#endif // SOL_IMGUI_ENABLE_FONT_MANIPULATORS +inline void PushStyleColor(int idx, int col) +{ + ImGui::PushStyleColor(idx, static_cast(col)); +} +inline void PushStyleColor(int idx, float colR, float colG, float colB, float colA) +{ + ImGui::PushStyleColor(idx, {colR, colG, colB, colA}); +} +inline void PopStyleColor() +{ + ImGui::PopStyleColor(); +} +inline void PopStyleColor(int count) +{ + ImGui::PopStyleColor(count); +} +inline void PushStyleVar(int idx, float val) +{ + ImGui::PushStyleVar(idx, val); +} +inline void PushStyleVar(int idx, float valX, float valY) +{ + ImGui::PushStyleVar(idx, {valX, valY}); +} +inline void PopStyleVar() +{ + ImGui::PopStyleVar(); +} +inline void PopStyleVar(int count) +{ + ImGui::PopStyleVar(count); +} +inline std::tuple GetStyleColorVec4(int idx) +{ + const auto col{ImGui::GetStyleColorVec4(idx)}; + return std::make_tuple(col.x, col.y, col.z, col.w); +} +#ifdef SOL_IMGUI_ENABLE_FONT_MANIPULATORS +inline ImFont* GetFont() +{ + return ImGui::GetFont(); +} +#endif // SOL_IMGUI_ENABLE_FONT_MANIPULATORS +inline float GetFontSize() +{ + return ImGui::GetFontSize(); +} +inline std::tuple GetFontTexUvWhitePixel() +{ + const auto vec2{ImGui::GetFontTexUvWhitePixel()}; + return std::make_tuple(vec2.x, vec2.y); +} +inline int GetColorU32(int idx, float alphaMul) +{ + return ImGui::GetColorU32(idx, alphaMul); +} +inline int GetColorU32(float colR, float colG, float colB, float colA) +{ + return ImGui::GetColorU32({colR, colG, colB, colA}); +} +inline int GetColorU32(int col) +{ + return ImGui::GetColorU32(static_cast(col)); +} + +// Parameters stacks (current window) +inline void PushItemWidth(float itemWidth) +{ + ImGui::PushItemWidth(itemWidth); +} +inline void PopItemWidth() +{ + ImGui::PopItemWidth(); +} +inline void SetNextItemWidth(float itemWidth) +{ + ImGui::SetNextItemWidth(itemWidth); +} +inline float CalcItemWidth() +{ + return ImGui::CalcItemWidth(); +} +inline void PushTextWrapPos() +{ + ImGui::PushTextWrapPos(); +} +inline void PushTextWrapPos(float wrapLocalPosX) +{ + ImGui::PushTextWrapPos(wrapLocalPosX); +} +inline void PopTextWrapPos() +{ + ImGui::PopTextWrapPos(); +} +inline void PushAllowKeyboardFocus(bool allowKeyboardFocus) +{ + ImGui::PushAllowKeyboardFocus(allowKeyboardFocus); +} +inline void PopAllowKeyboardFocus() +{ + ImGui::PopAllowKeyboardFocus(); +} +inline void PushButtonRepeat(bool repeat) +{ + ImGui::PushButtonRepeat(repeat); +} +inline void PopButtonRepeat() +{ + ImGui::PopButtonRepeat(); +} + +// Cursor / Layout +inline void Separator() +{ + ImGui::Separator(); +} +inline void SameLine() +{ + ImGui::SameLine(); +} +inline void SameLine(float offsetFromStartX) +{ + ImGui::SameLine(offsetFromStartX); +} +inline void SameLine(float offsetFromStartX, float spacing) +{ + ImGui::SameLine(offsetFromStartX, spacing); +} +inline void NewLine() +{ + ImGui::NewLine(); +} +inline void Spacing() +{ + ImGui::Spacing(); +} +inline void Dummy(float sizeX, float sizeY) +{ + ImGui::Dummy({sizeX, sizeY}); +} +inline void Indent() +{ + ImGui::Indent(); +} +inline void Indent(float indentW) +{ + ImGui::Indent(indentW); +} +inline void Unindent() +{ + ImGui::Unindent(); +} +inline void Unindent(float indentW) +{ + ImGui::Unindent(indentW); +} +inline void BeginGroup() +{ + ImGui::BeginGroup(); +} +inline void EndGroup() +{ + ImGui::EndGroup(); +} +inline std::tuple GetCursorPos() +{ + const auto vec2{ImGui::GetCursorPos()}; + return std::make_tuple(vec2.x, vec2.y); +} +inline float GetCursorPosX() +{ + return ImGui::GetCursorPosX(); +} +inline float GetCursorPosY() +{ + return ImGui::GetCursorPosY(); +} +inline void SetCursorPos(float localX, float localY) +{ + ImGui::SetCursorPos({localX, localY}); +} +inline void SetCursorPosX(float localX) +{ + ImGui::SetCursorPosX(localX); +} +inline void SetCursorPosY(float localY) +{ + ImGui::SetCursorPosY(localY); +} +inline std::tuple GetCursorStartPos() +{ + const auto vec2{ImGui::GetCursorStartPos()}; + return std::make_tuple(vec2.x, vec2.y); +} +inline std::tuple GetCursorScreenPos() +{ + const auto vec2{ImGui::GetCursorScreenPos()}; + return std::make_tuple(vec2.x, vec2.y); +} +inline void SetCursorScreenPos(float posX, float posY) +{ + ImGui::SetCursorScreenPos({posX, posY}); +} +inline void AlignTextToFramePadding() +{ + ImGui::AlignTextToFramePadding(); +} +inline float GetTextLineHeight() +{ + return ImGui::GetTextLineHeight(); +} +inline float GetTextLineHeightWithSpacing() +{ + return ImGui::GetTextLineHeightWithSpacing(); +} +inline float GetFrameHeight() +{ + return ImGui::GetFrameHeight(); +} +inline float GetFrameHeightWithSpacing() +{ + return ImGui::GetFrameHeightWithSpacing(); +} + +// ID stack / scopes +inline void PushID(const std::string& stringID) +{ + ImGui::PushID(stringID.c_str()); +} +inline void PushID(int intID) +{ + ImGui::PushID(intID); +} +inline void PopID() +{ + ImGui::PopID(); +} +inline int GetID(const std::string& stringID) +{ + return ImGui::GetID(stringID.c_str()); +} + +// Widgets: Text +inline void TextUnformatted(const std::string& text) +{ + ImGui::TextUnformatted(text.c_str()); +} +inline void Text(const std::string& text) +{ + ImGui::TextUnformatted(text.c_str()); +} // TODO - make this proper call to ImGui::Text, allowing real formatting! +inline void TextColored(float colR, float colG, float colB, float colA, const std::string& text) +{ + ImGui::TextColored({colR, colG, colB, colA}, "%s", text.c_str()); +} +inline void TextDisabled(const std::string& text) +{ + ImGui::TextDisabled("%s", text.c_str()); +} +inline void TextWrapped(const std::string& text) +{ + ImGui::TextWrapped("%s", text.c_str()); +} +inline void LabelText(const std::string& label, const std::string& text) +{ + ImGui::LabelText(label.c_str(), "%s", text.c_str()); +} +inline void BulletText(const std::string& text) +{ + ImGui::BulletText("%s", text.c_str()); +} + +// Widgets: Main +inline bool Button(const std::string& label) +{ + return ImGui::Button(label.c_str()); +} +inline bool Button(const std::string& label, float sizeX, float sizeY) +{ + return ImGui::Button(label.c_str(), {sizeX, sizeY}); +} +inline bool SmallButton(const std::string& label) +{ + return ImGui::SmallButton(label.c_str()); +} +inline bool InvisibleButton(const std::string& stringID, float sizeX, float sizeY) +{ + return ImGui::InvisibleButton(stringID.c_str(), {sizeX, sizeY}); +} +inline bool ArrowButton(const std::string& stringID, int dir) +{ + return ImGui::ArrowButton(stringID.c_str(), static_cast(dir)); +} +inline void Image() +{ /* TODO: Image(...) ==> UNSUPPORTED */ +} +inline void ImageButton() +{ /* TODO: ImageButton(...) ==> UNSUPPORTED */ +} +inline std::tuple Checkbox(const std::string& label, bool v) +{ + bool value{v}; + bool pressed = ImGui::Checkbox(label.c_str(), &value); + + return std::make_tuple(value, pressed); +} +inline bool CheckboxFlags() +{ + return false; /* TODO: CheckboxFlags(...) ==> UNSUPPORTED */ +} +inline bool RadioButton(const std::string& label, bool active) +{ + return ImGui::RadioButton(label.c_str(), active); +} +inline std::tuple RadioButton(const std::string& label, int v, int vButton) +{ + bool ret{ImGui::RadioButton(label.c_str(), &v, vButton)}; + return std::make_tuple(v, ret); +} +inline void ProgressBar(float fraction) +{ + ImGui::ProgressBar(fraction); +} +inline void ProgressBar(float fraction, float sizeX, float sizeY) +{ + ImGui::ProgressBar(fraction, {sizeX, sizeY}); +} +inline void ProgressBar(float fraction, float sizeX, float sizeY, const std::string& overlay) +{ + ImGui::ProgressBar(fraction, {sizeX, sizeY}, overlay.c_str()); +} +inline void Bullet() +{ + ImGui::Bullet(); +} + +// Widgets: Combo Box +inline bool BeginCombo(const std::string& label, const std::string& previewValue) +{ + return ImGui::BeginCombo(label.c_str(), previewValue.c_str()); +} +inline bool BeginCombo(const std::string& label, const std::string& previewValue, int flags) +{ + return ImGui::BeginCombo(label.c_str(), previewValue.c_str(), flags); +} +inline void EndCombo() +{ + ImGui::EndCombo(); +} +inline std::tuple Combo(const std::string& label, int currentItem, const sol::table& items, int itemsCount) +{ + TiltedPhoques::Vector strings; + strings.reserve(itemsCount); + TiltedPhoques::Vector cstrings; + cstrings.reserve(itemsCount); + for (int i{1}; i <= itemsCount; i++) { - if (!open) return std::make_tuple(false, false); - const bool shouldDraw = ImGui::Begin(name.c_str(), &open); - return std::make_tuple(open, open && shouldDraw); + const auto& stringItem = items.get>(i); + cstrings.emplace_back(strings.emplace_back(std::move(stringItem.value_or("Missing"))).c_str()); } - inline std::tuple Begin(const std::string& name, bool open, int flags) + + bool clicked = ImGui::Combo(label.c_str(), ¤tItem, cstrings.data(), itemsCount); + return std::make_tuple(currentItem, clicked); +} +inline std::tuple Combo(const std::string& label, int currentItem, const sol::table& items, int itemsCount, int popupMaxHeightInItems) +{ + TiltedPhoques::Vector strings; + strings.reserve(itemsCount); + TiltedPhoques::Vector cstrings; + cstrings.reserve(itemsCount); + for (int i{1}; i <= itemsCount; i++) { - if (!open) return std::make_tuple(false, false); - const bool shouldDraw = ImGui::Begin(name.c_str(), &open, flags); - return std::make_tuple(open, open && shouldDraw); + const auto& stringItem = items.get>(i); + cstrings.emplace_back(strings.emplace_back(std::move(stringItem.value_or("Missing"))).c_str()); } - inline void End() { ImGui::End(); } - - // Child Windows - inline bool BeginChild(const std::string& name) { return ImGui::BeginChild(name.c_str()); } - inline bool BeginChild(const std::string& name, float sizeX) { return ImGui::BeginChild(name.c_str(), { sizeX, 0 }); } - inline bool BeginChild(const std::string& name, float sizeX, float sizeY) { return ImGui::BeginChild(name.c_str(), { sizeX, sizeY }); } - inline bool BeginChild(const std::string& name, float sizeX, float sizeY, bool border) { return ImGui::BeginChild(name.c_str(), { sizeX, sizeY }, border); } - inline bool BeginChild(const std::string& name, float sizeX, float sizeY, bool border, int flags) { return ImGui::BeginChild(name.c_str(), { sizeX, sizeY }, border, flags); } - inline void EndChild() { ImGui::EndChild(); } - - // Windows Utilities - inline bool IsWindowAppearing() { return ImGui::IsWindowAppearing(); } - inline bool IsWindowCollapsed() { return ImGui::IsWindowCollapsed(); } - inline bool IsWindowFocused() { return ImGui::IsWindowFocused(); } - inline bool IsWindowFocused(int flags) { return ImGui::IsWindowFocused(flags); } - inline bool IsWindowHovered() { return ImGui::IsWindowHovered(); } - inline bool IsWindowHovered(int flags) { return ImGui::IsWindowHovered(flags); } - inline ImDrawList* GetWindowDrawList() { return ImGui::GetWindowDrawList(); } - inline std::tuple GetWindowPos() { const auto vec2{ ImGui::GetWindowPos() }; return std::make_tuple(vec2.x, vec2.y); } - inline std::tuple GetWindowSize() { const auto vec2{ ImGui::GetWindowSize() }; return std::make_tuple(vec2.x, vec2.y); } - inline float GetWindowWidth() { return ImGui::GetWindowWidth(); } - inline float GetWindowHeight() { return ImGui::GetWindowHeight(); } - - // Prefer using SetNext... - inline void SetNextWindowPos(float posX, float posY) { ImGui::SetNextWindowPos({ posX, posY }); } - inline void SetNextWindowPos(float posX, float posY, int cond) { ImGui::SetNextWindowPos({ posX, posY }, cond); } - inline void SetNextWindowPos(float posX, float posY, int cond, float pivotX, float pivotY) { ImGui::SetNextWindowPos({ posX, posY }, cond, { pivotX, pivotY }); } - inline void SetNextWindowSize(float sizeX, float sizeY) { ImGui::SetNextWindowSize({ sizeX, sizeY }); } - inline void SetNextWindowSize(float sizeX, float sizeY, int cond) { ImGui::SetNextWindowSize({ sizeX, sizeY }, cond); } - inline void SetNextWindowSizeConstraints(float minX, float minY, float maxX, float maxY) { ImGui::SetNextWindowSizeConstraints({ minX, minY }, { maxX, maxY }); } - inline void SetNextWindowContentSize(float sizeX, float sizeY) { ImGui::SetNextWindowContentSize({ sizeX, sizeY }); } - inline void SetNextWindowCollapsed(bool collapsed) { ImGui::SetNextWindowCollapsed(collapsed); } - inline void SetNextWindowCollapsed(bool collapsed, int cond) { ImGui::SetNextWindowCollapsed(collapsed, cond); } - inline void SetNextWindowFocus() { ImGui::SetNextWindowFocus(); } - inline void SetNextWindowBgAlpha(float alpha) { ImGui::SetNextWindowBgAlpha(alpha); } - inline void SetWindowPos(float posX, float posY) { ImGui::SetWindowPos({ posX, posY }); } - inline void SetWindowPos(float posX, float posY, int cond) { ImGui::SetWindowPos({ posX, posY }, cond); } - inline void SetWindowSize(float sizeX, float sizeY) { ImGui::SetWindowSize({ sizeX, sizeY }); } - inline void SetWindowSize(float sizeX, float sizeY, int cond) { ImGui::SetWindowSize({ sizeX, sizeY }, cond); } - inline void SetWindowCollapsed(bool collapsed) { ImGui::SetWindowCollapsed(collapsed); } - inline void SetWindowCollapsed(bool collapsed, int cond) { ImGui::SetWindowCollapsed(collapsed, cond); } - inline void SetWindowFocus() { ImGui::SetWindowFocus(); } - inline void SetWindowFontScale(float scale) { ImGui::SetWindowFontScale(scale); } - inline void SetWindowPos(const std::string& name, float posX, float posY) { ImGui::SetWindowPos(name.c_str(), { posX, posY }); } - inline void SetWindowPos(const std::string& name, float posX, float posY, int cond) { ImGui::SetWindowPos(name.c_str(), { posX, posY }, cond); } - inline void SetWindowSize(const std::string& name, float sizeX, float sizeY) { ImGui::SetWindowSize(name.c_str(), { sizeX, sizeY }); } - inline void SetWindowSize(const std::string& name, float sizeX, float sizeY, int cond) { ImGui::SetWindowSize(name.c_str(), { sizeX, sizeY }, cond); } - inline void SetWindowCollapsed(const std::string& name, bool collapsed) { ImGui::SetWindowCollapsed(name.c_str(), collapsed); } - inline void SetWindowCollapsed(const std::string& name, bool collapsed, int cond) { ImGui::SetWindowCollapsed(name.c_str(), collapsed, cond); } - inline void SetWindowFocus(const std::string& name) { ImGui::SetWindowFocus(name.c_str()); } - - // Content Region - inline std::tuple GetContentRegionMax() { const auto vec2{ ImGui::GetContentRegionMax() }; return std::make_tuple(vec2.x, vec2.y); } - inline std::tuple GetContentRegionAvail() { const auto vec2{ ImGui::GetContentRegionAvail() }; return std::make_tuple(vec2.x, vec2.y); } - inline std::tuple GetWindowContentRegionMin() { const auto vec2{ ImGui::GetWindowContentRegionMin() }; return std::make_tuple(vec2.x, vec2.y); } - inline std::tuple GetWindowContentRegionMax() { const auto vec2{ ImGui::GetWindowContentRegionMax() }; return std::make_tuple(vec2.x, vec2.y); } - inline float GetWindowContentRegionWidth() { return ImGui::GetWindowContentRegionWidth(); } - - // Windows Scrolling - inline float GetScrollX() { return ImGui::GetScrollX(); } - inline float GetScrollY() { return ImGui::GetScrollY(); } - inline float GetScrollMaxX() { return ImGui::GetScrollMaxX(); } - inline float GetScrollMaxY() { return ImGui::GetScrollMaxY(); } - inline void SetScrollX(float scrollX) { ImGui::SetScrollX(scrollX); } - inline void SetScrollY(float scrollY) { ImGui::SetScrollY(scrollY); } - inline void SetScrollHereX() { ImGui::SetScrollHereX(); } - inline void SetScrollHereX(float centerXRatio) { ImGui::SetScrollHereX(centerXRatio); } - inline void SetScrollHereY() { ImGui::SetScrollHereY(); } - inline void SetScrollHereY(float centerYRatio) { ImGui::SetScrollHereY(centerYRatio); } - inline void SetScrollFromPosX(float localX) { ImGui::SetScrollFromPosX(localX); } - inline void SetScrollFromPosX(float localX, float centerXRatio) { ImGui::SetScrollFromPosX(localX, centerXRatio); } - inline void SetScrollFromPosY(float localY) { ImGui::SetScrollFromPosY(localY); } - inline void SetScrollFromPosY(float localY, float centerYRatio) { ImGui::SetScrollFromPosY(localY, centerYRatio); } - - // Parameters stacks (shared) -#ifdef SOL_IMGUI_ENABLE_FONT_MANIPULATORS - inline void PushFont(ImFont* pFont) { ImGui::PushFont(pFont); } - inline void PopFont() { ImGui::PopFont(); } -#endif // SOL_IMGUI_ENABLE_FONT_MANIPULATORS - inline void PushStyleColor(int idx, int col) { ImGui::PushStyleColor(idx, static_cast(col)); } - inline void PushStyleColor(int idx, float colR, float colG, float colB, float colA) { ImGui::PushStyleColor(idx, { colR, colG, colB, colA }); } - inline void PopStyleColor() { ImGui::PopStyleColor(); } - inline void PopStyleColor(int count) { ImGui::PopStyleColor(count); } - inline void PushStyleVar(int idx, float val) { ImGui::PushStyleVar(idx, val); } - inline void PushStyleVar(int idx, float valX, float valY) { ImGui::PushStyleVar(idx, { valX, valY }); } - inline void PopStyleVar() { ImGui::PopStyleVar(); } - inline void PopStyleVar(int count) { ImGui::PopStyleVar(count); } - inline std::tuple GetStyleColorVec4(int idx) { const auto col{ ImGui::GetStyleColorVec4(idx) }; return std::make_tuple(col.x, col.y, col.z, col.w); } -#ifdef SOL_IMGUI_ENABLE_FONT_MANIPULATORS - inline ImFont* GetFont() { return ImGui::GetFont(); } -#endif // SOL_IMGUI_ENABLE_FONT_MANIPULATORS - inline float GetFontSize() { return ImGui::GetFontSize(); } - inline std::tuple GetFontTexUvWhitePixel() { const auto vec2{ ImGui::GetFontTexUvWhitePixel() }; return std::make_tuple(vec2.x, vec2.y); } - inline int GetColorU32(int idx, float alphaMul) { return ImGui::GetColorU32(idx, alphaMul); } - inline int GetColorU32(float colR, float colG, float colB, float colA) { return ImGui::GetColorU32({ colR, colG, colB, colA }); } - inline int GetColorU32(int col) { return ImGui::GetColorU32(static_cast(col)); } - - // Parameters stacks (current window) - inline void PushItemWidth(float itemWidth) { ImGui::PushItemWidth(itemWidth); } - inline void PopItemWidth() { ImGui::PopItemWidth(); } - inline void SetNextItemWidth(float itemWidth) { ImGui::SetNextItemWidth(itemWidth); } - inline float CalcItemWidth() { return ImGui::CalcItemWidth(); } - inline void PushTextWrapPos() { ImGui::PushTextWrapPos(); } - inline void PushTextWrapPos(float wrapLocalPosX) { ImGui::PushTextWrapPos(wrapLocalPosX); } - inline void PopTextWrapPos() { ImGui::PopTextWrapPos(); } - inline void PushAllowKeyboardFocus(bool allowKeyboardFocus) { ImGui::PushAllowKeyboardFocus(allowKeyboardFocus); } - inline void PopAllowKeyboardFocus() { ImGui::PopAllowKeyboardFocus(); } - inline void PushButtonRepeat(bool repeat) { ImGui::PushButtonRepeat(repeat); } - inline void PopButtonRepeat() { ImGui::PopButtonRepeat(); } - - // Cursor / Layout - inline void Separator() { ImGui::Separator(); } - inline void SameLine() { ImGui::SameLine(); } - inline void SameLine(float offsetFromStartX) { ImGui::SameLine(offsetFromStartX); } - inline void SameLine(float offsetFromStartX, float spacing) { ImGui::SameLine(offsetFromStartX, spacing); } - inline void NewLine() { ImGui::NewLine(); } - inline void Spacing() { ImGui::Spacing(); } - inline void Dummy(float sizeX, float sizeY) { ImGui::Dummy({ sizeX, sizeY }); } - inline void Indent() { ImGui::Indent(); } - inline void Indent(float indentW) { ImGui::Indent(indentW); } - inline void Unindent() { ImGui::Unindent(); } - inline void Unindent(float indentW) { ImGui::Unindent(indentW); } - inline void BeginGroup() { ImGui::BeginGroup(); } - inline void EndGroup() { ImGui::EndGroup(); } - inline std::tuple GetCursorPos() { const auto vec2{ ImGui::GetCursorPos() }; return std::make_tuple(vec2.x, vec2.y); } - inline float GetCursorPosX() { return ImGui::GetCursorPosX(); } - inline float GetCursorPosY() { return ImGui::GetCursorPosY(); } - inline void SetCursorPos(float localX, float localY) { ImGui::SetCursorPos({ localX, localY }); } - inline void SetCursorPosX(float localX) { ImGui::SetCursorPosX(localX); } - inline void SetCursorPosY(float localY) { ImGui::SetCursorPosY(localY); } - inline std::tuple GetCursorStartPos() { const auto vec2{ ImGui::GetCursorStartPos() }; return std::make_tuple(vec2.x, vec2.y); } - inline std::tuple GetCursorScreenPos() { const auto vec2{ ImGui::GetCursorScreenPos() }; return std::make_tuple(vec2.x, vec2.y); } - inline void SetCursorScreenPos(float posX, float posY) { ImGui::SetCursorScreenPos({ posX, posY }); } - inline void AlignTextToFramePadding() { ImGui::AlignTextToFramePadding(); } - inline float GetTextLineHeight() { return ImGui::GetTextLineHeight(); } - inline float GetTextLineHeightWithSpacing() { return ImGui::GetTextLineHeightWithSpacing(); } - inline float GetFrameHeight() { return ImGui::GetFrameHeight(); } - inline float GetFrameHeightWithSpacing() { return ImGui::GetFrameHeightWithSpacing(); } - - // ID stack / scopes - inline void PushID(const std::string& stringID) { ImGui::PushID(stringID.c_str()); } - inline void PushID(int intID) { ImGui::PushID(intID); } - inline void PopID() { ImGui::PopID(); } - inline int GetID(const std::string& stringID) { return ImGui::GetID(stringID.c_str()); } - - // Widgets: Text - inline void TextUnformatted(const std::string& text) { ImGui::TextUnformatted(text.c_str()); } - inline void Text(const std::string& text) { ImGui::TextUnformatted(text.c_str()); } // TODO - make this proper call to ImGui::Text, allowing real formatting! - inline void TextColored(float colR, float colG, float colB, float colA, const std::string& text) { ImGui::TextColored({ colR, colG, colB, colA }, "%s", text.c_str()); } - inline void TextDisabled(const std::string& text) { ImGui::TextDisabled("%s", text.c_str()); } - inline void TextWrapped(const std::string& text) { ImGui::TextWrapped("%s", text.c_str()); } - inline void LabelText(const std::string& label, const std::string& text) { ImGui::LabelText(label.c_str(), "%s", text.c_str()); } - inline void BulletText(const std::string& text) { ImGui::BulletText("%s", text.c_str()); } - - // Widgets: Main - inline bool Button(const std::string& label) { return ImGui::Button(label.c_str()); } - inline bool Button(const std::string& label, float sizeX, float sizeY) { return ImGui::Button(label.c_str(), { sizeX, sizeY }); } - inline bool SmallButton(const std::string& label) { return ImGui::SmallButton(label.c_str()); } - inline bool InvisibleButton(const std::string& stringID, float sizeX, float sizeY) { return ImGui::InvisibleButton(stringID.c_str(), { sizeX, sizeY }); } - inline bool ArrowButton(const std::string& stringID, int dir) { return ImGui::ArrowButton(stringID.c_str(), static_cast(dir)); } - inline void Image() { /* TODO: Image(...) ==> UNSUPPORTED */ } - inline void ImageButton() { /* TODO: ImageButton(...) ==> UNSUPPORTED */ } - inline std::tuple Checkbox(const std::string& label, bool v) - { - bool value{ v }; - bool pressed = ImGui::Checkbox(label.c_str(), &value); - return std::make_tuple(value, pressed); - } - inline bool CheckboxFlags() { return false; /* TODO: CheckboxFlags(...) ==> UNSUPPORTED */ } - inline bool RadioButton(const std::string& label, bool active) { return ImGui::RadioButton(label.c_str(), active); } - inline std::tuple RadioButton(const std::string& label, int v, int vButton) { bool ret{ ImGui::RadioButton(label.c_str(), &v, vButton) }; return std::make_tuple(v, ret); } - inline void ProgressBar(float fraction) { ImGui::ProgressBar(fraction); } - inline void ProgressBar(float fraction, float sizeX, float sizeY) { ImGui::ProgressBar(fraction, { sizeX, sizeY }); } - inline void ProgressBar(float fraction, float sizeX, float sizeY, const std::string& overlay) { ImGui::ProgressBar(fraction, { sizeX, sizeY }, overlay.c_str()); } - inline void Bullet() { ImGui::Bullet(); } - - // Widgets: Combo Box - inline bool BeginCombo(const std::string& label, const std::string& previewValue) { return ImGui::BeginCombo(label.c_str(), previewValue.c_str()); } - inline bool BeginCombo(const std::string& label, const std::string& previewValue, int flags) { return ImGui::BeginCombo(label.c_str(), previewValue.c_str(), flags); } - inline void EndCombo() { ImGui::EndCombo(); } - inline std::tuple Combo(const std::string& label, int currentItem, const sol::table& items, int itemsCount) - { - TiltedPhoques::Vector strings; - strings.reserve(itemsCount); - TiltedPhoques::Vector cstrings; - cstrings.reserve(itemsCount); - for (int i{1}; i <= itemsCount; i++) - { - const auto& stringItem = items.get>(i); - cstrings.emplace_back(strings.emplace_back(std::move(stringItem.value_or("Missing"))).c_str()); - } - - bool clicked = ImGui::Combo(label.c_str(), ¤tItem, cstrings.data(), itemsCount); - return std::make_tuple(currentItem, clicked); - } - inline std::tuple Combo(const std::string& label, int currentItem, const sol::table& items, int itemsCount, int popupMaxHeightInItems) - { - TiltedPhoques::Vector strings; - strings.reserve(itemsCount); - TiltedPhoques::Vector cstrings; - cstrings.reserve(itemsCount); - for (int i{1}; i <= itemsCount; i++) - { - const auto& stringItem = items.get>(i); - cstrings.emplace_back(strings.emplace_back(std::move(stringItem.value_or("Missing"))).c_str()); - } - - bool clicked = ImGui::Combo(label.c_str(), ¤tItem, cstrings.data(), itemsCount, popupMaxHeightInItems); - return std::make_tuple(currentItem, clicked); - } - inline std::tuple Combo(const std::string& label, int currentItem, const std::string& itemsSeparatedByZeros) - { - bool clicked = ImGui::Combo(label.c_str(), ¤tItem, itemsSeparatedByZeros.c_str()); - return std::make_tuple(currentItem, clicked); - } - inline std::tuple Combo(const std::string& label, int currentItem, const std::string& itemsSeparatedByZeros, int popupMaxHeightInItems) - { - bool clicked = ImGui::Combo(label.c_str(), ¤tItem, itemsSeparatedByZeros.c_str(), popupMaxHeightInItems); - return std::make_tuple(currentItem, clicked); - } - // TODO: 3rd Combo from ImGui not Supported - - // Widgets: Drags - inline std::tuple DragFloat(const std::string& label, float v) { bool used = ImGui::DragFloat(label.c_str(), &v); return std::make_tuple(v, used); } - inline std::tuple DragFloat(const std::string& label, float v, float v_speed) { bool used = ImGui::DragFloat(label.c_str(), &v, v_speed); return std::make_tuple(v, used); } - inline std::tuple DragFloat(const std::string& label, float v, float v_speed, float v_min) { bool used = ImGui::DragFloat(label.c_str(), &v, v_speed, v_min); return std::make_tuple(v, used); } - inline std::tuple DragFloat(const std::string& label, float v, float v_speed, float v_min, float v_max) { bool used = ImGui::DragFloat(label.c_str(), &v, v_speed, v_min, v_max); return std::make_tuple(v, used); } - inline std::tuple DragFloat(const std::string& label, float v, float v_speed, float v_min, float v_max, const std::string& format) { bool used = ImGui::DragFloat(label.c_str(), &v, v_speed, v_min, v_max, format.c_str()); return std::make_tuple(v, used); } - inline std::tuple DragFloat(const std::string& label, float v, float v_speed, float v_min, float v_max, const std::string& format, int flags) { bool used = ImGui::DragFloat(label.c_str(), &v, v_speed, v_min, v_max, format.c_str(), flags); return std::make_tuple(v, used); } - inline std::tuple>, bool> DragFloat2(const std::string& label, const sol::table& v) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - float value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::DragFloat2(label.c_str(), value); + bool clicked = ImGui::Combo(label.c_str(), ¤tItem, cstrings.data(), itemsCount, popupMaxHeightInItems); + return std::make_tuple(currentItem, clicked); +} +inline std::tuple Combo(const std::string& label, int currentItem, const std::string& itemsSeparatedByZeros) +{ + bool clicked = ImGui::Combo(label.c_str(), ¤tItem, itemsSeparatedByZeros.c_str()); + return std::make_tuple(currentItem, clicked); +} +inline std::tuple Combo(const std::string& label, int currentItem, const std::string& itemsSeparatedByZeros, int popupMaxHeightInItems) +{ + bool clicked = ImGui::Combo(label.c_str(), ¤tItem, itemsSeparatedByZeros.c_str(), popupMaxHeightInItems); + return std::make_tuple(currentItem, clicked); +} +// TODO: 3rd Combo from ImGui not Supported + +// Widgets: Drags +inline std::tuple DragFloat(const std::string& label, float v) +{ + bool used = ImGui::DragFloat(label.c_str(), &v); + return std::make_tuple(v, used); +} +inline std::tuple DragFloat(const std::string& label, float v, float v_speed) +{ + bool used = ImGui::DragFloat(label.c_str(), &v, v_speed); + return std::make_tuple(v, used); +} +inline std::tuple DragFloat(const std::string& label, float v, float v_speed, float v_min) +{ + bool used = ImGui::DragFloat(label.c_str(), &v, v_speed, v_min); + return std::make_tuple(v, used); +} +inline std::tuple DragFloat(const std::string& label, float v, float v_speed, float v_min, float v_max) +{ + bool used = ImGui::DragFloat(label.c_str(), &v, v_speed, v_min, v_max); + return std::make_tuple(v, used); +} +inline std::tuple DragFloat(const std::string& label, float v, float v_speed, float v_min, float v_max, const std::string& format) +{ + bool used = ImGui::DragFloat(label.c_str(), &v, v_speed, v_min, v_max, format.c_str()); + return std::make_tuple(v, used); +} +inline std::tuple DragFloat(const std::string& label, float v, float v_speed, float v_min, float v_max, const std::string& format, int flags) +{ + bool used = ImGui::DragFloat(label.c_str(), &v, v_speed, v_min, v_max, format.c_str(), flags); + return std::make_tuple(v, used); +} +inline std::tuple>, bool> DragFloat2(const std::string& label, const sol::table& v) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + float value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::DragFloat2(label.c_str(), value); + + sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); + + return std::make_tuple(float2, used); +} +inline std::tuple>, bool> DragFloat2(const std::string& label, const sol::table& v, float v_speed) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + float value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::DragFloat2(label.c_str(), value, v_speed); + + sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); + + return std::make_tuple(float2, used); +} +inline std::tuple>, bool> DragFloat2(const std::string& label, const sol::table& v, float v_speed, float v_min) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + float value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::DragFloat2(label.c_str(), value, v_speed, v_min); + + sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); + + return std::make_tuple(float2, used); +} +inline std::tuple>, bool> DragFloat2(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + float value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::DragFloat2(label.c_str(), value, v_speed, v_min, v_max); + + sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); + + return std::make_tuple(float2, used); +} +inline std::tuple>, bool> +DragFloat2(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max, const std::string& format) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + float value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::DragFloat2(label.c_str(), value, v_speed, v_min, v_max, format.c_str()); + + sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); + + return std::make_tuple(float2, used); +} +inline std::tuple>, bool> +DragFloat2(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max, const std::string& format, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + float value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::DragFloat2(label.c_str(), value, v_speed, v_min, v_max, format.c_str(), flags); + + sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); + + return std::make_tuple(float2, used); +} +inline std::tuple>, bool> DragFloat3(const std::string& label, const sol::table& v) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + float value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::DragFloat3(label.c_str(), value); + + sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); + + return std::make_tuple(float3, used); +} +inline std::tuple>, bool> DragFloat3(const std::string& label, const sol::table& v, float v_speed) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + float value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::DragFloat3(label.c_str(), value, v_speed); + + sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); + + return std::make_tuple(float3, used); +} +inline std::tuple>, bool> DragFloat3(const std::string& label, const sol::table& v, float v_speed, float v_min) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + float value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::DragFloat3(label.c_str(), value, v_speed, v_min); + + sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); + + return std::make_tuple(float3, used); +} +inline std::tuple>, bool> DragFloat3(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + float value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::DragFloat3(label.c_str(), value, v_speed, v_min, v_max); + + sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); + + return std::make_tuple(float3, used); +} +inline std::tuple>, bool> +DragFloat3(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max, const std::string& format) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + float value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::DragFloat3(label.c_str(), value, v_speed, v_min, v_max, format.c_str()); + + sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); + + return std::make_tuple(float3, used); +} +inline std::tuple>, bool> +DragFloat3(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max, const std::string& format, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + float value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::DragFloat3(label.c_str(), value, v_speed, v_min, v_max, format.c_str(), flags); + + sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); + + return std::make_tuple(float3, used); +} +inline std::tuple>, bool> DragFloat4(const std::string& label, const sol::table& v) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + float value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::DragFloat4(label.c_str(), value); + + sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); + + return std::make_tuple(float4, used); +} +inline std::tuple>, bool> DragFloat4(const std::string& label, const sol::table& v, float v_speed) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + float value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::DragFloat4(label.c_str(), value, v_speed); + + sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); + + return std::make_tuple(float4, used); +} +inline std::tuple>, bool> DragFloat4(const std::string& label, const sol::table& v, float v_speed, float v_min) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + float value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::DragFloat4(label.c_str(), value, v_speed, v_min); + + sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); + + return std::make_tuple(float4, used); +} +inline std::tuple>, bool> DragFloat4(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + float value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::DragFloat4(label.c_str(), value, v_speed, v_min, v_max); + + sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); + + return std::make_tuple(float4, used); +} +inline std::tuple>, bool> +DragFloat4(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max, const std::string& format) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + float value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::DragFloat4(label.c_str(), value, v_speed, v_min, v_max, format.c_str()); + + sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); + + return std::make_tuple(float4, used); +} +inline std::tuple>, bool> +DragFloat4(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max, const std::string& format, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + float value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::DragFloat4(label.c_str(), value, v_speed, v_min, v_max, format.c_str(), flags); + + sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); + + return std::make_tuple(float4, used); +} +inline void DragFloatRange2() +{ /* TODO: DragFloatRange2(...) ==> UNSUPPORTED */ +} +inline std::tuple DragInt(const std::string& label, int v) +{ + bool used = ImGui::DragInt(label.c_str(), &v); + return std::make_tuple(v, used); +} +inline std::tuple DragInt(const std::string& label, int v, float v_speed) +{ + bool used = ImGui::DragInt(label.c_str(), &v, v_speed); + return std::make_tuple(v, used); +} +inline std::tuple DragInt(const std::string& label, int v, float v_speed, int v_min) +{ + bool used = ImGui::DragInt(label.c_str(), &v, v_speed, v_min); + return std::make_tuple(v, used); +} +inline std::tuple DragInt(const std::string& label, int v, float v_speed, int v_min, int v_max) +{ + bool used = ImGui::DragInt(label.c_str(), &v, v_speed, v_min, v_max); + return std::make_tuple(v, used); +} +inline std::tuple DragInt(const std::string& label, int v, float v_speed, int v_min, int v_max, const std::string& format) +{ + bool used = ImGui::DragInt(label.c_str(), &v, v_speed, v_min, v_max, format.c_str()); + return std::make_tuple(v, used); +} +inline std::tuple DragInt(const std::string& label, int v, float v_speed, int v_min, int v_max, const std::string& format, int flags) +{ + bool used = ImGui::DragInt(label.c_str(), &v, v_speed, v_min, v_max, format.c_str(), flags); + return std::make_tuple(v, used); +} +inline std::tuple>, bool> DragInt2(const std::string& label, const sol::table& v) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + int value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::DragInt2(label.c_str(), value); + + sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); + + return std::make_tuple(int2, used); +} +inline std::tuple>, bool> DragInt2(const std::string& label, const sol::table& v, float v_speed) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + int value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::DragInt2(label.c_str(), value, v_speed); + + sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); + + return std::make_tuple(int2, used); +} +inline std::tuple>, bool> DragInt2(const std::string& label, const sol::table& v, float v_speed, int v_min) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + int value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::DragInt2(label.c_str(), value, v_speed, v_min); + + sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); + + return std::make_tuple(int2, used); +} +inline std::tuple>, bool> DragInt2(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + int value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::DragInt2(label.c_str(), value, v_speed, v_min, v_max); + + sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); + + return std::make_tuple(int2, used); +} +inline std::tuple>, bool> +DragInt2(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max, const std::string& format) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + int value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::DragInt2(label.c_str(), value, v_speed, v_min, v_max, format.c_str()); + + sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); + + return std::make_tuple(int2, used); +} +inline std::tuple>, bool> +DragInt2(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max, const std::string& format, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + int value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::DragInt2(label.c_str(), value, v_speed, v_min, v_max, format.c_str(), flags); + + sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); + + return std::make_tuple(int2, used); +} +inline std::tuple>, bool> DragInt3(const std::string& label, const sol::table& v) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + int value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::DragInt3(label.c_str(), value); + + sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); + + return std::make_tuple(int3, used); +} +inline std::tuple>, bool> DragInt3(const std::string& label, const sol::table& v, float v_speed) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + int value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::DragInt3(label.c_str(), value, v_speed); + + sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); + + return std::make_tuple(int3, used); +} +inline std::tuple>, bool> DragInt3(const std::string& label, const sol::table& v, float v_speed, int v_min) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + int value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::DragInt3(label.c_str(), value, v_speed, v_min); + + sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); + + return std::make_tuple(int3, used); +} +inline std::tuple>, bool> DragInt3(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + int value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::DragInt3(label.c_str(), value, v_speed, v_min, v_max); + + sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); + + return std::make_tuple(int3, used); +} +inline std::tuple>, bool> +DragInt3(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max, const std::string& format) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + int value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::DragInt3(label.c_str(), value, v_speed, v_min, v_max, format.c_str()); + + sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); + + return std::make_tuple(int3, used); +} +inline std::tuple>, bool> +DragInt3(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max, const std::string& format, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + int value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::DragInt3(label.c_str(), value, v_speed, v_min, v_max, format.c_str(), flags); + + sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); + + return std::make_tuple(int3, used); +} +inline std::tuple>, bool> DragInt4(const std::string& label, const sol::table& v) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + int value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::DragInt4(label.c_str(), value); + + sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); + + return std::make_tuple(int4, used); +} +inline std::tuple>, bool> DragInt4(const std::string& label, const sol::table& v, float v_speed) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + int value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::DragInt4(label.c_str(), value, v_speed); + + sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); + + return std::make_tuple(int4, used); +} +inline std::tuple>, bool> DragInt4(const std::string& label, const sol::table& v, float v_speed, int v_min) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + int value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::DragInt4(label.c_str(), value, v_speed, v_min); + + sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); + + return std::make_tuple(int4, used); +} +inline std::tuple>, bool> DragInt4(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + int value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::DragInt4(label.c_str(), value, v_speed, v_min, v_max); + + sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); + + return std::make_tuple(int4, used); +} +inline std::tuple>, bool> +DragInt4(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max, const std::string& format) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + int value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::DragInt4(label.c_str(), value, v_speed, v_min, v_max, format.c_str()); + + sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); + + return std::make_tuple(int4, used); +} +inline std::tuple>, bool> +DragInt4(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max, const std::string& format, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + int value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::DragInt4(label.c_str(), value, v_speed, v_min, v_max, format.c_str(), flags); + + sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); + + return std::make_tuple(int4, used); +} +inline void DragIntRange2() +{ /* TODO: DragIntRange2(...) ==> UNSUPPORTED */ +} +inline void DragScalar() +{ /* TODO: DragScalar(...) ==> UNSUPPORTED */ +} +inline void DragScalarN() +{ /* TODO: DragScalarN(...) ==> UNSUPPORTED */ +} + +// Widgets: Sliders +inline std::tuple SliderFloat(const std::string& label, float v, float v_min, float v_max) +{ + bool used = ImGui::SliderFloat(label.c_str(), &v, v_min, v_max); + return std::make_tuple(v, used); +} +inline std::tuple SliderFloat(const std::string& label, float v, float v_min, float v_max, const std::string& format) +{ + bool used = ImGui::SliderFloat(label.c_str(), &v, v_min, v_max, format.c_str()); + return std::make_tuple(v, used); +} +inline std::tuple SliderFloat(const std::string& label, float v, float v_min, float v_max, const std::string& format, int flags) +{ + bool used = ImGui::SliderFloat(label.c_str(), &v, v_min, v_max, format.c_str(), flags); + return std::make_tuple(v, used); +} +inline std::tuple>, bool> SliderFloat2(const std::string& label, const sol::table& v, float v_min, float v_max) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + float value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::SliderFloat2(label.c_str(), value, v_min, v_max); + + sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); + + return std::make_tuple(float2, used); +} +inline std::tuple>, bool> +SliderFloat2(const std::string& label, const sol::table& v, float v_min, float v_max, const std::string& format) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + float value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::SliderFloat2(label.c_str(), value, v_min, v_max, format.c_str()); + + sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); - sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + return std::make_tuple(float2, used); +} +inline std::tuple>, bool> +SliderFloat2(const std::string& label, const sol::table& v, float v_min, float v_max, const std::string& format, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + float value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::SliderFloat2(label.c_str(), value, v_min, v_max, format.c_str(), flags); - return std::make_tuple(float2, used); - } - inline std::tuple>, bool> DragFloat2(const std::string& label, const sol::table& v, float v_speed) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - float value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::DragFloat2(label.c_str(), value, v_speed); + sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); - sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + return std::make_tuple(float2, used); +} +inline std::tuple>, bool> SliderFloat3(const std::string& label, const sol::table& v, float v_min, float v_max) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + float value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::SliderFloat3(label.c_str(), value, v_min, v_max); - return std::make_tuple(float2, used); - } - inline std::tuple>, bool> DragFloat2(const std::string& label, const sol::table& v, float v_speed, float v_min) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - float value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::DragFloat2(label.c_str(), value, v_speed, v_min); + sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[3]}); - sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + return std::make_tuple(float3, used); +} +inline std::tuple>, bool> +SliderFloat3(const std::string& label, const sol::table& v, float v_min, float v_max, const std::string& format) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + float value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::SliderFloat3(label.c_str(), value, v_min, v_max, format.c_str()); - return std::make_tuple(float2, used); - } - inline std::tuple>, bool> DragFloat2(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - float value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::DragFloat2(label.c_str(), value, v_speed, v_min, v_max); + sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[3]}); - sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + return std::make_tuple(float3, used); +} +inline std::tuple>, bool> +SliderFloat3(const std::string& label, const sol::table& v, float v_min, float v_max, const std::string& format, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + float value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::SliderFloat3(label.c_str(), value, v_min, v_max, format.c_str(), flags); - return std::make_tuple(float2, used); - } - inline std::tuple>, bool> DragFloat2(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max, const std::string& format) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - float value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::DragFloat2(label.c_str(), value, v_speed, v_min, v_max, format.c_str()); + sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[3]}); - sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + return std::make_tuple(float3, used); +} +inline std::tuple>, bool> SliderFloat4(const std::string& label, const sol::table& v, float v_min, float v_max) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + float value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::SliderFloat4(label.c_str(), value, v_min, v_max); - return std::make_tuple(float2, used); - } - inline std::tuple>, bool> DragFloat2(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max, const std::string& format, int flags) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - float value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::DragFloat2(label.c_str(), value, v_speed, v_min, v_max, format.c_str(), flags); + sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); - sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + return std::make_tuple(float4, used); +} +inline std::tuple>, bool> +SliderFloat4(const std::string& label, const sol::table& v, float v_min, float v_max, const std::string& format) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + float value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::SliderFloat4(label.c_str(), value, v_min, v_max, format.c_str()); - return std::make_tuple(float2, used); - } - inline std::tuple>, bool> DragFloat3(const std::string& label, const sol::table& v) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - float value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::DragFloat3(label.c_str(), value); + sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); - sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); + return std::make_tuple(float4, used); +} +inline std::tuple>, bool> +SliderFloat4(const std::string& label, const sol::table& v, float v_min, float v_max, const std::string& format, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + float value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::SliderFloat4(label.c_str(), value, v_min, v_max, format.c_str(), flags); - return std::make_tuple(float3, used); - } - inline std::tuple>, bool> DragFloat3(const std::string& label, const sol::table& v, float v_speed) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - float value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::DragFloat3(label.c_str(), value, v_speed); + sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); - sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); + return std::make_tuple(float4, used); +} +inline std::tuple SliderAngle(const std::string& label, float v_rad) +{ + bool used = ImGui::SliderAngle(label.c_str(), &v_rad); + return std::make_tuple(v_rad, used); +} +inline std::tuple SliderAngle(const std::string& label, float v_rad, float v_degrees_min) +{ + bool used = ImGui::SliderAngle(label.c_str(), &v_rad, v_degrees_min); + return std::make_tuple(v_rad, used); +} +inline std::tuple SliderAngle(const std::string& label, float v_rad, float v_degrees_min, float v_degrees_max) +{ + bool used = ImGui::SliderAngle(label.c_str(), &v_rad, v_degrees_min, v_degrees_max); + return std::make_tuple(v_rad, used); +} +inline std::tuple SliderAngle(const std::string& label, float v_rad, float v_degrees_min, float v_degrees_max, const std::string& format) +{ + bool used = ImGui::SliderAngle(label.c_str(), &v_rad, v_degrees_min, v_degrees_max, format.c_str()); + return std::make_tuple(v_rad, used); +} +inline std::tuple SliderAngle(const std::string& label, float v_rad, float v_degrees_min, float v_degrees_max, const std::string& format, int flags) +{ + bool used = ImGui::SliderAngle(label.c_str(), &v_rad, v_degrees_min, v_degrees_max, format.c_str(), flags); + return std::make_tuple(v_rad, used); +} +inline std::tuple SliderInt(const std::string& label, int v, int v_min, int v_max) +{ + bool used = ImGui::SliderInt(label.c_str(), &v, v_min, v_max); + return std::make_tuple(v, used); +} +inline std::tuple SliderInt(const std::string& label, int v, int v_min, int v_max, const std::string& format) +{ + bool used = ImGui::SliderInt(label.c_str(), &v, v_min, v_max, format.c_str()); + return std::make_tuple(v, used); +} +inline std::tuple SliderInt(const std::string& label, int v, int v_min, int v_max, const std::string& format, int flags) +{ + bool used = ImGui::SliderInt(label.c_str(), &v, v_min, v_max, format.c_str(), flags); + return std::make_tuple(v, used); +} +inline std::tuple>, bool> SliderInt2(const std::string& label, const sol::table& v, int v_min, int v_max) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + int value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::SliderInt2(label.c_str(), value, v_min, v_max); - return std::make_tuple(float3, used); - } - inline std::tuple>, bool> DragFloat3(const std::string& label, const sol::table& v, float v_speed, float v_min) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - float value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::DragFloat3(label.c_str(), value, v_speed, v_min); + sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); - sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); + return std::make_tuple(int2, used); +} +inline std::tuple>, bool> SliderInt2(const std::string& label, const sol::table& v, int v_min, int v_max, const std::string& format) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + int value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::SliderInt2(label.c_str(), value, v_min, v_max, format.c_str()); - return std::make_tuple(float3, used); - } - inline std::tuple>, bool> DragFloat3(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - float value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::DragFloat3(label.c_str(), value, v_speed, v_min, v_max); + sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); - sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); + return std::make_tuple(int2, used); +} +inline std::tuple>, bool> +SliderInt2(const std::string& label, const sol::table& v, int v_min, int v_max, const std::string& format, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + int value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::SliderInt2(label.c_str(), value, v_min, v_max, format.c_str(), flags); - return std::make_tuple(float3, used); - } - inline std::tuple>, bool> DragFloat3(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max, const std::string& format) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - float value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::DragFloat3(label.c_str(), value, v_speed, v_min, v_max, format.c_str()); + sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); - sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); + return std::make_tuple(int2, used); +} +inline std::tuple>, bool> SliderInt3(const std::string& label, const sol::table& v, int v_min, int v_max) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + int value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::SliderInt3(label.c_str(), value, v_min, v_max); - return std::make_tuple(float3, used); - } - inline std::tuple>, bool> DragFloat3(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max, const std::string& format, int flags) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - float value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::DragFloat3(label.c_str(), value, v_speed, v_min, v_max, format.c_str(), flags); + sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); - sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); + return std::make_tuple(int3, used); +} +inline std::tuple>, bool> SliderInt3(const std::string& label, const sol::table& v, int v_min, int v_max, const std::string& format) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + int value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::SliderInt3(label.c_str(), value, v_min, v_max, format.c_str()); - return std::make_tuple(float3, used); - } - inline std::tuple>, bool> DragFloat4(const std::string& label, const sol::table& v) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - float value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::DragFloat4(label.c_str(), value); - - sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(float4, used); - } - inline std::tuple>, bool> DragFloat4(const std::string& label, const sol::table& v, float v_speed) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - float value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::DragFloat4(label.c_str(), value, v_speed); - - sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(float4, used); - } - inline std::tuple>, bool> DragFloat4(const std::string& label, const sol::table& v, float v_speed, float v_min) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - float value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::DragFloat4(label.c_str(), value, v_speed, v_min); - - sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(float4, used); - } - inline std::tuple>, bool> DragFloat4(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - float value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::DragFloat4(label.c_str(), value, v_speed, v_min, v_max); - - sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(float4, used); - } - inline std::tuple>, bool> DragFloat4(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max, const std::string& format) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - float value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::DragFloat4(label.c_str(), value, v_speed, v_min, v_max, format.c_str()); - - sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(float4, used); - } - inline std::tuple>, bool> DragFloat4(const std::string& label, const sol::table& v, float v_speed, float v_min, float v_max, const std::string& format, int flags) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - float value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::DragFloat4(label.c_str(), value, v_speed, v_min, v_max, format.c_str(), flags); - - sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(float4, used); - } - inline void DragFloatRange2() { /* TODO: DragFloatRange2(...) ==> UNSUPPORTED */ } - inline std::tuple DragInt(const std::string& label, int v) { bool used = ImGui::DragInt(label.c_str(), &v); return std::make_tuple(v, used); } - inline std::tuple DragInt(const std::string& label, int v, float v_speed) { bool used = ImGui::DragInt(label.c_str(), &v, v_speed); return std::make_tuple(v, used); } - inline std::tuple DragInt(const std::string& label, int v, float v_speed, int v_min) { bool used = ImGui::DragInt(label.c_str(), &v, v_speed, v_min); return std::make_tuple(v, used); } - inline std::tuple DragInt(const std::string& label, int v, float v_speed, int v_min, int v_max) { bool used = ImGui::DragInt(label.c_str(), &v, v_speed, v_min, v_max); return std::make_tuple(v, used); } - inline std::tuple DragInt(const std::string& label, int v, float v_speed, int v_min, int v_max, const std::string& format) { bool used = ImGui::DragInt(label.c_str(), &v, v_speed, v_min, v_max, format.c_str()); return std::make_tuple(v, used); } - inline std::tuple DragInt(const std::string& label, int v, float v_speed, int v_min, int v_max, const std::string& format, int flags) { bool used = ImGui::DragInt(label.c_str(), &v, v_speed, v_min, v_max, format.c_str(), flags); return std::make_tuple(v, used); } - inline std::tuple>, bool> DragInt2(const std::string& label, const sol::table& v) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - int value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::DragInt2(label.c_str(), value); + sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); - sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + return std::make_tuple(int3, used); +} +inline std::tuple>, bool> +SliderInt3(const std::string& label, const sol::table& v, int v_min, int v_max, const std::string& format, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + int value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::SliderInt3(label.c_str(), value, v_min, v_max, format.c_str(), flags); - return std::make_tuple(int2, used); - } - inline std::tuple>, bool> DragInt2(const std::string& label, const sol::table& v, float v_speed) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - int value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::DragInt2(label.c_str(), value, v_speed); + sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); - sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + return std::make_tuple(int3, used); +} +inline std::tuple>, bool> SliderInt4(const std::string& label, const sol::table& v, int v_min, int v_max) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + int value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::SliderInt4(label.c_str(), value, v_min, v_max); - return std::make_tuple(int2, used); - } - inline std::tuple>, bool> DragInt2(const std::string& label, const sol::table& v, float v_speed, int v_min) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - int value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::DragInt2(label.c_str(), value, v_speed, v_min); + sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); - sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + return std::make_tuple(int4, used); +} +inline std::tuple>, bool> SliderInt4(const std::string& label, const sol::table& v, int v_min, int v_max, const std::string& format) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + int value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::SliderInt4(label.c_str(), value, v_min, v_max, format.c_str()); - return std::make_tuple(int2, used); - } - inline std::tuple>, bool> DragInt2(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - int value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::DragInt2(label.c_str(), value, v_speed, v_min, v_max); + sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); - sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + return std::make_tuple(int4, used); +} +inline std::tuple>, bool> +SliderInt4(const std::string& label, const sol::table& v, int v_min, int v_max, const std::string& format, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + int value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::SliderInt4(label.c_str(), value, v_min, v_max, format.c_str(), flags); - return std::make_tuple(int2, used); - } - inline std::tuple>, bool> DragInt2(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max, const std::string& format) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - int value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::DragInt2(label.c_str(), value, v_speed, v_min, v_max, format.c_str()); + sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); - sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + return std::make_tuple(int4, used); +} +inline void SliderScalar() +{ /* TODO: SliderScalar(...) ==> UNSUPPORTED */ +} +inline void SliderScalarN() +{ /* TODO: SliderScalarN(...) ==> UNSUPPORTED */ +} +inline std::tuple VSliderFloat(const std::string& label, float sizeX, float sizeY, float v, float v_min, float v_max) +{ + bool used = ImGui::VSliderFloat(label.c_str(), {sizeX, sizeY}, &v, v_min, v_max); + return std::make_tuple(v, used); +} +inline std::tuple VSliderFloat(const std::string& label, float sizeX, float sizeY, float v, float v_min, float v_max, const std::string& format) +{ + bool used = ImGui::VSliderFloat(label.c_str(), {sizeX, sizeY}, &v, v_min, v_max, format.c_str()); + return std::make_tuple(v, used); +} +inline std::tuple VSliderFloat(const std::string& label, float sizeX, float sizeY, float v, float v_min, float v_max, const std::string& format, int flags) +{ + bool used = ImGui::VSliderFloat(label.c_str(), {sizeX, sizeY}, &v, v_min, v_max, format.c_str(), flags); + return std::make_tuple(v, used); +} +inline std::tuple VSliderInt(const std::string& label, float sizeX, float sizeY, int v, int v_min, int v_max) +{ + bool used = ImGui::VSliderInt(label.c_str(), {sizeX, sizeY}, &v, v_min, v_max); + return std::make_tuple(v, used); +} +inline std::tuple VSliderInt(const std::string& label, float sizeX, float sizeY, int v, int v_min, int v_max, const std::string& format) +{ + bool used = ImGui::VSliderInt(label.c_str(), {sizeX, sizeY}, &v, v_min, v_max, format.c_str()); + return std::make_tuple(v, used); +} +inline std::tuple VSliderInt(const std::string& label, float sizeX, float sizeY, int v, int v_min, int v_max, const std::string& format, int flags) +{ + bool used = ImGui::VSliderInt(label.c_str(), {sizeX, sizeY}, &v, v_min, v_max, format.c_str(), flags); + return std::make_tuple(v, used); +} +inline void VSliderScalar() +{ /* TODO: VSliderScalar(...) ==> UNSUPPORTED */ +} - return std::make_tuple(int2, used); - } - inline std::tuple>, bool> DragInt2(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max, const std::string& format, int flags) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - int value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::DragInt2(label.c_str(), value, v_speed, v_min, v_max, format.c_str(), flags); +// Widgets: Input with Keyboard +inline std::tuple InputText(const std::string& label, std::string text, unsigned int buf_size) +{ + text.resize(buf_size); + bool selected = ImGui::InputText(label.c_str(), text.data(), buf_size); + return std::make_tuple(text.c_str(), selected); +} +inline std::tuple InputText(const std::string& label, std::string text, unsigned int buf_size, int flags) +{ + text.resize(buf_size); + bool selected = ImGui::InputText(label.c_str(), text.data(), buf_size, flags); + return std::make_tuple(text.c_str(), selected); +} +inline std::tuple InputTextMultiline(const std::string& label, std::string text, unsigned int buf_size) +{ + text.resize(buf_size); + bool selected = ImGui::InputTextMultiline(label.c_str(), text.data(), buf_size); + return std::make_tuple(text.c_str(), selected); +} +inline std::tuple InputTextMultiline(const std::string& label, std::string text, unsigned int buf_size, float sizeX, float sizeY) +{ + text.resize(buf_size); + bool selected = ImGui::InputTextMultiline(label.c_str(), text.data(), buf_size, {sizeX, sizeY}); + return std::make_tuple(text.c_str(), selected); +} +inline std::tuple InputTextMultiline(const std::string& label, std::string text, unsigned int buf_size, float sizeX, float sizeY, int flags) +{ + text.resize(buf_size); + bool selected = ImGui::InputTextMultiline(label.c_str(), text.data(), buf_size, {sizeX, sizeY}, flags); + return std::make_tuple(text.c_str(), selected); +} +inline std::tuple InputTextWithHint(const std::string& label, const std::string& hint, std::string text, unsigned int buf_size) +{ + text.resize(buf_size); + bool selected = ImGui::InputTextWithHint(label.c_str(), hint.c_str(), text.data(), buf_size); + return std::make_tuple(text.c_str(), selected); +} +inline std::tuple InputTextWithHint(const std::string& label, const std::string& hint, std::string text, unsigned int buf_size, int flags) +{ + text.resize(buf_size); + bool selected = ImGui::InputTextWithHint(label.c_str(), hint.c_str(), text.data(), buf_size, flags); + return std::make_tuple(text.c_str(), selected); +} +inline std::tuple InputFloat(const std::string& label, float v) +{ + bool selected = ImGui::InputFloat(label.c_str(), &v); + return std::make_tuple(v, selected); +} +inline std::tuple InputFloat(const std::string& label, float v, float step) +{ + bool selected = ImGui::InputFloat(label.c_str(), &v, step); + return std::make_tuple(v, selected); +} +inline std::tuple InputFloat(const std::string& label, float v, float step, float step_fast) +{ + bool selected = ImGui::InputFloat(label.c_str(), &v, step, step_fast); + return std::make_tuple(v, selected); +} +inline std::tuple InputFloat(const std::string& label, float v, float step, float step_fast, const std::string& format) +{ + bool selected = ImGui::InputFloat(label.c_str(), &v, step, step_fast, format.c_str()); + return std::make_tuple(v, selected); +} +inline std::tuple InputFloat(const std::string& label, float v, float step, float step_fast, const std::string& format, int flags) +{ + bool selected = ImGui::InputFloat(label.c_str(), &v, step, step_fast, format.c_str(), flags); + return std::make_tuple(v, selected); +} +inline std::tuple>, bool> InputFloat2(const std::string& label, const sol::table& v) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + float value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::InputFloat2(label.c_str(), value); - sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); - return std::make_tuple(int2, used); - } - inline std::tuple>, bool> DragInt3(const std::string& label, const sol::table& v) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - int value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::DragInt3(label.c_str(), value); + return std::make_tuple(float2, used); +} +inline std::tuple>, bool> InputFloat2(const std::string& label, const sol::table& v, const std::string& format) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + float value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::InputFloat2(label.c_str(), value, format.c_str()); - sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); + sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); - return std::make_tuple(int3, used); - } - inline std::tuple>, bool> DragInt3(const std::string& label, const sol::table& v, float v_speed) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - int value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::DragInt3(label.c_str(), value, v_speed); + return std::make_tuple(float2, used); +} +inline std::tuple>, bool> InputFloat2(const std::string& label, const sol::table& v, const std::string& format, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + float value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::InputFloat2(label.c_str(), value, format.c_str(), flags); - sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); + sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); - return std::make_tuple(int3, used); - } - inline std::tuple>, bool> DragInt3(const std::string& label, const sol::table& v, float v_speed, int v_min) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - int value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::DragInt3(label.c_str(), value, v_speed, v_min); + return std::make_tuple(float2, used); +} +inline std::tuple>, bool> InputFloat3(const std::string& label, const sol::table& v) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + float value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::InputFloat3(label.c_str(), value); - sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); + sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); - return std::make_tuple(int3, used); - } - inline std::tuple>, bool> DragInt3(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - int value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::DragInt3(label.c_str(), value, v_speed, v_min, v_max); + return std::make_tuple(float3, used); +} +inline std::tuple>, bool> InputFloat3(const std::string& label, const sol::table& v, const std::string& format) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + float value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::InputFloat3(label.c_str(), value, format.c_str()); - sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); + sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); - return std::make_tuple(int3, used); - } - inline std::tuple>, bool> DragInt3(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max, const std::string& format) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - int value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::DragInt3(label.c_str(), value, v_speed, v_min, v_max, format.c_str()); + return std::make_tuple(float3, used); +} +inline std::tuple>, bool> InputFloat3(const std::string& label, const sol::table& v, const std::string& format, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + float value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::InputFloat3(label.c_str(), value, format.c_str(), flags); - sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); + sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); - return std::make_tuple(int3, used); - } - inline std::tuple>, bool> DragInt3(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max, const std::string& format, int flags) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - int value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::DragInt3(label.c_str(), value, v_speed, v_min, v_max, format.c_str(), flags); + return std::make_tuple(float3, used); +} +inline std::tuple>, bool> InputFloat4(const std::string& label, const sol::table& v) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + float value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::InputFloat4(label.c_str(), value); - sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); + sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); - return std::make_tuple(int3, used); - } - inline std::tuple>, bool> DragInt4(const std::string& label, const sol::table& v) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - int value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::DragInt4(label.c_str(), value); - - sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(int4, used); - } - inline std::tuple>, bool> DragInt4(const std::string& label, const sol::table& v, float v_speed) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - int value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::DragInt4(label.c_str(), value, v_speed); - - sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(int4, used); - } - inline std::tuple>, bool> DragInt4(const std::string& label, const sol::table& v, float v_speed, int v_min) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - int value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::DragInt4(label.c_str(), value, v_speed, v_min); - - sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(int4, used); - } - inline std::tuple>, bool> DragInt4(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - int value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::DragInt4(label.c_str(), value, v_speed, v_min, v_max); - - sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(int4, used); - } - inline std::tuple>, bool> DragInt4(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max, const std::string& format) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - int value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::DragInt4(label.c_str(), value, v_speed, v_min, v_max, format.c_str()); - - sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(int4, used); - } - inline std::tuple>, bool> DragInt4(const std::string& label, const sol::table& v, float v_speed, int v_min, int v_max, const std::string& format, int flags) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - int value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::DragInt4(label.c_str(), value, v_speed, v_min, v_max, format.c_str(), flags); - - sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(int4, used); - } - inline void DragIntRange2() { /* TODO: DragIntRange2(...) ==> UNSUPPORTED */ } - inline void DragScalar() { /* TODO: DragScalar(...) ==> UNSUPPORTED */ } - inline void DragScalarN() { /* TODO: DragScalarN(...) ==> UNSUPPORTED */ } - - // Widgets: Sliders - inline std::tuple SliderFloat(const std::string& label, float v, float v_min, float v_max) { bool used = ImGui::SliderFloat(label.c_str(), &v, v_min, v_max); return std::make_tuple(v, used); } - inline std::tuple SliderFloat(const std::string& label, float v, float v_min, float v_max, const std::string& format) { bool used = ImGui::SliderFloat(label.c_str(), &v, v_min, v_max, format.c_str()); return std::make_tuple(v, used); } - inline std::tuple SliderFloat(const std::string& label, float v, float v_min, float v_max, const std::string& format, int flags) { bool used = ImGui::SliderFloat(label.c_str(), &v, v_min, v_max, format.c_str(), flags); return std::make_tuple(v, used); } - inline std::tuple>, bool> SliderFloat2(const std::string& label, const sol::table& v, float v_min, float v_max) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - float value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::SliderFloat2(label.c_str(), value, v_min, v_max); + return std::make_tuple(float4, used); +} +inline std::tuple>, bool> InputFloat4(const std::string& label, const sol::table& v, const std::string& format) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + float value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::InputFloat4(label.c_str(), value, format.c_str()); - sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); - return std::make_tuple(float2, used); - } - inline std::tuple>, bool> SliderFloat2(const std::string& label, const sol::table& v, float v_min, float v_max, const std::string& format) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - float value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::SliderFloat2(label.c_str(), value, v_min, v_max, format.c_str()); + return std::make_tuple(float4, used); +} +inline std::tuple>, bool> InputFloat4(const std::string& label, const sol::table& v, const std::string& format, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + float value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::InputFloat4(label.c_str(), value, format.c_str(), flags); - sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); - return std::make_tuple(float2, used); - } - inline std::tuple>, bool> SliderFloat2(const std::string& label, const sol::table& v, float v_min, float v_max, const std::string& format, int flags) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - float value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::SliderFloat2(label.c_str(), value, v_min, v_max, format.c_str(), flags); + return std::make_tuple(float4, used); +} +inline std::tuple InputInt(const std::string& label, int v) +{ + bool selected = ImGui::InputInt(label.c_str(), &v); + return std::make_tuple(v, selected); +} +inline std::tuple InputInt(const std::string& label, int v, int step) +{ + bool selected = ImGui::InputInt(label.c_str(), &v, step); + return std::make_tuple(v, selected); +} +inline std::tuple InputInt(const std::string& label, int v, int step, int step_fast) +{ + bool selected = ImGui::InputInt(label.c_str(), &v, step, step_fast); + return std::make_tuple(v, selected); +} +inline std::tuple InputInt(const std::string& label, int v, int step, int step_fast, int flags) +{ + bool selected = ImGui::InputInt(label.c_str(), &v, step, step_fast, flags); + return std::make_tuple(v, selected); +} +inline std::tuple>, bool> InputInt2(const std::string& label, const sol::table& v) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + int value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::InputInt2(label.c_str(), value); - sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); - return std::make_tuple(float2, used); - } - inline std::tuple>, bool> SliderFloat3(const std::string& label, const sol::table& v, float v_min, float v_max) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - float value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::SliderFloat3(label.c_str(), value, v_min, v_max); + return std::make_tuple(int2, used); +} +inline std::tuple>, bool> InputInt2(const std::string& label, const sol::table& v, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}; + int value[2] = {static_cast(v1), static_cast(v2)}; + bool used = ImGui::InputInt2(label.c_str(), value, flags); - sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[3] - }); + sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{value[0], value[1]}); - return std::make_tuple(float3, used); - } - inline std::tuple>, bool> SliderFloat3(const std::string& label, const sol::table& v, float v_min, float v_max, const std::string& format) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - float value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::SliderFloat3(label.c_str(), value, v_min, v_max, format.c_str()); + return std::make_tuple(int2, used); +} +inline std::tuple>, bool> InputInt3(const std::string& label, const sol::table& v) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + int value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::InputInt3(label.c_str(), value); - sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[3] - }); + sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); - return std::make_tuple(float3, used); - } - inline std::tuple>, bool> SliderFloat3(const std::string& label, const sol::table& v, float v_min, float v_max, const std::string& format, int flags) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - float value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::SliderFloat3(label.c_str(), value, v_min, v_max, format.c_str(), flags); + return std::make_tuple(int3, used); +} +inline std::tuple>, bool> InputInt3(const std::string& label, const sol::table& v, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}; + int value[3] = {static_cast(v1), static_cast(v2), static_cast(v3)}; + bool used = ImGui::InputInt3(label.c_str(), value, flags); - sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[3] - }); + sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2]}); - return std::make_tuple(float3, used); - } - inline std::tuple>, bool> SliderFloat4(const std::string& label, const sol::table& v, float v_min, float v_max) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - float value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::SliderFloat4(label.c_str(), value, v_min, v_max); - - sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(float4, used); - } - inline std::tuple>, bool> SliderFloat4(const std::string& label, const sol::table& v, float v_min, float v_max, const std::string& format) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - float value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::SliderFloat4(label.c_str(), value, v_min, v_max, format.c_str()); - - sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(float4, used); - } - inline std::tuple>, bool> SliderFloat4(const std::string& label, const sol::table& v, float v_min, float v_max, const std::string& format, int flags) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - float value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::SliderFloat4(label.c_str(), value, v_min, v_max, format.c_str(), flags); - - sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(float4, used); - } - inline std::tuple SliderAngle(const std::string& label, float v_rad) { bool used = ImGui::SliderAngle(label.c_str(), &v_rad); return std::make_tuple(v_rad, used); } - inline std::tuple SliderAngle(const std::string& label, float v_rad, float v_degrees_min) { bool used = ImGui::SliderAngle(label.c_str(), &v_rad, v_degrees_min); return std::make_tuple(v_rad, used); } - inline std::tuple SliderAngle(const std::string& label, float v_rad, float v_degrees_min, float v_degrees_max) { bool used = ImGui::SliderAngle(label.c_str(), &v_rad, v_degrees_min, v_degrees_max); return std::make_tuple(v_rad, used); } - inline std::tuple SliderAngle(const std::string& label, float v_rad, float v_degrees_min, float v_degrees_max, const std::string& format) { bool used = ImGui::SliderAngle(label.c_str(), &v_rad, v_degrees_min, v_degrees_max, format.c_str()); return std::make_tuple(v_rad, used); } - inline std::tuple SliderAngle(const std::string& label, float v_rad, float v_degrees_min, float v_degrees_max, const std::string& format, int flags) { bool used = ImGui::SliderAngle(label.c_str(), &v_rad, v_degrees_min, v_degrees_max, format.c_str(), flags); return std::make_tuple(v_rad, used); } - inline std::tuple SliderInt(const std::string& label, int v, int v_min, int v_max) { bool used = ImGui::SliderInt(label.c_str(), &v, v_min, v_max); return std::make_tuple(v, used); } - inline std::tuple SliderInt(const std::string& label, int v, int v_min, int v_max, const std::string& format) { bool used = ImGui::SliderInt(label.c_str(), &v, v_min, v_max, format.c_str()); return std::make_tuple(v, used); } - inline std::tuple SliderInt(const std::string& label, int v, int v_min, int v_max, const std::string& format, int flags) { bool used = ImGui::SliderInt(label.c_str(), &v, v_min, v_max, format.c_str(), flags); return std::make_tuple(v, used); } - inline std::tuple>, bool> SliderInt2(const std::string& label, const sol::table& v, int v_min, int v_max) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - int value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::SliderInt2(label.c_str(), value, v_min, v_max); + return std::make_tuple(int3, used); +} +inline std::tuple>, bool> InputInt4(const std::string& label, const sol::table& v) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + int value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::InputInt4(label.c_str(), value); - sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); - return std::make_tuple(int2, used); - } - inline std::tuple>, bool> SliderInt2(const std::string& label, const sol::table& v, int v_min, int v_max, const std::string& format) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - int value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::SliderInt2(label.c_str(), value, v_min, v_max, format.c_str()); + return std::make_tuple(int4, used); +} +inline std::tuple>, bool> InputInt4(const std::string& label, const sol::table& v, int flags) +{ + const lua_Number v1{v[1].get>().value_or(static_cast(0))}, v2{v[2].get>().value_or(static_cast(0))}, + v3{v[3].get>().value_or(static_cast(0))}, v4{v[4].get>().value_or(static_cast(0))}; + int value[4] = {static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4)}; + bool used = ImGui::InputInt4(label.c_str(), value, flags); - sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{value[0], value[1], value[2], value[3]}); - return std::make_tuple(int2, used); - } - inline std::tuple>, bool> SliderInt2(const std::string& label, const sol::table& v, int v_min, int v_max, const std::string& format, int flags) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - int value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::SliderInt2(label.c_str(), value, v_min, v_max, format.c_str(), flags); + return std::make_tuple(int4, used); +} +inline std::tuple InputDouble(const std::string& label, double v) +{ + bool selected = ImGui::InputDouble(label.c_str(), &v); + return std::make_tuple(v, selected); +} +inline std::tuple InputDouble(const std::string& label, double v, double step) +{ + bool selected = ImGui::InputDouble(label.c_str(), &v, step); + return std::make_tuple(v, selected); +} +inline std::tuple InputDouble(const std::string& label, double v, double step, double step_fast) +{ + bool selected = ImGui::InputDouble(label.c_str(), &v, step, step_fast); + return std::make_tuple(v, selected); +} +inline std::tuple InputDouble(const std::string& label, double v, double step, double step_fast, const std::string& format) +{ + bool selected = ImGui::InputDouble(label.c_str(), &v, step, step_fast, format.c_str()); + return std::make_tuple(v, selected); +} +inline std::tuple InputDouble(const std::string& label, double v, double step, double step_fast, const std::string& format, int flags) +{ + bool selected = ImGui::InputDouble(label.c_str(), &v, step, step_fast, format.c_str(), flags); + return std::make_tuple(v, selected); +} +inline void InputScalar() +{ /* TODO: InputScalar(...) ==> UNSUPPORTED */ +} +inline void InputScalarN() +{ /* TODO: InputScalarN(...) ==> UNSUPPORTED */ +} - sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); +// Widgets: Color Editor / Picker +inline std::tuple>, bool> ColorEdit3(const std::string& label, const sol::table& col) +{ + const lua_Number r{col[1].get>().value_or(static_cast(0))}, + g{col[2].get>().value_or(static_cast(0))}, b{col[3].get>().value_or(static_cast(0))}; + float color[3] = {static_cast(r), static_cast(g), static_cast(b)}; + bool used = ImGui::ColorEdit3(label.c_str(), color); - return std::make_tuple(int2, used); - } - inline std::tuple>, bool> SliderInt3(const std::string& label, const sol::table& v, int v_min, int v_max) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - int value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::SliderInt3(label.c_str(), value, v_min, v_max); + sol::as_table_t rgb = sol::as_table(TiltedPhoques::Vector{color[0], color[1], color[2]}); - sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); + return std::make_tuple(rgb, used); +} +inline std::tuple>, bool> ColorEdit3(const std::string& label, const sol::table& col, int flags) +{ + const lua_Number r{col[1].get>().value_or(static_cast(0))}, + g{col[2].get>().value_or(static_cast(0))}, b{col[3].get>().value_or(static_cast(0))}; + float color[3] = {static_cast(r), static_cast(g), static_cast(b)}; + bool used = ImGui::ColorEdit3(label.c_str(), color, flags); - return std::make_tuple(int3, used); - } - inline std::tuple>, bool> SliderInt3(const std::string& label, const sol::table& v, int v_min, int v_max, const std::string& format) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - int value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::SliderInt3(label.c_str(), value, v_min, v_max, format.c_str()); + sol::as_table_t rgb = sol::as_table(TiltedPhoques::Vector{color[0], color[1], color[2]}); - sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); + return std::make_tuple(rgb, used); +} +inline std::tuple>, bool> ColorEdit4(const std::string& label, const sol::table& col) +{ + const lua_Number r{col[1].get>().value_or(static_cast(0))}, + g{col[2].get>().value_or(static_cast(0))}, b{col[3].get>().value_or(static_cast(0))}, + a{col[4].get>().value_or(static_cast(0))}; + float color[4] = {static_cast(r), static_cast(g), static_cast(b), static_cast(a)}; + bool used = ImGui::ColorEdit4(label.c_str(), color); - return std::make_tuple(int3, used); - } - inline std::tuple>, bool> SliderInt3(const std::string& label, const sol::table& v, int v_min, int v_max, const std::string& format, int flags) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - int value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::SliderInt3(label.c_str(), value, v_min, v_max, format.c_str(), flags); + sol::as_table_t rgba = sol::as_table(TiltedPhoques::Vector{color[0], color[1], color[2], color[3]}); - sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); + return std::make_tuple(rgba, used); +} +inline std::tuple>, bool> ColorEdit4(const std::string& label, const sol::table& col, int flags) +{ + const lua_Number r{col[1].get>().value_or(static_cast(0))}, + g{col[2].get>().value_or(static_cast(0))}, b{col[3].get>().value_or(static_cast(0))}, + a{col[4].get>().value_or(static_cast(0))}; + float color[4] = {static_cast(r), static_cast(g), static_cast(b), static_cast(a)}; + bool used = ImGui::ColorEdit4(label.c_str(), color, flags); - return std::make_tuple(int3, used); - } - inline std::tuple>, bool> SliderInt4(const std::string& label, const sol::table& v, int v_min, int v_max) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - int value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::SliderInt4(label.c_str(), value, v_min, v_max); - - sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(int4, used); - } - inline std::tuple>, bool> SliderInt4(const std::string& label, const sol::table& v, int v_min, int v_max, const std::string& format) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - int value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::SliderInt4(label.c_str(), value, v_min, v_max, format.c_str()); - - sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(int4, used); - } - inline std::tuple>, bool> SliderInt4(const std::string& label, const sol::table& v, int v_min, int v_max, const std::string& format, int flags) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - int value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::SliderInt4(label.c_str(), value, v_min, v_max, format.c_str(), flags); - - sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(int4, used); - } - inline void SliderScalar() { /* TODO: SliderScalar(...) ==> UNSUPPORTED */ } - inline void SliderScalarN() { /* TODO: SliderScalarN(...) ==> UNSUPPORTED */ } - inline std::tuple VSliderFloat(const std::string& label, float sizeX, float sizeY, float v, float v_min, float v_max) { bool used = ImGui::VSliderFloat(label.c_str(), { sizeX, sizeY }, &v, v_min, v_max); return std::make_tuple(v, used); } - inline std::tuple VSliderFloat(const std::string& label, float sizeX, float sizeY, float v, float v_min, float v_max, const std::string& format) { bool used = ImGui::VSliderFloat(label.c_str(), { sizeX, sizeY }, &v, v_min, v_max, format.c_str()); return std::make_tuple(v, used); } - inline std::tuple VSliderFloat(const std::string& label, float sizeX, float sizeY, float v, float v_min, float v_max, const std::string& format, int flags) { bool used = ImGui::VSliderFloat(label.c_str(), { sizeX, sizeY }, &v, v_min, v_max, format.c_str(), flags); return std::make_tuple(v, used); } - inline std::tuple VSliderInt(const std::string& label, float sizeX, float sizeY, int v, int v_min, int v_max) { bool used = ImGui::VSliderInt(label.c_str(), { sizeX, sizeY }, &v, v_min, v_max); return std::make_tuple(v, used); } - inline std::tuple VSliderInt(const std::string& label, float sizeX, float sizeY, int v, int v_min, int v_max, const std::string& format) { bool used = ImGui::VSliderInt(label.c_str(), { sizeX, sizeY }, &v, v_min, v_max, format.c_str()); return std::make_tuple(v, used); } - inline std::tuple VSliderInt(const std::string& label, float sizeX, float sizeY, int v, int v_min, int v_max, const std::string& format, int flags) { bool used = ImGui::VSliderInt(label.c_str(), { sizeX, sizeY }, &v, v_min, v_max, format.c_str(), flags); return std::make_tuple(v, used); } - inline void VSliderScalar() { /* TODO: VSliderScalar(...) ==> UNSUPPORTED */ } - - // Widgets: Input with Keyboard - inline std::tuple InputText(const std::string& label, std::string text, unsigned int buf_size) { text.resize(buf_size); bool selected = ImGui::InputText(label.c_str(), text.data(), buf_size); return std::make_tuple(text.c_str(), selected); } - inline std::tuple InputText(const std::string& label, std::string text, unsigned int buf_size, int flags) { text.resize(buf_size); bool selected = ImGui::InputText(label.c_str(), text.data(), buf_size, flags); return std::make_tuple(text.c_str(), selected); } - inline std::tuple InputTextMultiline(const std::string& label, std::string text, unsigned int buf_size) { text.resize(buf_size); bool selected = ImGui::InputTextMultiline(label.c_str(), text.data(), buf_size); return std::make_tuple(text.c_str(), selected); } - inline std::tuple InputTextMultiline(const std::string& label, std::string text, unsigned int buf_size, float sizeX, float sizeY) { text.resize(buf_size); bool selected = ImGui::InputTextMultiline(label.c_str(), text.data(), buf_size, { sizeX, sizeY }); return std::make_tuple(text.c_str(), selected); } - inline std::tuple InputTextMultiline(const std::string& label, std::string text, unsigned int buf_size, float sizeX, float sizeY, int flags) { text.resize(buf_size); bool selected = ImGui::InputTextMultiline(label.c_str(), text.data(), buf_size, { sizeX, sizeY }, flags); return std::make_tuple(text.c_str(), selected); } - inline std::tuple InputTextWithHint(const std::string& label, const std::string& hint, std::string text, unsigned int buf_size) { text.resize(buf_size); bool selected = ImGui::InputTextWithHint(label.c_str(), hint.c_str(), text.data(), buf_size); return std::make_tuple(text.c_str(), selected); } - inline std::tuple InputTextWithHint(const std::string& label, const std::string& hint, std::string text, unsigned int buf_size, int flags) { text.resize(buf_size); bool selected = ImGui::InputTextWithHint(label.c_str(), hint.c_str(), text.data(), buf_size, flags); return std::make_tuple(text.c_str(), selected); } - inline std::tuple InputFloat(const std::string& label, float v) { bool selected = ImGui::InputFloat(label.c_str(), &v); return std::make_tuple(v, selected); } - inline std::tuple InputFloat(const std::string& label, float v, float step) { bool selected = ImGui::InputFloat(label.c_str(), &v, step); return std::make_tuple(v, selected); } - inline std::tuple InputFloat(const std::string& label, float v, float step, float step_fast) { bool selected = ImGui::InputFloat(label.c_str(), &v, step, step_fast); return std::make_tuple(v, selected); } - inline std::tuple InputFloat(const std::string& label, float v, float step, float step_fast, const std::string& format) { bool selected = ImGui::InputFloat(label.c_str(), &v, step, step_fast, format.c_str()); return std::make_tuple(v, selected); } - inline std::tuple InputFloat(const std::string& label, float v, float step, float step_fast, const std::string& format, int flags) { bool selected = ImGui::InputFloat(label.c_str(), &v, step, step_fast, format.c_str(), flags); return std::make_tuple(v, selected); } - inline std::tuple >, bool> InputFloat2(const std::string& label, const sol::table& v) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - float value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::InputFloat2(label.c_str(), value); + sol::as_table_t rgba = sol::as_table(TiltedPhoques::Vector{color[0], color[1], color[2], color[3]}); - sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + return std::make_tuple(rgba, used); +} +inline std::tuple>, bool> ColorPicker3(const std::string& label, const sol::table& col) +{ + const lua_Number r{col[1].get>().value_or(static_cast(0))}, + g{col[2].get>().value_or(static_cast(0))}, b{col[3].get>().value_or(static_cast(0))}; + float color[3] = {static_cast(r), static_cast(g), static_cast(b)}; + bool used = ImGui::ColorPicker3(label.c_str(), color); - return std::make_tuple(float2, used); - } - inline std::tuple >, bool> InputFloat2(const std::string& label, const sol::table& v, const std::string& format) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - float value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::InputFloat2(label.c_str(), value, format.c_str()); + sol::as_table_t rgb = sol::as_table(TiltedPhoques::Vector{color[0], color[1], color[2]}); - sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + return std::make_tuple(rgb, used); +} +inline std::tuple>, bool> ColorPicker3(const std::string& label, const sol::table& col, int flags) +{ + const lua_Number r{col[1].get>().value_or(static_cast(0))}, + g{col[2].get>().value_or(static_cast(0))}, b{col[3].get>().value_or(static_cast(0))}; + float color[3] = {static_cast(r), static_cast(g), static_cast(b)}; + bool used = ImGui::ColorPicker3(label.c_str(), color, flags); - return std::make_tuple(float2, used); - } - inline std::tuple >, bool> InputFloat2(const std::string& label, const sol::table& v, const std::string& format, int flags) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - float value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::InputFloat2(label.c_str(), value, format.c_str(), flags); + sol::as_table_t rgb = sol::as_table(TiltedPhoques::Vector{color[0], color[1], color[2]}); - sol::as_table_t float2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + return std::make_tuple(rgb, used); +} +inline std::tuple>, bool> ColorPicker4(const std::string& label, const sol::table& col) +{ + const lua_Number r{col[1].get>().value_or(static_cast(0))}, + g{col[2].get>().value_or(static_cast(0))}, b{col[3].get>().value_or(static_cast(0))}, + a{col[4].get>().value_or(static_cast(0))}; + float color[4] = {static_cast(r), static_cast(g), static_cast(b), static_cast(a)}; + bool used = ImGui::ColorPicker4(label.c_str(), color); - return std::make_tuple(float2, used); - } - inline std::tuple >, bool> InputFloat3(const std::string& label, const sol::table& v) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - float value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::InputFloat3(label.c_str(), value); + sol::as_table_t rgba = sol::as_table(TiltedPhoques::Vector{color[0], color[1], color[2], color[3]}); - sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); + return std::make_tuple(rgba, used); +} +inline std::tuple>, bool> ColorPicker4(const std::string& label, const sol::table& col, int flags) +{ + const lua_Number r{col[1].get>().value_or(static_cast(0))}, + g{col[2].get>().value_or(static_cast(0))}, b{col[3].get>().value_or(static_cast(0))}, + a{col[4].get>().value_or(static_cast(0))}; + float color[4] = {static_cast(r), static_cast(g), static_cast(b), static_cast(a)}; + bool used = ImGui::ColorPicker4(label.c_str(), color, flags); - return std::make_tuple(float3, used); - } - inline std::tuple >, bool> InputFloat3(const std::string& label, const sol::table& v, const std::string& format) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - float value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::InputFloat3(label.c_str(), value, format.c_str()); + sol::as_table_t rgba = sol::as_table(TiltedPhoques::Vector{color[0], color[1], color[2], color[3]}); - sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); + return std::make_tuple(rgba, used); +} +inline bool ColorButton(const std::string& desc_id, const sol::table& col) +{ + const lua_Number r{col[1].get>().value_or(static_cast(0))}, + g{col[2].get>().value_or(static_cast(0))}, b{col[3].get>().value_or(static_cast(0))}, + a{col[4].get>().value_or(static_cast(0))}; + const ImVec4 color{static_cast(r), static_cast(g), static_cast(b), static_cast(a)}; + return ImGui::ColorButton(desc_id.c_str(), color); +} +inline bool ColorButton(const std::string& desc_id, const sol::table& col, int flags) +{ + const lua_Number r{col[1].get>().value_or(static_cast(0))}, + g{col[2].get>().value_or(static_cast(0))}, b{col[3].get>().value_or(static_cast(0))}, + a{col[4].get>().value_or(static_cast(0))}; + const ImVec4 color{static_cast(r), static_cast(g), static_cast(b), static_cast(a)}; + return ImGui::ColorButton(desc_id.c_str(), color, flags); +} +inline bool ColorButton(const std::string& desc_id, const sol::table& col, int flags, float sizeX, float sizeY) +{ + const lua_Number r{col[1].get>().value_or(static_cast(0))}, + g{col[2].get>().value_or(static_cast(0))}, b{col[3].get>().value_or(static_cast(0))}, + a{col[4].get>().value_or(static_cast(0))}; + const ImVec4 color{static_cast(r), static_cast(g), static_cast(b), static_cast(a)}; + return ImGui::ColorButton(desc_id.c_str(), color, flags, {sizeX, sizeY}); +} +inline void SetColorEditOptions(int flags) +{ + ImGui::SetColorEditOptions(flags); +} - return std::make_tuple(float3, used); - } - inline std::tuple >, bool> InputFloat3(const std::string& label, const sol::table& v, const std::string& format, int flags) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - float value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::InputFloat3(label.c_str(), value, format.c_str(), flags); +// Widgets: Trees +inline bool TreeNode(const std::string& label) +{ + return ImGui::TreeNode(label.c_str()); +} +inline bool TreeNode(const std::string& label, const std::string& fmt) +{ + return ImGui::TreeNode(label.c_str(), "%s", fmt.c_str()); +} +/* TODO: TreeNodeV(...) (2) ==> UNSUPPORTED */ +inline bool TreeNodeEx(const std::string& label) +{ + return ImGui::TreeNodeEx(label.c_str()); +} +inline bool TreeNodeEx(const std::string& label, int flags) +{ + return ImGui::TreeNodeEx(label.c_str(), flags); +} +inline bool TreeNodeEx(const std::string& label, int flags, const std::string& fmt) +{ + return ImGui::TreeNodeEx(label.c_str(), flags, "%s", fmt.c_str()); +} +/* TODO: TreeNodeExV(...) (2) ==> UNSUPPORTED */ +inline void TreePush(const std::string& str_id) +{ + ImGui::TreePush(str_id.c_str()); +} +/* TODO: TreePush(const void*) ==> UNSUPPORTED */ +inline void TreePop() +{ + ImGui::TreePop(); +} +inline float GetTreeNodeToLabelSpacing() +{ + return ImGui::GetTreeNodeToLabelSpacing(); +} +inline bool CollapsingHeader(const std::string& label) +{ + return ImGui::CollapsingHeader(label.c_str()); +} +inline bool CollapsingHeader(const std::string& label, int flags) +{ + return ImGui::CollapsingHeader(label.c_str(), flags); +} +inline std::tuple CollapsingHeader(const std::string& label, bool open) +{ + bool notCollapsed = ImGui::CollapsingHeader(label.c_str(), &open); + return std::make_tuple(open, notCollapsed); +} +inline std::tuple CollapsingHeader(const std::string& label, bool open, int flags) +{ + bool notCollapsed = ImGui::CollapsingHeader(label.c_str(), &open, flags); + return std::make_tuple(open, notCollapsed); +} +inline void SetNextItemOpen(bool is_open) +{ + ImGui::SetNextItemOpen(is_open); +} +inline void SetNextItemOpen(bool is_open, int cond) +{ + ImGui::SetNextItemOpen(is_open, cond); +} - sol::as_table_t float3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); +// Widgets: Selectables +// TODO: Only one of Selectable variations is possible due to same parameters for Lua +inline bool Selectable(const std::string& label) +{ + return ImGui::Selectable(label.c_str()); +} +inline bool Selectable(const std::string& label, bool selected) +{ + ImGui::Selectable(label.c_str(), &selected); + return selected; +} +inline bool Selectable(const std::string& label, bool selected, int flags) +{ + ImGui::Selectable(label.c_str(), &selected, flags); + return selected; +} +inline bool Selectable(const std::string& label, bool selected, int flags, float sizeX, float sizeY) +{ + ImGui::Selectable(label.c_str(), &selected, flags, {sizeX, sizeY}); + return selected; +} - return std::make_tuple(float3, used); - } - inline std::tuple >, bool> InputFloat4(const std::string& label, const sol::table& v) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - float value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::InputFloat4(label.c_str(), value); - - sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(float4, used); - } - inline std::tuple >, bool> InputFloat4(const std::string& label, const sol::table& v, const std::string& format) +// Widgets: List Boxes +inline std::tuple ListBox(const std::string& label, int current_item, const sol::table& items, int items_count) +{ + TiltedPhoques::Vector strings; + for (int i{1}; i <= items_count; i++) { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - float value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::InputFloat4(label.c_str(), value, format.c_str()); - - sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(float4, used); + const auto& stringItem = items.get>(i); + strings.emplace_back(stringItem.value_or("Missing")); } - inline std::tuple >, bool> InputFloat4(const std::string& label, const sol::table& v, const std::string& format, int flags) + + TiltedPhoques::Vector cstrings; + for (auto& string : strings) + cstrings.emplace_back(string.c_str()); + + bool clicked = ImGui::ListBox(label.c_str(), ¤t_item, cstrings.data(), items_count); + return std::make_tuple(current_item, clicked); +} +inline std::tuple ListBox(const std::string& label, int current_item, const sol::table& items, int items_count, int height_in_items) +{ + TiltedPhoques::Vector strings; + for (int i{1}; i <= items_count; i++) { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - float value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::InputFloat4(label.c_str(), value, format.c_str(), flags); - - sol::as_table_t float4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(float4, used); + const auto& stringItem = items.get>(i); + strings.emplace_back(stringItem.value_or("Missing")); } - inline std::tuple InputInt(const std::string& label, int v) { bool selected = ImGui::InputInt(label.c_str(), &v); return std::make_tuple(v, selected); } - inline std::tuple InputInt(const std::string& label, int v, int step) { bool selected = ImGui::InputInt(label.c_str(), &v, step); return std::make_tuple(v, selected); } - inline std::tuple InputInt(const std::string& label, int v, int step, int step_fast) { bool selected = ImGui::InputInt(label.c_str(), &v, step, step_fast); return std::make_tuple(v, selected); } - inline std::tuple InputInt(const std::string& label, int v, int step, int step_fast, int flags) { bool selected = ImGui::InputInt(label.c_str(), &v, step, step_fast, flags); return std::make_tuple(v, selected); } - inline std::tuple >, bool> InputInt2(const std::string& label, const sol::table& v) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - int value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::InputInt2(label.c_str(), value); - sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); + TiltedPhoques::Vector cstrings; + for (auto& string : strings) + cstrings.emplace_back(string.c_str()); - return std::make_tuple(int2, used); - } - inline std::tuple >, bool> InputInt2(const std::string& label, const sol::table& v, int flags) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }; - int value[2] = { static_cast(v1), static_cast(v2) }; - bool used = ImGui::InputInt2(label.c_str(), value, flags); + bool clicked = ImGui::ListBox(label.c_str(), ¤t_item, cstrings.data(), items_count, height_in_items); + return std::make_tuple(current_item, clicked); +} +inline bool BeginListBox(const std::string& label) +{ + return ImGui::BeginListBox(label.c_str()); +} +inline bool BeginListBox(const std::string& label, float sizeX, float sizeY) +{ + return ImGui::BeginListBox(label.c_str(), {sizeX, sizeY}); +} +inline void EndListBox() +{ + ImGui::EndListBox(); +} - sol::as_table_t int2 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1] - }); +// Widgets: Data Plotting +/* TODO: Widgets Data Plotting ==> UNSUPPORTED (barely used and quite long functions) */ - return std::make_tuple(int2, used); - } - inline std::tuple >, bool> InputInt3(const std::string& label, const sol::table& v) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - int value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::InputInt3(label.c_str(), value); +// Widgets: Value() helpers +inline void Value(const std::string& prefix, bool b) +{ + ImGui::Value(prefix.c_str(), b); +} +inline void Value(const std::string& prefix, int v) +{ + ImGui::Value(prefix.c_str(), v); +} +inline void Value(const std::string& prefix, unsigned int v) +{ + ImGui::Value(prefix.c_str(), v); +} +inline void Value(const std::string& prefix, float v) +{ + ImGui::Value(prefix.c_str(), v); +} +inline void Value(const std::string& prefix, float v, const std::string& float_format) +{ + ImGui::Value(prefix.c_str(), v, float_format.c_str()); +} - sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); +// Widgets: Menus +inline bool BeginMenuBar() +{ + return ImGui::BeginMenuBar(); +} +inline void EndMenuBar() +{ + ImGui::EndMenuBar(); +} +inline bool BeginMainMenuBar() +{ + return ImGui::BeginMainMenuBar(); +} +inline void EndMainMenuBar() +{ + ImGui::EndMainMenuBar(); +} +inline bool BeginMenu(const std::string& label) +{ + return ImGui::BeginMenu(label.c_str()); +} +inline bool BeginMenu(const std::string& label, bool enabled) +{ + return ImGui::BeginMenu(label.c_str(), enabled); +} +inline void EndMenu() +{ + ImGui::EndMenu(); +} +inline bool MenuItem(const std::string& label) +{ + return ImGui::MenuItem(label.c_str()); +} +inline bool MenuItem(const std::string& label, const std::string& shortcut) +{ + return ImGui::MenuItem(label.c_str(), shortcut.c_str()); +} +inline std::tuple MenuItem(const std::string& label, const std::string& shortcut, bool selected) +{ + bool activated = ImGui::MenuItem(label.c_str(), shortcut.c_str(), &selected); + return std::make_tuple(selected, activated); +} +inline std::tuple MenuItem(const std::string& label, const std::string& shortcut, bool selected, bool enabled) +{ + bool activated = ImGui::MenuItem(label.c_str(), shortcut.c_str(), &selected, enabled); + return std::make_tuple(selected, activated); +} - return std::make_tuple(int3, used); - } - inline std::tuple >, bool> InputInt3(const std::string& label, const sol::table& v, int flags) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }; - int value[3] = { static_cast(v1), static_cast(v2), static_cast(v3) }; - bool used = ImGui::InputInt3(label.c_str(), value, flags); +// Tooltips +inline void BeginTooltip() +{ + ImGui::BeginTooltip(); +} +inline void EndTooltip() +{ + ImGui::EndTooltip(); +} +inline void SetTooltip(const std::string& fmt) +{ + ImGui::SetTooltip("%s", fmt.c_str()); +} +inline void SetTooltipV() +{ /* TODO: SetTooltipV(...) ==> UNSUPPORTED */ +} + +// Popups, Modals +inline bool BeginPopup(const std::string& str_id) +{ + return ImGui::BeginPopup(str_id.c_str()); +} +inline bool BeginPopup(const std::string& str_id, int flags) +{ + return ImGui::BeginPopup(str_id.c_str(), flags); +} +inline bool BeginPopupModal(const std::string& name) +{ + return ImGui::BeginPopupModal(name.c_str()); +} +inline bool BeginPopupModal(const std::string& name, int flags) +{ + return ImGui::BeginPopupModal(name.c_str(), nullptr, flags); +} +inline bool BeginPopupModal(const std::string& name, bool open) +{ + return ImGui::BeginPopupModal(name.c_str(), &open); +} +inline bool BeginPopupModal(const std::string& name, bool open, int flags) +{ + return ImGui::BeginPopupModal(name.c_str(), &open, flags); +} +inline void EndPopup() +{ + ImGui::EndPopup(); +} +inline void OpenPopup(const std::string& str_id) +{ + ImGui::OpenPopup(str_id.c_str()); +} +inline void OpenPopup(const std::string& str_id, int popup_flags) +{ + ImGui::OpenPopup(str_id.c_str(), popup_flags); +} +inline void CloseCurrentPopup() +{ + ImGui::CloseCurrentPopup(); +} +inline bool BeginPopupContextItem() +{ + return ImGui::BeginPopupContextItem(); +} +inline bool BeginPopupContextItem(const std::string& str_id) +{ + return ImGui::BeginPopupContextItem(str_id.c_str()); +} +inline bool BeginPopupContextItem(const std::string& str_id, int popup_flags) +{ + return ImGui::BeginPopupContextItem(str_id.c_str(), popup_flags); +} +inline bool BeginPopupContextWindow() +{ + return ImGui::BeginPopupContextWindow(); +} +inline bool BeginPopupContextWindow(const std::string& str_id) +{ + return ImGui::BeginPopupContextWindow(str_id.c_str()); +} +inline bool BeginPopupContextWindow(const std::string& str_id, int popup_flags) +{ + return ImGui::BeginPopupContextWindow(str_id.c_str(), popup_flags); +} +inline bool BeginPopupContextVoid() +{ + return ImGui::BeginPopupContextVoid(); +} +inline bool BeginPopupContextVoid(const std::string& str_id) +{ + return ImGui::BeginPopupContextVoid(str_id.c_str()); +} +inline bool BeginPopupContextVoid(const std::string& str_id, int popup_flags) +{ + return ImGui::BeginPopupContextVoid(str_id.c_str(), popup_flags); +} +inline bool IsPopupOpen(const std::string& str_id) +{ + return ImGui::IsPopupOpen(str_id.c_str()); +} +inline bool IsPopupOpen(const std::string& str_id, int popup_flags) +{ + return ImGui::IsPopupOpen(str_id.c_str(), popup_flags); +} + +// Tables +inline bool BeginTable(const std::string& str_id, int columns) +{ + return ImGui::BeginTable(str_id.c_str(), columns); +} +inline bool BeginTable(const std::string& str_id, int columns, int flags) +{ + return ImGui::BeginTable(str_id.c_str(), columns, flags); +} +inline bool BeginTable(const std::string& str_id, int columns, int flags, float outer_sizeX, float outer_sizeY) +{ + return ImGui::BeginTable(str_id.c_str(), columns, flags, {outer_sizeX, outer_sizeY}); +} +inline bool BeginTable(const std::string& str_id, int columns, int flags, float outer_sizeX, float outer_sizeY, float inner_width) +{ + return ImGui::BeginTable(str_id.c_str(), columns, flags, {outer_sizeX, outer_sizeY}, inner_width); +} +inline void EndTable() +{ + ImGui::EndTable(); +} +inline void TableNextRow() +{ + ImGui::TableNextRow(); +} +inline void TableNextRow(int flags) +{ + ImGui::TableNextRow(flags); +} +inline void TableNextRow(int flags, float min_row_height) +{ + ImGui::TableNextRow(flags, min_row_height); +} +inline bool TableNextColumn() +{ + return ImGui::TableNextColumn(); +} +inline bool TableSetColumnIndex(int column_n) +{ + return ImGui::TableSetColumnIndex(column_n); +} +inline void TableSetupColumn(const std::string& label) +{ + ImGui::TableSetupColumn(label.c_str()); +} +inline void TableSetupColumn(const std::string& label, int flags) +{ + ImGui::TableSetupColumn(label.c_str(), ImGuiTableColumnFlags(flags)); +} +inline void TableSetupColumn(const std::string& label, int flags, float init_width_or_weight) +{ + ImGui::TableSetupColumn(label.c_str(), ImGuiTableColumnFlags(flags), init_width_or_weight); +} +inline void TableSetupColumn(const std::string& label, int flags, float init_width_or_weight, int user_id) +{ + ImGui::TableSetupColumn(label.c_str(), ImGuiTableColumnFlags(flags), init_width_or_weight, static_cast(user_id)); +} +inline void TableSetupScrollFreeze(int cols, int rows) +{ + ImGui::TableSetupScrollFreeze(cols, rows); +} +inline void TableHeadersRow() +{ + ImGui::TableHeadersRow(); +} +inline void TableHeader(const std::string& label) +{ + ImGui::TableHeader(label.c_str()); +} +inline ImGuiTableSortSpecs* TableGetSortSpecs() +{ + return ImGui::TableGetSortSpecs(); +} +inline int TableGetColumnCount() +{ + return ImGui::TableGetColumnCount(); +} +inline int TableGetColumnIndex() +{ + return ImGui::TableGetColumnIndex(); +} +inline int TableGetRowIndex() +{ + return ImGui::TableGetRowIndex(); +} +inline std::string TableGetColumnName() +{ + return std::string(ImGui::TableGetColumnName()); +} +inline std::string TableGetColumnName(int column_n) +{ + return std::string(ImGui::TableGetColumnName(column_n)); +} +inline ImGuiTableColumnFlags TableGetColumnFlags() +{ + return ImGui::TableGetColumnFlags(); +} +inline ImGuiTableColumnFlags TableGetColumnFlags(int column_n) +{ + return ImGui::TableGetColumnFlags(column_n); +} +inline void TableSetBgColor(int target, int color) +{ + ImGui::TableSetBgColor(target, static_cast(color)); +} +inline void TableSetBgColor(int target, float colR, float colG, float colB, float colA) +{ + ImGui::TableSetBgColor(target, ImGui::ColorConvertFloat4ToU32({colR, colG, colB, colA})); +} +inline void TableSetBgColor(int target, int color, int column_n) +{ + ImGui::TableSetBgColor(target, static_cast(color), column_n); +} +inline void TableSetBgColor(int target, float colR, float colG, float colB, float colA, int column_n) +{ + ImGui::TableSetBgColor(target, ImGui::ColorConvertFloat4ToU32({colR, colG, colB, colA}), column_n); +} + +// Columns +inline void Columns() +{ + ImGui::Columns(); +} +inline void Columns(int count) +{ + ImGui::Columns(count); +} +inline void Columns(int count, const std::string& id) +{ + ImGui::Columns(count, id.c_str()); +} +inline void Columns(int count, const std::string& id, bool border) +{ + ImGui::Columns(count, id.c_str(), border); +} +inline void NextColumn() +{ + ImGui::NextColumn(); +} +inline int GetColumnIndex() +{ + return ImGui::GetColumnIndex(); +} +inline float GetColumnWidth() +{ + return ImGui::GetColumnWidth(); +} +inline float GetColumnWidth(int column_index) +{ + return ImGui::GetColumnWidth(column_index); +} +inline void SetColumnWidth(int column_index, float width) +{ + ImGui::SetColumnWidth(column_index, width); +} +inline float GetColumnOffset() +{ + return ImGui::GetColumnOffset(); +} +inline float GetColumnOffset(int column_index) +{ + return ImGui::GetColumnOffset(column_index); +} +inline void SetColumnOffset(int column_index, float offset_x) +{ + ImGui::SetColumnOffset(column_index, offset_x); +} +inline int GetColumnsCount() +{ + return ImGui::GetColumnsCount(); +} - sol::as_table_t int3 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2] - }); +// Tab Bars, Tabs +inline bool BeginTabBar(const std::string& str_id) +{ + return ImGui::BeginTabBar(str_id.c_str()); +} +inline bool BeginTabBar(const std::string& str_id, int flags) +{ + return ImGui::BeginTabBar(str_id.c_str(), flags); +} +inline void EndTabBar() +{ + ImGui::EndTabBar(); +} +inline bool BeginTabItem(const std::string& label) +{ + return ImGui::BeginTabItem(label.c_str()); +} +inline bool BeginTabItem(const std::string& label, int flags) +{ + return ImGui::BeginTabItem(label.c_str(), nullptr, flags); +} +inline std::tuple BeginTabItem(const std::string& label, bool open) +{ + bool selected = ImGui::BeginTabItem(label.c_str(), &open); + return std::make_tuple(open, selected); +} +inline std::tuple BeginTabItem(const std::string& label, bool open, int flags) +{ + bool selected = ImGui::BeginTabItem(label.c_str(), &open, flags); + return std::make_tuple(open, selected); +} +inline void EndTabItem() +{ + ImGui::EndTabItem(); +} +inline void SetTabItemClosed(const std::string& tab_or_docked_window_label) +{ + ImGui::SetTabItemClosed(tab_or_docked_window_label.c_str()); +} - return std::make_tuple(int3, used); - } - inline std::tuple >, bool> InputInt4(const std::string& label, const sol::table& v) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - int value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::InputInt4(label.c_str(), value); - - sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(int4, used); - } - inline std::tuple >, bool> InputInt4(const std::string& label, const sol::table& v, int flags) - { - const lua_Number v1{ v[1].get>().value_or(static_cast(0)) }, - v2{ v[2].get>().value_or(static_cast(0)) }, - v3{ v[3].get>().value_or(static_cast(0)) }, - v4{ v[4].get>().value_or(static_cast(0)) }; - int value[4] = { static_cast(v1), static_cast(v2), static_cast(v3), static_cast(v4) }; - bool used = ImGui::InputInt4(label.c_str(), value, flags); - - sol::as_table_t int4 = sol::as_table(TiltedPhoques::Vector{ - value[0], value[1], value[2], value[3] - }); - - return std::make_tuple(int4, used); - } - inline std::tuple InputDouble(const std::string& label, double v) { bool selected = ImGui::InputDouble(label.c_str(), &v); return std::make_tuple(v, selected); } - inline std::tuple InputDouble(const std::string& label, double v, double step) { bool selected = ImGui::InputDouble(label.c_str(), &v, step); return std::make_tuple(v, selected); } - inline std::tuple InputDouble(const std::string& label, double v, double step, double step_fast) { bool selected = ImGui::InputDouble(label.c_str(), &v, step, step_fast); return std::make_tuple(v, selected); } - inline std::tuple InputDouble(const std::string& label, double v, double step, double step_fast, const std::string& format) { bool selected = ImGui::InputDouble(label.c_str(), &v, step, step_fast, format.c_str()); return std::make_tuple(v, selected); } - inline std::tuple InputDouble(const std::string& label, double v, double step, double step_fast, const std::string& format, int flags) { bool selected = ImGui::InputDouble(label.c_str(), &v, step, step_fast, format.c_str(), flags); return std::make_tuple(v, selected); } - inline void InputScalar() { /* TODO: InputScalar(...) ==> UNSUPPORTED */ } - inline void InputScalarN() { /* TODO: InputScalarN(...) ==> UNSUPPORTED */ } - - // Widgets: Color Editor / Picker - inline std::tuple>, bool> ColorEdit3(const std::string& label, const sol::table& col) - { - const lua_Number r{ col[1].get>().value_or(static_cast(0)) }, - g{ col[2].get>().value_or(static_cast(0)) }, - b{ col[3].get>().value_or(static_cast(0)) }; - float color[3] = { static_cast(r), static_cast(g), static_cast(b) }; - bool used = ImGui::ColorEdit3(label.c_str(), color); +// Drag and Drop +// TODO: Drag and Drop ==> UNSUPPORTED - sol::as_table_t rgb = sol::as_table(TiltedPhoques::Vector{ - color[0], color[1], color[2] - }); +// Disabling +inline void BeginDisabled() +{ + ImGui::BeginDisabled(); +} +inline void BeginDisabled(bool disabled) +{ + ImGui::BeginDisabled(disabled); +} +inline void EndDisabled() +{ + ImGui::EndDisabled(); +} - return std::make_tuple(rgb, used); - } - inline std::tuple>, bool> ColorEdit3(const std::string& label, const sol::table& col, int flags) - { - const lua_Number r{ col[1].get>().value_or(static_cast(0)) }, - g{ col[2].get>().value_or(static_cast(0)) }, - b{ col[3].get>().value_or(static_cast(0)) }; - float color[3] = { static_cast(r), static_cast(g), static_cast(b) }; - bool used = ImGui::ColorEdit3(label.c_str(), color, flags); +// Clipping +inline void PushClipRect(float min_x, float min_y, float max_x, float max_y, bool intersect_current) +{ + ImGui::PushClipRect({min_x, min_y}, {max_x, max_y}, intersect_current); +} +inline void PopClipRect() +{ + ImGui::PopClipRect(); +} - sol::as_table_t rgb = sol::as_table(TiltedPhoques::Vector{ - color[0], color[1], color[2] - }); +// Focus, Activation +inline void SetItemDefaultFocus() +{ + ImGui::SetItemDefaultFocus(); +} +inline void SetKeyboardFocusHere() +{ + ImGui::SetKeyboardFocusHere(); +} +inline void SetKeyboardFocusHere(int offset) +{ + ImGui::SetKeyboardFocusHere(offset); +} - return std::make_tuple(rgb, used); - } - inline std::tuple>, bool> ColorEdit4(const std::string& label, const sol::table& col) - { - const lua_Number r{ col[1].get>().value_or(static_cast(0)) }, - g{ col[2].get>().value_or(static_cast(0)) }, - b{ col[3].get>().value_or(static_cast(0)) }, - a{ col[4].get>().value_or(static_cast(0)) }; - float color[4] = { static_cast(r), static_cast(g), static_cast(b), static_cast(a) }; - bool used = ImGui::ColorEdit4(label.c_str(), color); - - sol::as_table_t rgba = sol::as_table(TiltedPhoques::Vector{ - color[0], color[1], color[2], color[3] - }); - - return std::make_tuple(rgba, used); - } - inline std::tuple>, bool> ColorEdit4(const std::string& label, const sol::table& col, int flags) - { - const lua_Number r{ col[1].get>().value_or(static_cast(0)) }, - g{ col[2].get>().value_or(static_cast(0)) }, - b{ col[3].get>().value_or(static_cast(0)) }, - a{ col[4].get>().value_or(static_cast(0)) }; - float color[4] = { static_cast(r), static_cast(g), static_cast(b), static_cast(a) }; - bool used = ImGui::ColorEdit4(label.c_str(), color, flags); - - sol::as_table_t rgba = sol::as_table(TiltedPhoques::Vector{ - color[0], color[1], color[2], color[3] - }); - - return std::make_tuple(rgba, used); - } - inline std::tuple>, bool> ColorPicker3(const std::string& label, const sol::table& col) - { - const lua_Number r{ col[1].get>().value_or(static_cast(0)) }, - g{ col[2].get>().value_or(static_cast(0)) }, - b{ col[3].get>().value_or(static_cast(0)) }; - float color[3] = { static_cast(r), static_cast(g), static_cast(b) }; - bool used = ImGui::ColorPicker3(label.c_str(), color); +// Item/Widgets Utilities +inline bool IsItemHovered() +{ + return ImGui::IsItemHovered(); +} +inline bool IsItemHovered(int flags) +{ + return ImGui::IsItemHovered(flags); +} +inline bool IsItemActive() +{ + return ImGui::IsItemActive(); +} +inline bool IsItemFocused() +{ + return ImGui::IsItemFocused(); +} +inline bool IsItemClicked() +{ + return ImGui::IsItemClicked(); +} +inline bool IsItemClicked(int mouse_button) +{ + return ImGui::IsItemClicked(mouse_button); +} +inline bool IsItemVisible() +{ + return ImGui::IsItemVisible(); +} +inline bool IsItemEdited() +{ + return ImGui::IsItemEdited(); +} +inline bool IsItemActivated() +{ + return ImGui::IsItemActivated(); +} +inline bool IsItemDeactivated() +{ + return ImGui::IsItemDeactivated(); +} +inline bool IsItemDeactivatedAfterEdit() +{ + return ImGui::IsItemDeactivatedAfterEdit(); +} +inline bool IsItemToggledOpen() +{ + return ImGui::IsItemToggledOpen(); +} +inline bool IsAnyItemHovered() +{ + return ImGui::IsAnyItemHovered(); +} +inline bool IsAnyItemActive() +{ + return ImGui::IsAnyItemActive(); +} +inline bool IsAnyItemFocused() +{ + return ImGui::IsAnyItemFocused(); +} +inline std::tuple GetItemRectMin() +{ + const auto vec2{ImGui::GetItemRectMin()}; + return std::make_tuple(vec2.x, vec2.y); +} +inline std::tuple GetItemRectMax() +{ + const auto vec2{ImGui::GetItemRectMax()}; + return std::make_tuple(vec2.x, vec2.y); +} +inline std::tuple GetItemRectSize() +{ + const auto vec2{ImGui::GetItemRectSize()}; + return std::make_tuple(vec2.x, vec2.y); +} +inline void SetItemAllowOverlap() +{ + ImGui::SetItemAllowOverlap(); +} - sol::as_table_t rgb = sol::as_table(TiltedPhoques::Vector{ - color[0], color[1], color[2] - }); +// Miscellaneous Utilities +inline bool IsRectVisible(float sizeX, float sizeY) +{ + return ImGui::IsRectVisible({sizeX, sizeY}); +} +inline bool IsRectVisible(float minX, float minY, float maxX, float maxY) +{ + return ImGui::IsRectVisible({minX, minY}, {maxX, maxY}); +} +inline double GetTime() +{ + return ImGui::GetTime(); +} +inline int GetFrameCount() +{ + return ImGui::GetFrameCount(); +} +inline ImDrawList* GetBackgroundDrawList() +{ + return ImGui::GetBackgroundDrawList(); +} +inline ImDrawList* GetForegroundDrawList() +{ + return ImGui::GetForegroundDrawList(); +} +/* TODO: GetDrawListSharedData() ==> UNSUPPORTED */ +inline std::string GetStyleColorName(int idx) +{ + return std::string(ImGui::GetStyleColorName(idx)); +} +/* TODO: SetStateStorage(), GetStateStorage(), CalcListClipping() ==> UNSUPPORTED */ +inline bool BeginChildFrame(unsigned int id, float sizeX, float sizeY) +{ + return ImGui::BeginChildFrame(id, {sizeX, sizeY}); +} +inline bool BeginChildFrame(unsigned int id, float sizeX, float sizeY, int flags) +{ + return ImGui::BeginChildFrame(id, {sizeX, sizeY}, flags); +} +inline void EndChildFrame() +{ + return ImGui::EndChildFrame(); +} +inline ImGuiStyle& GetStyle() +{ + return ImGui::GetStyle(); +} - return std::make_tuple(rgb, used); - } - inline std::tuple>, bool> ColorPicker3(const std::string& label, const sol::table& col, int flags) - { - const lua_Number r{ col[1].get>().value_or(static_cast(0)) }, - g{ col[2].get>().value_or(static_cast(0)) }, - b{ col[3].get>().value_or(static_cast(0)) }; - float color[3] = { static_cast(r), static_cast(g), static_cast(b) }; - bool used = ImGui::ColorPicker3(label.c_str(), color, flags); +// Text Utilities +inline std::tuple CalcTextSize(const std::string& text) +{ + const auto vec2{ImGui::CalcTextSize(text.c_str())}; + return std::make_tuple(vec2.x, vec2.y); +} +inline std::tuple CalcTextSize(const std::string& text, bool hide_text_after_double_hash) +{ + const auto vec2{ImGui::CalcTextSize(text.c_str(), nullptr, hide_text_after_double_hash)}; + return std::make_tuple(vec2.x, vec2.y); +} +inline std::tuple CalcTextSize(const std::string& text, bool hide_text_after_double_hash, float wrap_width) +{ + const auto vec2{ImGui::CalcTextSize(text.c_str(), nullptr, hide_text_after_double_hash, wrap_width)}; + return std::make_tuple(vec2.x, vec2.y); +} - sol::as_table_t rgb = sol::as_table(TiltedPhoques::Vector{ - color[0], color[1], color[2] - }); +// Color Utilities +inline sol::as_table_t> ColorConvertU32ToFloat4(unsigned int in) +{ + const auto vec4 = ImGui::ColorConvertU32ToFloat4(in); + sol::as_table_t rgba = sol::as_table(TiltedPhoques::Vector{vec4.x, vec4.y, vec4.z, vec4.w}); - return std::make_tuple(rgb, used); - } - inline std::tuple>, bool> ColorPicker4(const std::string& label, const sol::table& col) - { - const lua_Number r{ col[1].get>().value_or(static_cast(0)) }, - g{ col[2].get>().value_or(static_cast(0)) }, - b{ col[3].get>().value_or(static_cast(0)) }, - a{ col[4].get>().value_or(static_cast(0)) }; - float color[4] = { static_cast(r), static_cast(g), static_cast(b), static_cast(a) }; - bool used = ImGui::ColorPicker4(label.c_str(), color); - - sol::as_table_t rgba = sol::as_table(TiltedPhoques::Vector{ - color[0], color[1], color[2], color[3] - }); - - return std::make_tuple(rgba, used); - } - inline std::tuple>, bool> ColorPicker4(const std::string& label, const sol::table& col, int flags) - { - const lua_Number r{ col[1].get>().value_or(static_cast(0)) }, - g{ col[2].get>().value_or(static_cast(0)) }, - b{ col[3].get>().value_or(static_cast(0)) }, - a{ col[4].get>().value_or(static_cast(0)) }; - float color[4] = { static_cast(r), static_cast(g), static_cast(b), static_cast(a) }; - bool used = ImGui::ColorPicker4(label.c_str(), color, flags); - - sol::as_table_t rgba = sol::as_table(TiltedPhoques::Vector{ - color[0], color[1], color[2], color[3] - }); - - return std::make_tuple(rgba, used); - } - inline bool ColorButton(const std::string& desc_id, const sol::table& col) - { - const lua_Number r{ col[1].get>().value_or(static_cast(0)) }, - g{ col[2].get>().value_or(static_cast(0)) }, - b{ col[3].get>().value_or(static_cast(0)) }, - a{ col[4].get>().value_or(static_cast(0)) }; - const ImVec4 color{ static_cast(r), static_cast(g), static_cast(b), static_cast(a) }; - return ImGui::ColorButton(desc_id.c_str(), color); - } - inline bool ColorButton(const std::string& desc_id, const sol::table& col, int flags) - { - const lua_Number r{ col[1].get>().value_or(static_cast(0)) }, - g{ col[2].get>().value_or(static_cast(0)) }, - b{ col[3].get>().value_or(static_cast(0)) }, - a{ col[4].get>().value_or(static_cast(0)) }; - const ImVec4 color{ static_cast(r), static_cast(g), static_cast(b), static_cast(a) }; - return ImGui::ColorButton(desc_id.c_str(), color, flags); - } - inline bool ColorButton(const std::string& desc_id, const sol::table& col, int flags, float sizeX, float sizeY) - { - const lua_Number r{ col[1].get>().value_or(static_cast(0)) }, - g{ col[2].get>().value_or(static_cast(0)) }, - b{ col[3].get>().value_or(static_cast(0)) }, - a{ col[4].get>().value_or(static_cast(0)) }; - const ImVec4 color{ static_cast(r), static_cast(g), static_cast(b), static_cast(a) }; - return ImGui::ColorButton(desc_id.c_str(), color, flags, { sizeX, sizeY }); - } - inline void SetColorEditOptions(int flags) { ImGui::SetColorEditOptions(flags); } - - // Widgets: Trees - inline bool TreeNode(const std::string& label) { return ImGui::TreeNode(label.c_str()); } - inline bool TreeNode(const std::string& label, const std::string& fmt) { return ImGui::TreeNode(label.c_str(), "%s", fmt.c_str()); } - /* TODO: TreeNodeV(...) (2) ==> UNSUPPORTED */ - inline bool TreeNodeEx(const std::string& label) { return ImGui::TreeNodeEx(label.c_str()); } - inline bool TreeNodeEx(const std::string& label, int flags) { return ImGui::TreeNodeEx(label.c_str(), flags); } - inline bool TreeNodeEx(const std::string& label, int flags, const std::string& fmt) { return ImGui::TreeNodeEx(label.c_str(), flags, "%s", fmt.c_str()); } - /* TODO: TreeNodeExV(...) (2) ==> UNSUPPORTED */ - inline void TreePush(const std::string& str_id) { ImGui::TreePush(str_id.c_str()); } - /* TODO: TreePush(const void*) ==> UNSUPPORTED */ - inline void TreePop() { ImGui::TreePop(); } - inline float GetTreeNodeToLabelSpacing() { return ImGui::GetTreeNodeToLabelSpacing(); } - inline bool CollapsingHeader(const std::string& label) { return ImGui::CollapsingHeader(label.c_str()); } - inline bool CollapsingHeader(const std::string& label, int flags) { return ImGui::CollapsingHeader(label.c_str(), flags); } - inline std::tuple CollapsingHeader(const std::string& label, bool open) { bool notCollapsed = ImGui::CollapsingHeader(label.c_str(), &open); return std::make_tuple(open, notCollapsed); } - inline std::tuple CollapsingHeader(const std::string& label, bool open, int flags) { bool notCollapsed = ImGui::CollapsingHeader(label.c_str(), &open, flags); return std::make_tuple(open, notCollapsed); } - inline void SetNextItemOpen(bool is_open) { ImGui::SetNextItemOpen(is_open); } - inline void SetNextItemOpen(bool is_open, int cond) { ImGui::SetNextItemOpen(is_open, cond); } - - // Widgets: Selectables - // TODO: Only one of Selectable variations is possible due to same parameters for Lua - inline bool Selectable(const std::string& label) { return ImGui::Selectable(label.c_str()); } - inline bool Selectable(const std::string& label, bool selected) { ImGui::Selectable(label.c_str(), &selected); return selected; } - inline bool Selectable(const std::string& label, bool selected, int flags) { ImGui::Selectable(label.c_str(), &selected, flags); return selected; } - inline bool Selectable(const std::string& label, bool selected, int flags, float sizeX, float sizeY) { ImGui::Selectable(label.c_str(), &selected, flags, { sizeX, sizeY }); return selected; } - - // Widgets: List Boxes - inline std::tuple ListBox(const std::string& label, int current_item, const sol::table& items, int items_count) - { - TiltedPhoques::Vector strings; - for (int i{ 1 }; i <= items_count; i++) - { - const auto& stringItem = items.get>(i); - strings.emplace_back(stringItem.value_or("Missing")); - } - - TiltedPhoques::Vector cstrings; - for (auto& string : strings) - cstrings.emplace_back(string.c_str()); - - bool clicked = ImGui::ListBox(label.c_str(), ¤t_item, cstrings.data(), items_count); - return std::make_tuple(current_item, clicked); - } - inline std::tuple ListBox(const std::string& label, int current_item, const sol::table& items, int items_count, int height_in_items) - { - TiltedPhoques::Vector strings; - for (int i{ 1 }; i <= items_count; i++) - { - const auto& stringItem = items.get>(i); - strings.emplace_back(stringItem.value_or("Missing")); - } - - TiltedPhoques::Vector cstrings; - for (auto& string : strings) - cstrings.emplace_back(string.c_str()); - - bool clicked = ImGui::ListBox(label.c_str(), ¤t_item, cstrings.data(), items_count, height_in_items); - return std::make_tuple(current_item, clicked); - } - inline bool BeginListBox(const std::string& label) { return ImGui::BeginListBox(label.c_str()); } - inline bool BeginListBox(const std::string& label, float sizeX, float sizeY) { return ImGui::BeginListBox(label.c_str(), { sizeX, sizeY }); } - inline void EndListBox() { ImGui::EndListBox(); } - - // Widgets: Data Plotting - /* TODO: Widgets Data Plotting ==> UNSUPPORTED (barely used and quite long functions) */ - - // Widgets: Value() helpers - inline void Value(const std::string& prefix, bool b) { ImGui::Value(prefix.c_str(), b); } - inline void Value(const std::string& prefix, int v) { ImGui::Value(prefix.c_str(), v); } - inline void Value(const std::string& prefix, unsigned int v) { ImGui::Value(prefix.c_str(), v); } - inline void Value(const std::string& prefix, float v) { ImGui::Value(prefix.c_str(), v); } - inline void Value(const std::string& prefix, float v, const std::string& float_format) { ImGui::Value(prefix.c_str(), v, float_format.c_str()); } - - // Widgets: Menus - inline bool BeginMenuBar() { return ImGui::BeginMenuBar(); } - inline void EndMenuBar() { ImGui::EndMenuBar(); } - inline bool BeginMainMenuBar() { return ImGui::BeginMainMenuBar(); } - inline void EndMainMenuBar() { ImGui::EndMainMenuBar(); } - inline bool BeginMenu(const std::string& label) { return ImGui::BeginMenu(label.c_str()); } - inline bool BeginMenu(const std::string& label, bool enabled) { return ImGui::BeginMenu(label.c_str(), enabled); } - inline void EndMenu() { ImGui::EndMenu(); } - inline bool MenuItem(const std::string& label) { return ImGui::MenuItem(label.c_str()); } - inline bool MenuItem(const std::string& label, const std::string& shortcut) { return ImGui::MenuItem(label.c_str(), shortcut.c_str()); } - inline std::tuple MenuItem(const std::string& label, const std::string& shortcut, bool selected) { bool activated = ImGui::MenuItem(label.c_str(), shortcut.c_str(), &selected); return std::make_tuple(selected, activated); } - inline std::tuple MenuItem(const std::string& label, const std::string& shortcut, bool selected, bool enabled) { bool activated = ImGui::MenuItem(label.c_str(), shortcut.c_str(), &selected, enabled); return std::make_tuple(selected, activated); } - - // Tooltips - inline void BeginTooltip() { ImGui::BeginTooltip(); } - inline void EndTooltip() { ImGui::EndTooltip(); } - inline void SetTooltip(const std::string& fmt) { ImGui::SetTooltip("%s", fmt.c_str()); } - inline void SetTooltipV() { /* TODO: SetTooltipV(...) ==> UNSUPPORTED */ } - - // Popups, Modals - inline bool BeginPopup(const std::string& str_id) { return ImGui::BeginPopup(str_id.c_str()); } - inline bool BeginPopup(const std::string& str_id, int flags) { return ImGui::BeginPopup(str_id.c_str(), flags); } - inline bool BeginPopupModal(const std::string& name) { return ImGui::BeginPopupModal(name.c_str()); } - inline bool BeginPopupModal(const std::string& name, int flags) { return ImGui::BeginPopupModal(name.c_str(), nullptr, flags); } - inline bool BeginPopupModal(const std::string& name, bool open) { return ImGui::BeginPopupModal(name.c_str(), &open); } - inline bool BeginPopupModal(const std::string& name, bool open, int flags) { return ImGui::BeginPopupModal(name.c_str(), &open, flags); } - inline void EndPopup() { ImGui::EndPopup(); } - inline void OpenPopup(const std::string& str_id) { ImGui::OpenPopup(str_id.c_str()); } - inline void OpenPopup(const std::string& str_id, int popup_flags) { ImGui::OpenPopup(str_id.c_str(), popup_flags); } - inline void CloseCurrentPopup() { ImGui::CloseCurrentPopup(); } - inline bool BeginPopupContextItem() { return ImGui::BeginPopupContextItem(); } - inline bool BeginPopupContextItem(const std::string& str_id) { return ImGui::BeginPopupContextItem(str_id.c_str()); } - inline bool BeginPopupContextItem(const std::string& str_id, int popup_flags) { return ImGui::BeginPopupContextItem(str_id.c_str(), popup_flags); } - inline bool BeginPopupContextWindow() { return ImGui::BeginPopupContextWindow(); } - inline bool BeginPopupContextWindow(const std::string& str_id) { return ImGui::BeginPopupContextWindow(str_id.c_str()); } - inline bool BeginPopupContextWindow(const std::string& str_id, int popup_flags) { return ImGui::BeginPopupContextWindow(str_id.c_str(), popup_flags); } - inline bool BeginPopupContextVoid() { return ImGui::BeginPopupContextVoid(); } - inline bool BeginPopupContextVoid(const std::string& str_id) { return ImGui::BeginPopupContextVoid(str_id.c_str()); } - inline bool BeginPopupContextVoid(const std::string& str_id, int popup_flags) { return ImGui::BeginPopupContextVoid(str_id.c_str(), popup_flags); } - inline bool IsPopupOpen(const std::string& str_id) { return ImGui::IsPopupOpen(str_id.c_str()); } - inline bool IsPopupOpen(const std::string& str_id, int popup_flags) { return ImGui::IsPopupOpen(str_id.c_str(), popup_flags); } - - //Tables - inline bool BeginTable(const std::string& str_id, int columns) { return ImGui::BeginTable(str_id.c_str(), columns); } - inline bool BeginTable(const std::string& str_id, int columns, int flags) { return ImGui::BeginTable(str_id.c_str(), columns, flags); } - inline bool BeginTable(const std::string& str_id, int columns, int flags, float outer_sizeX, float outer_sizeY) { return ImGui::BeginTable(str_id.c_str(), columns, flags, { outer_sizeX, outer_sizeY }); } - inline bool BeginTable(const std::string& str_id, int columns, int flags, float outer_sizeX, float outer_sizeY, float inner_width) { return ImGui::BeginTable(str_id.c_str(), columns, flags, { outer_sizeX, outer_sizeY }, inner_width); } - inline void EndTable() { ImGui::EndTable(); } - inline void TableNextRow() { ImGui::TableNextRow(); } - inline void TableNextRow(int flags) { ImGui::TableNextRow(flags); } - inline void TableNextRow(int flags, float min_row_height) { ImGui::TableNextRow(flags, min_row_height); } - inline bool TableNextColumn() { return ImGui::TableNextColumn(); } - inline bool TableSetColumnIndex(int column_n) { return ImGui::TableSetColumnIndex(column_n); } - inline void TableSetupColumn(const std::string& label) { ImGui::TableSetupColumn(label.c_str()); } - inline void TableSetupColumn(const std::string& label, int flags) { ImGui::TableSetupColumn(label.c_str(), ImGuiTableColumnFlags(flags)); } - inline void TableSetupColumn(const std::string& label, int flags, float init_width_or_weight) { ImGui::TableSetupColumn(label.c_str(), ImGuiTableColumnFlags(flags), init_width_or_weight); } - inline void TableSetupColumn(const std::string& label, int flags, float init_width_or_weight, int user_id) { ImGui::TableSetupColumn(label.c_str(), ImGuiTableColumnFlags(flags), init_width_or_weight, static_cast(user_id)); } - inline void TableSetupScrollFreeze(int cols, int rows) { ImGui::TableSetupScrollFreeze(cols, rows); } - inline void TableHeadersRow() { ImGui::TableHeadersRow(); } - inline void TableHeader(const std::string& label) { ImGui::TableHeader(label.c_str()); } - inline ImGuiTableSortSpecs* TableGetSortSpecs() { return ImGui::TableGetSortSpecs(); } - inline int TableGetColumnCount() { return ImGui::TableGetColumnCount(); } - inline int TableGetColumnIndex() { return ImGui::TableGetColumnIndex(); } - inline int TableGetRowIndex() { return ImGui::TableGetRowIndex(); } - inline std::string TableGetColumnName() { return std::string(ImGui::TableGetColumnName()); } - inline std::string TableGetColumnName(int column_n) { return std::string(ImGui::TableGetColumnName(column_n)); } - inline ImGuiTableColumnFlags TableGetColumnFlags() { return ImGui::TableGetColumnFlags(); } - inline ImGuiTableColumnFlags TableGetColumnFlags(int column_n) { return ImGui::TableGetColumnFlags(column_n); } - inline void TableSetBgColor(int target, int color) { ImGui::TableSetBgColor(target, static_cast(color)); } - inline void TableSetBgColor(int target, float colR, float colG, float colB, float colA) { ImGui::TableSetBgColor(target, ImGui::ColorConvertFloat4ToU32({ colR, colG, colB, colA })); } - inline void TableSetBgColor(int target, int color, int column_n) { ImGui::TableSetBgColor(target, static_cast(color), column_n); } - inline void TableSetBgColor(int target, float colR, float colG, float colB, float colA, int column_n) { ImGui::TableSetBgColor(target, ImGui::ColorConvertFloat4ToU32({ colR, colG, colB, colA }), column_n); } - - // Columns - inline void Columns() { ImGui::Columns(); } - inline void Columns(int count) { ImGui::Columns(count); } - inline void Columns(int count, const std::string& id) { ImGui::Columns(count, id.c_str()); } - inline void Columns(int count, const std::string& id, bool border) { ImGui::Columns(count, id.c_str(), border); } - inline void NextColumn() { ImGui::NextColumn(); } - inline int GetColumnIndex() { return ImGui::GetColumnIndex(); } - inline float GetColumnWidth() { return ImGui::GetColumnWidth(); } - inline float GetColumnWidth(int column_index) { return ImGui::GetColumnWidth(column_index); } - inline void SetColumnWidth(int column_index, float width) { ImGui::SetColumnWidth(column_index, width); } - inline float GetColumnOffset() { return ImGui::GetColumnOffset(); } - inline float GetColumnOffset(int column_index) { return ImGui::GetColumnOffset(column_index); } - inline void SetColumnOffset(int column_index, float offset_x) { ImGui::SetColumnOffset(column_index, offset_x); } - inline int GetColumnsCount() { return ImGui::GetColumnsCount(); } - - // Tab Bars, Tabs - inline bool BeginTabBar(const std::string& str_id) { return ImGui::BeginTabBar(str_id.c_str()); } - inline bool BeginTabBar(const std::string& str_id, int flags) { return ImGui::BeginTabBar(str_id.c_str(), flags); } - inline void EndTabBar() { ImGui::EndTabBar(); } - inline bool BeginTabItem(const std::string& label) { return ImGui::BeginTabItem(label.c_str()); } - inline bool BeginTabItem(const std::string& label, int flags) { return ImGui::BeginTabItem(label.c_str(), nullptr, flags); } - inline std::tuple BeginTabItem(const std::string& label, bool open) { bool selected = ImGui::BeginTabItem(label.c_str(), &open); return std::make_tuple(open, selected); } - inline std::tuple BeginTabItem(const std::string& label, bool open, int flags) { bool selected = ImGui::BeginTabItem(label.c_str(), &open, flags); return std::make_tuple(open, selected); } - inline void EndTabItem() { ImGui::EndTabItem(); } - inline void SetTabItemClosed(const std::string& tab_or_docked_window_label) { ImGui::SetTabItemClosed(tab_or_docked_window_label.c_str()); } - - // Drag and Drop - // TODO: Drag and Drop ==> UNSUPPORTED - - // Disabling - inline void BeginDisabled() { ImGui::BeginDisabled(); } - inline void BeginDisabled(bool disabled) { ImGui::BeginDisabled(disabled); } - inline void EndDisabled() { ImGui::EndDisabled(); } - - // Clipping - inline void PushClipRect(float min_x, float min_y, float max_x, float max_y, bool intersect_current) { ImGui::PushClipRect({ min_x, min_y }, { max_x, max_y }, intersect_current); } - inline void PopClipRect() { ImGui::PopClipRect(); } - - // Focus, Activation - inline void SetItemDefaultFocus() { ImGui::SetItemDefaultFocus(); } - inline void SetKeyboardFocusHere() { ImGui::SetKeyboardFocusHere(); } - inline void SetKeyboardFocusHere(int offset) { ImGui::SetKeyboardFocusHere(offset); } - - // Item/Widgets Utilities - inline bool IsItemHovered() { return ImGui::IsItemHovered(); } - inline bool IsItemHovered(int flags) { return ImGui::IsItemHovered(flags); } - inline bool IsItemActive() { return ImGui::IsItemActive(); } - inline bool IsItemFocused() { return ImGui::IsItemFocused(); } - inline bool IsItemClicked() { return ImGui::IsItemClicked(); } - inline bool IsItemClicked(int mouse_button) { return ImGui::IsItemClicked(mouse_button); } - inline bool IsItemVisible() { return ImGui::IsItemVisible(); } - inline bool IsItemEdited() { return ImGui::IsItemEdited(); } - inline bool IsItemActivated() { return ImGui::IsItemActivated(); } - inline bool IsItemDeactivated() { return ImGui::IsItemDeactivated(); } - inline bool IsItemDeactivatedAfterEdit() { return ImGui::IsItemDeactivatedAfterEdit(); } - inline bool IsItemToggledOpen() { return ImGui::IsItemToggledOpen(); } - inline bool IsAnyItemHovered() { return ImGui::IsAnyItemHovered(); } - inline bool IsAnyItemActive() { return ImGui::IsAnyItemActive(); } - inline bool IsAnyItemFocused() { return ImGui::IsAnyItemFocused(); } - inline std::tuple GetItemRectMin() { const auto vec2{ ImGui::GetItemRectMin() }; return std::make_tuple(vec2.x, vec2.y); } - inline std::tuple GetItemRectMax() { const auto vec2{ ImGui::GetItemRectMax() }; return std::make_tuple(vec2.x, vec2.y); } - inline std::tuple GetItemRectSize() { const auto vec2{ ImGui::GetItemRectSize() }; return std::make_tuple(vec2.x, vec2.y); } - inline void SetItemAllowOverlap() { ImGui::SetItemAllowOverlap(); } - - // Miscellaneous Utilities - inline bool IsRectVisible(float sizeX, float sizeY) { return ImGui::IsRectVisible({ sizeX, sizeY }); } - inline bool IsRectVisible(float minX, float minY, float maxX, float maxY) { return ImGui::IsRectVisible({ minX, minY }, { maxX, maxY }); } - inline double GetTime() { return ImGui::GetTime(); } - inline int GetFrameCount() { return ImGui::GetFrameCount(); } - inline ImDrawList* GetBackgroundDrawList() { return ImGui::GetBackgroundDrawList(); } - inline ImDrawList* GetForegroundDrawList() { return ImGui::GetForegroundDrawList(); } - /* TODO: GetDrawListSharedData() ==> UNSUPPORTED */ - inline std::string GetStyleColorName(int idx) { return std::string(ImGui::GetStyleColorName(idx)); } - /* TODO: SetStateStorage(), GetStateStorage(), CalcListClipping() ==> UNSUPPORTED */ - inline bool BeginChildFrame(unsigned int id, float sizeX, float sizeY) { return ImGui::BeginChildFrame(id, { sizeX, sizeY }); } - inline bool BeginChildFrame(unsigned int id, float sizeX, float sizeY, int flags) { return ImGui::BeginChildFrame(id, { sizeX, sizeY }, flags); } - inline void EndChildFrame() { return ImGui::EndChildFrame(); } - inline ImGuiStyle& GetStyle() - { - return ImGui::GetStyle(); - } + return rgba; +} +inline unsigned int ColorConvertFloat4ToU32(const sol::table& rgba) +{ + const lua_Number r{rgba[1].get>().value_or(static_cast(0))}, + g{rgba[2].get>().value_or(static_cast(0))}, b{rgba[3].get>().value_or(static_cast(0))}, + a{rgba[4].get>().value_or(static_cast(0))}; - // Text Utilities - inline std::tuple CalcTextSize(const std::string& text) { const auto vec2{ ImGui::CalcTextSize(text.c_str()) }; return std::make_tuple(vec2.x, vec2.y); } - inline std::tuple CalcTextSize(const std::string& text, bool hide_text_after_double_hash) { const auto vec2{ ImGui::CalcTextSize(text.c_str(), nullptr, hide_text_after_double_hash) }; return std::make_tuple(vec2.x, vec2.y); } - inline std::tuple CalcTextSize(const std::string& text, bool hide_text_after_double_hash, float wrap_width) { const auto vec2{ ImGui::CalcTextSize(text.c_str(), nullptr, hide_text_after_double_hash, wrap_width) }; return std::make_tuple(vec2.x, vec2.y); } + return ImGui::ColorConvertFloat4ToU32({static_cast(r), static_cast(g), static_cast(b), static_cast(a)}); +} +inline std::tuple ColorConvertRGBtoHSV(float r, float g, float b) +{ + float h{}, s{}, v{}; + ImGui::ColorConvertRGBtoHSV(r, g, b, h, s, v); + return std::make_tuple(h, s, v); +} +inline std::tuple ColorConvertHSVtoRGB(float h, float s, float v) +{ + float r{}, g{}, b{}; + ImGui::ColorConvertHSVtoRGB(h, s, v, r, g, b); + return std::make_tuple(r, g, b); +} - // Color Utilities - inline sol::as_table_t> ColorConvertU32ToFloat4(unsigned int in) - { - const auto vec4 = ImGui::ColorConvertU32ToFloat4(in); - sol::as_table_t rgba = sol::as_table(TiltedPhoques::Vector{ - vec4.x, vec4.y, vec4.z, vec4.w - }); +// Inputs Utilities: Mouse +inline bool IsMouseHoveringRect(float min_x, float min_y, float max_x, float max_y) +{ + return ImGui::IsMouseHoveringRect({min_x, min_y}, {max_x, max_y}); +} +inline bool IsMouseHoveringRect(float min_x, float min_y, float max_x, float max_y, bool clip) +{ + return ImGui::IsMouseHoveringRect({min_x, min_y}, {max_x, max_y}, clip); +} +inline std::tuple GetMousePos() +{ + const auto vec2{ImGui::GetMousePos()}; + return std::make_tuple(vec2.x, vec2.y); +} +inline std::tuple GetMousePosOnOpeningCurrentPopup() +{ + const auto vec2{ImGui::GetMousePosOnOpeningCurrentPopup()}; + return std::make_tuple(vec2.x, vec2.y); +} +inline bool IsMouseDragging(int button) +{ + return ImGui::IsMouseDragging(static_cast(button)); +} +inline bool IsMouseDragging(int button, float lock_threshold) +{ + return ImGui::IsMouseDragging(static_cast(button), lock_threshold); +} +inline std::tuple GetMouseDragDelta() +{ + const auto vec2{ImGui::GetMouseDragDelta()}; + return std::make_tuple(vec2.x, vec2.y); +} +inline std::tuple GetMouseDragDelta(int button) +{ + const auto vec2{ImGui::GetMouseDragDelta(static_cast(button))}; + return std::make_tuple(vec2.x, vec2.y); +} +inline std::tuple GetMouseDragDelta(int button, float lock_threshold) +{ + const auto vec2{ImGui::GetMouseDragDelta(static_cast(button), lock_threshold)}; + return std::make_tuple(vec2.x, vec2.y); +} +inline void ResetMouseDragDelta() +{ + ImGui::ResetMouseDragDelta(); +} +inline void ResetMouseDragDelta(int button) +{ + ImGui::ResetMouseDragDelta(static_cast(button)); +} - return rgba; - } - inline unsigned int ColorConvertFloat4ToU32(const sol::table& rgba) - { - const lua_Number r{ rgba[1].get>().value_or(static_cast(0)) }, - g{ rgba[2].get>().value_or(static_cast(0)) }, - b{ rgba[3].get>().value_or(static_cast(0)) }, - a{ rgba[4].get>().value_or(static_cast(0)) }; +// Clipboard Utilities +inline std::string GetClipboardText() +{ + return std::string(ImGui::GetClipboardText()); +} +inline void SetClipboardText(const std::string& text) +{ + ImGui::SetClipboardText(text.c_str()); +} - return ImGui::ColorConvertFloat4ToU32({ static_cast(r), static_cast(g), static_cast(b), static_cast(a) }); - } - inline std::tuple ColorConvertRGBtoHSV(float r, float g, float b) - { - float h{}, s{}, v{}; - ImGui::ColorConvertRGBtoHSV(r, g, b, h, s, v); - return std::make_tuple(h, s, v); - } - inline std::tuple ColorConvertHSVtoRGB(float h, float s, float v) - { - float r{}, g{}, b{}; - ImGui::ColorConvertHSVtoRGB(h, s, v, r, g, b); - return std::make_tuple(r, g, b); - } +// Drawing APIs +// Primitives +inline void ImDrawListAddLine(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, int col) +{ + drawlist->AddLine({p1X, p1Y}, {p2X, p2Y}, static_cast(col)); +} +inline void ImDrawListAddLine(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, int col, float thickness) +{ + drawlist->AddLine({p1X, p1Y}, {p2X, p2Y}, static_cast(col), thickness); +} +inline void ImDrawListAddRect(ImDrawList* drawlist, float p_minX, float p_minY, float p_maxX, float p_maxY, int col) +{ + drawlist->AddRect({p_minX, p_minY}, {p_maxX, p_maxY}, static_cast(col)); +} +inline void ImDrawListAddRect(ImDrawList* drawlist, float p_minX, float p_minY, float p_maxX, float p_maxY, int col, float rounding) +{ + drawlist->AddRect({p_minX, p_minY}, {p_maxX, p_maxY}, static_cast(col), rounding); +} +inline void ImDrawListAddRect(ImDrawList* drawlist, float p_minX, float p_minY, float p_maxX, float p_maxY, int col, float rounding, int flags) +{ + drawlist->AddRect({p_minX, p_minY}, {p_maxX, p_maxY}, static_cast(col), rounding, static_cast(flags)); +} +inline void ImDrawListAddRect(ImDrawList* drawlist, float p_minX, float p_minY, float p_maxX, float p_maxY, int col, float rounding, int flags, float thickness) +{ + drawlist->AddRect({p_minX, p_minY}, {p_maxX, p_maxY}, static_cast(col), rounding, static_cast(flags), thickness); +} +inline void ImDrawListAddRectFilled(ImDrawList* drawlist, float p_minX, float p_minY, float p_maxX, float p_maxY, int col) +{ + drawlist->AddRectFilled({p_minX, p_minY}, {p_maxX, p_maxY}, static_cast(col)); +} +inline void ImDrawListAddRectFilled(ImDrawList* drawlist, float p_minX, float p_minY, float p_maxX, float p_maxY, int col, float rounding) +{ + drawlist->AddRectFilled({p_minX, p_minY}, {p_maxX, p_maxY}, static_cast(col), rounding); +} +inline void ImDrawListAddRectFilled(ImDrawList* drawlist, float p_minX, float p_minY, float p_maxX, float p_maxY, int col, float rounding, int flags) +{ + drawlist->AddRectFilled({p_minX, p_minY}, {p_maxX, p_maxY}, static_cast(col), rounding, static_cast(flags)); +} +inline void ImDrawListAddRectFilledMultiColor( + ImDrawList* drawlist, float p_minX, float p_minY, float p_maxX, float p_maxY, int col_upr_left, int col_upr_right, int col_bot_right, int col_bot_left) +{ + drawlist->AddRectFilledMultiColor( + {p_minX, p_minY}, {p_maxX, p_maxY}, static_cast(col_upr_left), static_cast(col_upr_right), static_cast(col_bot_right), + static_cast(col_bot_left)); +} +inline void ImDrawListAddQuad(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, float p4X, float p4Y, int col) +{ + drawlist->AddQuad({p1X, p1Y}, {p2X, p2Y}, {p3X, p3Y}, {p4X, p4Y}, static_cast(col)); +} +inline void ImDrawListAddQuad(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, float p4X, float p4Y, int col, float thickness) +{ + drawlist->AddQuad({p1X, p1Y}, {p2X, p2Y}, {p3X, p3Y}, {p4X, p4Y}, static_cast(col), thickness); +} +inline void ImDrawListAddQuadFilled(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, float p4X, float p4Y, int col) +{ + drawlist->AddQuadFilled({p1X, p1Y}, {p2X, p2Y}, {p3X, p3Y}, {p4X, p4Y}, static_cast(col)); +} +inline void ImDrawListAddTriangle(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, int col) +{ + drawlist->AddTriangle({p1X, p1Y}, {p2X, p2Y}, {p3X, p3Y}, static_cast(col)); +} +inline void ImDrawListAddTriangle(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, int col, float thickness) +{ + drawlist->AddTriangle({p1X, p1Y}, {p2X, p2Y}, {p3X, p3Y}, static_cast(col), thickness); +} +inline void ImDrawListAddTriangleFilled(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, int col) +{ + drawlist->AddTriangleFilled({p1X, p1Y}, {p2X, p2Y}, {p3X, p3Y}, static_cast(col)); +} +inline void ImDrawListAddCircle(ImDrawList* drawlist, float centerX, float centerY, float radius, int col) +{ + drawlist->AddCircle({centerX, centerY}, radius, static_cast(col)); +} +inline void ImDrawListAddCircle(ImDrawList* drawlist, float centerX, float centerY, float radius, int col, int num_segments) +{ + drawlist->AddCircle({centerX, centerY}, radius, static_cast(col), num_segments); +} +inline void ImDrawListAddCircle(ImDrawList* drawlist, float centerX, float centerY, float radius, int col, int num_segments, float thickness) +{ + drawlist->AddCircle({centerX, centerY}, radius, static_cast(col), num_segments, thickness); +} +inline void ImDrawListAddCircleFilled(ImDrawList* drawlist, float centerX, float centerY, float radius, int col) +{ + drawlist->AddCircleFilled({centerX, centerY}, radius, static_cast(col)); +} +inline void ImDrawListAddCircleFilled(ImDrawList* drawlist, float centerX, float centerY, float radius, int col, int num_segments) +{ + drawlist->AddCircleFilled({centerX, centerY}, radius, static_cast(col), num_segments); +} +inline void ImDrawListAddNgon(ImDrawList* drawlist, float centerX, float centerY, float radius, int col, int num_segments) +{ + drawlist->AddNgon({centerX, centerY}, radius, static_cast(col), num_segments); +} +inline void ImDrawListAddNgon(ImDrawList* drawlist, float centerX, float centerY, float radius, int col, int num_segments, float thickness) +{ + drawlist->AddNgon({centerX, centerY}, radius, static_cast(col), num_segments, thickness); +} +inline void ImDrawListAddNgonFilled(ImDrawList* drawlist, float centerX, float centerY, float radius, int col, int num_segments) +{ + drawlist->AddNgonFilled({centerX, centerY}, radius, static_cast(col), num_segments); +} +inline void ImDrawListAddText(ImDrawList* drawlist, float posX, float posY, int col, const std::string& text_begin) +{ + drawlist->AddText({posX, posY}, static_cast(col), text_begin.c_str()); +} +inline void ImDrawListAddText(ImDrawList* drawlist, float font_size, float posX, float posY, int col, const std::string& text_begin) +{ + drawlist->AddText(ImGui::GetFont(), font_size, {posX, posY}, static_cast(col), text_begin.c_str()); +} +inline void ImDrawListAddText(ImDrawList* drawlist, float font_size, float posX, float posY, int col, const std::string& text_begin, float wrap_width) +{ + drawlist->AddText(ImGui::GetFont(), font_size, {posX, posY}, static_cast(col), text_begin.c_str(), nullptr, wrap_width); +} +// TODO +// inline void ImDrawListAddText(ImDrawList* drawlist, float font_size, float posX, float posY, int col, const +// std::string& text_begin, float wrap_width, sol::table float cpu_fine_clip_rect) { +// drawlist->AddText(ImGui::GetFont(), font_size, { posX, posY }, ImU32(col), text_begin.c_str(), NULL, wrap_width, +// cpu_fine_clip_rect); } inline void ImDrawListAddPolyline(ImDrawList* drawlist, sol::table points, int num_points, int +// col, int flags, float thickness) { +// drawlist->AddPolyline(points, num_points, ImU32(col), static_cast(flags), thickness); } inline void +// ImDrawListAddConvexPolyFilled(ImDrawList* drawlist, sol::table points, int num_points, int col) { +// drawlist->AddConvexPolyFilled(points, num_points, ImU32(col)); } +inline void ImDrawListAddBezierCubic(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, float p4X, float p4Y, int col, float thickness) +{ + drawlist->AddBezierCubic({p1X, p1Y}, {p2X, p2Y}, {p3X, p3Y}, {p4X, p4Y}, static_cast(col), thickness); +} +inline void +ImDrawListAddBezierCubic(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, float p4X, float p4Y, int col, float thickness, int num_segments) +{ + drawlist->AddBezierCubic({p1X, p1Y}, {p2X, p2Y}, {p3X, p3Y}, {p4X, p4Y}, static_cast(col), thickness, num_segments); +} +inline void ImDrawListAddBezierQuadratic(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, int col, float thickness) +{ + drawlist->AddBezierQuadratic({p1X, p1Y}, {p2X, p2Y}, {p3X, p3Y}, static_cast(col), thickness); +} +inline void ImDrawListAddBezierQuadratic(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, int col, float thickness, int num_segments) +{ + drawlist->AddBezierQuadratic({p1X, p1Y}, {p2X, p2Y}, {p3X, p3Y}, static_cast(col), thickness, num_segments); +} - // Inputs Utilities: Mouse - inline bool IsMouseHoveringRect(float min_x, float min_y, float max_x, float max_y) { return ImGui::IsMouseHoveringRect({ min_x, min_y }, { max_x, max_y }); } - inline bool IsMouseHoveringRect(float min_x, float min_y, float max_x, float max_y, bool clip) { return ImGui::IsMouseHoveringRect({ min_x, min_y }, { max_x, max_y }, clip); } - inline std::tuple GetMousePos() { const auto vec2{ ImGui::GetMousePos() }; return std::make_tuple(vec2.x, vec2.y); } - inline std::tuple GetMousePosOnOpeningCurrentPopup() { const auto vec2{ ImGui::GetMousePosOnOpeningCurrentPopup() }; return std::make_tuple(vec2.x, vec2.y); } - inline bool IsMouseDragging(int button) { return ImGui::IsMouseDragging(static_cast(button)); } - inline bool IsMouseDragging(int button, float lock_threshold) { return ImGui::IsMouseDragging(static_cast(button), lock_threshold); } - inline std::tuple GetMouseDragDelta() { const auto vec2{ ImGui::GetMouseDragDelta() }; return std::make_tuple(vec2.x, vec2.y); } - inline std::tuple GetMouseDragDelta(int button) { const auto vec2{ ImGui::GetMouseDragDelta(static_cast(button)) }; return std::make_tuple(vec2.x, vec2.y); } - inline std::tuple GetMouseDragDelta(int button, float lock_threshold) { const auto vec2{ ImGui::GetMouseDragDelta(static_cast(button), lock_threshold) }; return std::make_tuple(vec2.x, vec2.y); } - inline void ResetMouseDragDelta() { ImGui::ResetMouseDragDelta(); } - inline void ResetMouseDragDelta(int button) { ImGui::ResetMouseDragDelta(static_cast(button)); } - - // Clipboard Utilities - inline std::string GetClipboardText() { return std::string(ImGui::GetClipboardText()); } - inline void SetClipboardText(const std::string& text) { ImGui::SetClipboardText(text.c_str()); } - - // Drawing APIs - // Primitives - inline void ImDrawListAddLine(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, int col) { drawlist->AddLine({ p1X, p1Y }, { p2X, p2Y }, static_cast(col)); } - inline void ImDrawListAddLine(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, int col, float thickness) { drawlist->AddLine({ p1X, p1Y }, { p2X, p2Y }, static_cast(col), thickness); } - inline void ImDrawListAddRect(ImDrawList* drawlist, float p_minX, float p_minY, float p_maxX, float p_maxY, int col) { drawlist->AddRect({ p_minX, p_minY }, { p_maxX, p_maxY }, static_cast(col)); } - inline void ImDrawListAddRect(ImDrawList* drawlist, float p_minX, float p_minY, float p_maxX, float p_maxY, int col, float rounding) { drawlist->AddRect({ p_minX, p_minY }, { p_maxX, p_maxY }, static_cast(col), rounding); } - inline void ImDrawListAddRect(ImDrawList* drawlist, float p_minX, float p_minY, float p_maxX, float p_maxY, int col, float rounding, int flags) { drawlist->AddRect({ p_minX, p_minY }, { p_maxX, p_maxY }, static_cast(col), rounding, static_cast(flags)); } - inline void ImDrawListAddRect(ImDrawList* drawlist, float p_minX, float p_minY, float p_maxX, float p_maxY, int col, float rounding, int flags, float thickness) { drawlist->AddRect({ p_minX, p_minY }, { p_maxX, p_maxY }, static_cast(col), rounding, static_cast(flags), thickness); } - inline void ImDrawListAddRectFilled(ImDrawList* drawlist, float p_minX, float p_minY, float p_maxX, float p_maxY, int col) { drawlist->AddRectFilled({ p_minX, p_minY }, { p_maxX, p_maxY }, static_cast(col)); } - inline void ImDrawListAddRectFilled(ImDrawList* drawlist, float p_minX, float p_minY, float p_maxX, float p_maxY, int col, float rounding) { drawlist->AddRectFilled({ p_minX, p_minY }, { p_maxX, p_maxY }, static_cast(col), rounding); } - inline void ImDrawListAddRectFilled(ImDrawList* drawlist, float p_minX, float p_minY, float p_maxX, float p_maxY, int col, float rounding, int flags) { drawlist->AddRectFilled({ p_minX, p_minY }, { p_maxX, p_maxY }, static_cast(col), rounding, static_cast(flags)); } - inline void ImDrawListAddRectFilledMultiColor(ImDrawList* drawlist, float p_minX, float p_minY, float p_maxX, float p_maxY, int col_upr_left, int col_upr_right, int col_bot_right, int col_bot_left) { drawlist->AddRectFilledMultiColor({ p_minX, p_minY }, { p_maxX, p_maxY }, static_cast(col_upr_left), static_cast(col_upr_right), static_cast(col_bot_right), static_cast(col_bot_left)); } - inline void ImDrawListAddQuad(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, float p4X, float p4Y, int col) { drawlist->AddQuad({ p1X, p1Y }, { p2X, p2Y }, { p3X, p3Y }, { p4X, p4Y }, static_cast(col)); } - inline void ImDrawListAddQuad(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, float p4X, float p4Y, int col, float thickness) { drawlist->AddQuad({ p1X, p1Y }, { p2X, p2Y }, { p3X, p3Y }, { p4X, p4Y }, static_cast(col), thickness); } - inline void ImDrawListAddQuadFilled(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, float p4X, float p4Y, int col) { drawlist->AddQuadFilled({ p1X, p1Y }, { p2X, p2Y }, { p3X, p3Y }, { p4X, p4Y }, static_cast(col)); } - inline void ImDrawListAddTriangle(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, int col) { drawlist->AddTriangle({ p1X, p1Y }, { p2X, p2Y }, { p3X, p3Y }, static_cast(col)); } - inline void ImDrawListAddTriangle(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, int col, float thickness) { drawlist->AddTriangle({ p1X, p1Y }, { p2X, p2Y }, { p3X, p3Y }, static_cast(col), thickness); } - inline void ImDrawListAddTriangleFilled(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, int col) { drawlist->AddTriangleFilled({ p1X, p1Y }, { p2X, p2Y }, { p3X, p3Y }, static_cast(col)); } - inline void ImDrawListAddCircle(ImDrawList* drawlist, float centerX, float centerY, float radius, int col) { drawlist->AddCircle({ centerX, centerY }, radius, static_cast(col)); } - inline void ImDrawListAddCircle(ImDrawList* drawlist, float centerX, float centerY, float radius, int col, int num_segments) { drawlist->AddCircle({ centerX, centerY }, radius, static_cast(col), num_segments); } - inline void ImDrawListAddCircle(ImDrawList* drawlist, float centerX, float centerY, float radius, int col, int num_segments, float thickness) { drawlist->AddCircle({ centerX, centerY }, radius, static_cast(col), num_segments, thickness); } - inline void ImDrawListAddCircleFilled(ImDrawList* drawlist, float centerX, float centerY, float radius, int col) { drawlist->AddCircleFilled({ centerX, centerY }, radius, static_cast(col)); } - inline void ImDrawListAddCircleFilled(ImDrawList* drawlist, float centerX, float centerY, float radius, int col, int num_segments) { drawlist->AddCircleFilled({ centerX, centerY }, radius, static_cast(col), num_segments); } - inline void ImDrawListAddNgon(ImDrawList* drawlist, float centerX, float centerY, float radius, int col, int num_segments) { drawlist->AddNgon({ centerX, centerY }, radius, static_cast(col), num_segments); } - inline void ImDrawListAddNgon(ImDrawList* drawlist, float centerX, float centerY, float radius, int col, int num_segments, float thickness) { drawlist->AddNgon({ centerX, centerY }, radius, static_cast(col), num_segments, thickness); } - inline void ImDrawListAddNgonFilled(ImDrawList* drawlist, float centerX, float centerY, float radius, int col, int num_segments) { drawlist->AddNgonFilled({ centerX, centerY }, radius, static_cast(col), num_segments); } - inline void ImDrawListAddText(ImDrawList* drawlist, float posX, float posY, int col, const std::string& text_begin) { drawlist->AddText({ posX, posY }, static_cast(col), text_begin.c_str()); } - inline void ImDrawListAddText(ImDrawList* drawlist, float font_size, float posX, float posY, int col, const std::string& text_begin) { drawlist->AddText(ImGui::GetFont(), font_size, { posX, posY }, static_cast(col), text_begin.c_str()); } - inline void ImDrawListAddText(ImDrawList* drawlist, float font_size, float posX, float posY, int col, const std::string& text_begin, float wrap_width) { drawlist->AddText(ImGui::GetFont(), font_size, { posX, posY }, static_cast(col), text_begin.c_str(), nullptr, wrap_width); } - // TODO - // inline void ImDrawListAddText(ImDrawList* drawlist, float font_size, float posX, float posY, int col, const std::string& text_begin, float wrap_width, sol::table float cpu_fine_clip_rect) { drawlist->AddText(ImGui::GetFont(), font_size, { posX, posY }, ImU32(col), text_begin.c_str(), NULL, wrap_width, cpu_fine_clip_rect); } - // inline void ImDrawListAddPolyline(ImDrawList* drawlist, sol::table points, int num_points, int col, int flags, float thickness) { drawlist->AddPolyline(points, num_points, ImU32(col), static_cast(flags), thickness); } - // inline void ImDrawListAddConvexPolyFilled(ImDrawList* drawlist, sol::table points, int num_points, int col) { drawlist->AddConvexPolyFilled(points, num_points, ImU32(col)); } - inline void ImDrawListAddBezierCubic(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, float p4X, float p4Y, int col, float thickness) { drawlist->AddBezierCubic({ p1X, p1Y }, { p2X, p2Y }, { p3X, p3Y }, { p4X, p4Y }, static_cast(col), thickness); } - inline void ImDrawListAddBezierCubic(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, float p4X, float p4Y, int col, float thickness, int num_segments) { drawlist->AddBezierCubic({ p1X, p1Y }, { p2X, p2Y }, { p3X, p3Y }, { p4X, p4Y }, static_cast(col), thickness, num_segments); } - inline void ImDrawListAddBezierQuadratic(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, int col, float thickness) { drawlist->AddBezierQuadratic({ p1X, p1Y }, { p2X, p2Y }, { p3X, p3Y }, static_cast(col), thickness); } - inline void ImDrawListAddBezierQuadratic(ImDrawList* drawlist, float p1X, float p1Y, float p2X, float p2Y, float p3X, float p3Y, int col, float thickness, int num_segments) { drawlist->AddBezierQuadratic({ p1X, p1Y }, { p2X, p2Y }, { p3X, p3Y }, static_cast(col), thickness, num_segments); } - - inline void InitUserType(sol::table luaGlobals) - { - luaGlobals.new_usertype("ImVec2", sol::constructors(), - "x" , &ImVec2::x, - "y" , &ImVec2::y - ); - - luaGlobals.new_usertype("ImVec4", sol::constructors(), - "x" , &ImVec4::x, - "y" , &ImVec4::y, - "z" , &ImVec4::z, - "w" , &ImVec4::w - ); - - luaGlobals.new_usertype("ImGuiStyle", - "Alpha" , &ImGuiStyle::Alpha, - "DisabledAlpha" , &ImGuiStyle::DisabledAlpha, - "WindowPadding" , &ImGuiStyle::WindowPadding, - "WindowRounding" , &ImGuiStyle::WindowRounding, - "WindowBorderSize" , &ImGuiStyle::WindowBorderSize, - "WindowMinSize" , &ImGuiStyle::WindowMinSize, - "WindowTitleAlign" , &ImGuiStyle::WindowTitleAlign, - "WindowMenuButtonPosition" , &ImGuiStyle::WindowMenuButtonPosition, - "ChildRounding" , &ImGuiStyle::ChildRounding, - "ChildBorderSize" , &ImGuiStyle::ChildBorderSize, - "PopupRounding" , &ImGuiStyle::PopupRounding, - "PopupBorderSize" , &ImGuiStyle::PopupBorderSize, - "FramePadding" , &ImGuiStyle::FramePadding, - "FrameRounding" , &ImGuiStyle::FrameRounding, - "FrameBorderSize" , &ImGuiStyle::FrameBorderSize, - "ItemSpacing" , &ImGuiStyle::ItemSpacing, - "ItemInnerSpacing" , &ImGuiStyle::ItemInnerSpacing, - "CellPadding" , &ImGuiStyle::CellPadding, - "TouchExtraPadding" , &ImGuiStyle::TouchExtraPadding, - "IndentSpacing" , &ImGuiStyle::IndentSpacing, - "ColumnsMinSpacing" , &ImGuiStyle::ColumnsMinSpacing, - "ScrollbarSize" , &ImGuiStyle::ScrollbarSize, - "ScrollbarRounding" , &ImGuiStyle::ScrollbarRounding, - "GrabMinSize" , &ImGuiStyle::GrabMinSize, - "GrabRounding" , &ImGuiStyle::GrabRounding, - "LogSliderDeadzone" , &ImGuiStyle::LogSliderDeadzone, - "TabRounding" , &ImGuiStyle::TabRounding, - "TabBorderSize" , &ImGuiStyle::TabBorderSize, - "TabMinWidthForCloseButton" , &ImGuiStyle::TabMinWidthForCloseButton, - "ColorButtonPosition" , &ImGuiStyle::ColorButtonPosition, - "ButtonTextAlign" , &ImGuiStyle::ButtonTextAlign, - "SelectableTextAlign" , &ImGuiStyle::SelectableTextAlign, - "DisplayWindowPadding" , &ImGuiStyle::DisplayWindowPadding, - "DisplaySafeAreaPadding" , &ImGuiStyle::DisplaySafeAreaPadding, - "MouseCursorScale" , &ImGuiStyle::MouseCursorScale, - "AntiAliasedLines" , &ImGuiStyle::AntiAliasedLines, - "AntiAliasedLinesUseTex" , &ImGuiStyle::AntiAliasedLinesUseTex, - "AntiAliasedFill" , &ImGuiStyle::AntiAliasedFill, - "CurveTessellationTol" , &ImGuiStyle::CurveTessellationTol, - "CircleTessellationMaxError" , &ImGuiStyle::CircleTessellationMaxError, - "ScaleAllSizes" , &ImGuiStyle::ScaleAllSizes - ); - - luaGlobals.new_usertype("ImGuiListClipper", sol::constructors(), - "Begin" , &ImGuiListClipper::Begin, - "Step" , &ImGuiListClipper::Step, - "DisplayStart" , &ImGuiListClipper::DisplayStart, - "DisplayEnd" , &ImGuiListClipper::DisplayEnd - ); - } +inline void InitUserType(sol::table luaGlobals) +{ + luaGlobals.new_usertype("ImVec2", sol::constructors(), "x", &ImVec2::x, "y", &ImVec2::y); + + luaGlobals.new_usertype( + "ImVec4", sol::constructors(), "x", &ImVec4::x, "y", &ImVec4::y, "z", &ImVec4::z, "w", &ImVec4::w); + + luaGlobals.new_usertype( + "ImGuiStyle", "Alpha", &ImGuiStyle::Alpha, "DisabledAlpha", &ImGuiStyle::DisabledAlpha, "WindowPadding", &ImGuiStyle::WindowPadding, "WindowRounding", + &ImGuiStyle::WindowRounding, "WindowBorderSize", &ImGuiStyle::WindowBorderSize, "WindowMinSize", &ImGuiStyle::WindowMinSize, "WindowTitleAlign", + &ImGuiStyle::WindowTitleAlign, "WindowMenuButtonPosition", &ImGuiStyle::WindowMenuButtonPosition, "ChildRounding", &ImGuiStyle::ChildRounding, "ChildBorderSize", + &ImGuiStyle::ChildBorderSize, "PopupRounding", &ImGuiStyle::PopupRounding, "PopupBorderSize", &ImGuiStyle::PopupBorderSize, "FramePadding", &ImGuiStyle::FramePadding, + "FrameRounding", &ImGuiStyle::FrameRounding, "FrameBorderSize", &ImGuiStyle::FrameBorderSize, "ItemSpacing", &ImGuiStyle::ItemSpacing, "ItemInnerSpacing", + &ImGuiStyle::ItemInnerSpacing, "CellPadding", &ImGuiStyle::CellPadding, "TouchExtraPadding", &ImGuiStyle::TouchExtraPadding, "IndentSpacing", &ImGuiStyle::IndentSpacing, + "ColumnsMinSpacing", &ImGuiStyle::ColumnsMinSpacing, "ScrollbarSize", &ImGuiStyle::ScrollbarSize, "ScrollbarRounding", &ImGuiStyle::ScrollbarRounding, "GrabMinSize", + &ImGuiStyle::GrabMinSize, "GrabRounding", &ImGuiStyle::GrabRounding, "LogSliderDeadzone", &ImGuiStyle::LogSliderDeadzone, "TabRounding", &ImGuiStyle::TabRounding, + "TabBorderSize", &ImGuiStyle::TabBorderSize, "TabMinWidthForCloseButton", &ImGuiStyle::TabMinWidthForCloseButton, "ColorButtonPosition", &ImGuiStyle::ColorButtonPosition, + "ButtonTextAlign", &ImGuiStyle::ButtonTextAlign, "SelectableTextAlign", &ImGuiStyle::SelectableTextAlign, "DisplayWindowPadding", &ImGuiStyle::DisplayWindowPadding, + "DisplaySafeAreaPadding", &ImGuiStyle::DisplaySafeAreaPadding, "MouseCursorScale", &ImGuiStyle::MouseCursorScale, "AntiAliasedLines", &ImGuiStyle::AntiAliasedLines, + "AntiAliasedLinesUseTex", &ImGuiStyle::AntiAliasedLinesUseTex, "AntiAliasedFill", &ImGuiStyle::AntiAliasedFill, "CurveTessellationTol", &ImGuiStyle::CurveTessellationTol, + "CircleTessellationMaxError", &ImGuiStyle::CircleTessellationMaxError, "ScaleAllSizes", &ImGuiStyle::ScaleAllSizes); + + luaGlobals.new_usertype( + "ImGuiListClipper", sol::constructors(), "Begin", &ImGuiListClipper::Begin, "Step", &ImGuiListClipper::Step, "DisplayStart", + &ImGuiListClipper::DisplayStart, "DisplayEnd", &ImGuiListClipper::DisplayEnd); +} - inline void InitEnums(sol::table luaGlobals) - { +inline void InitEnums(sol::table luaGlobals) +{ #pragma region Window Flags - luaGlobals.new_enum("ImGuiWindowFlags", - "None" , ImGuiWindowFlags_None, - "NoTitleBar" , ImGuiWindowFlags_NoTitleBar, - "NoResize" , ImGuiWindowFlags_NoResize, - "NoMove" , ImGuiWindowFlags_NoMove, - "NoScrollbar" , ImGuiWindowFlags_NoScrollbar, - "NoScrollWithMouse" , ImGuiWindowFlags_NoScrollWithMouse, - "NoCollapse" , ImGuiWindowFlags_NoCollapse, - "AlwaysAutoResize" , ImGuiWindowFlags_AlwaysAutoResize, - "NoBackground" , ImGuiWindowFlags_NoBackground, - "NoSavedSettings" , ImGuiWindowFlags_NoSavedSettings, - "NoMouseInputs" , ImGuiWindowFlags_NoMouseInputs, - "MenuBar" , ImGuiWindowFlags_MenuBar, - "HorizontalScrollbar" , ImGuiWindowFlags_HorizontalScrollbar, - "NoFocusOnAppearing" , ImGuiWindowFlags_NoFocusOnAppearing, - "NoBringToFrontOnFocus" , ImGuiWindowFlags_NoBringToFrontOnFocus, - "AlwaysVerticalScrollbar" , ImGuiWindowFlags_AlwaysVerticalScrollbar, - "AlwaysHorizontalScrollbar" , ImGuiWindowFlags_AlwaysHorizontalScrollbar, - "AlwaysUseWindowPadding" , ImGuiWindowFlags_AlwaysUseWindowPadding, - "NoNavInputs" , ImGuiWindowFlags_NoNavInputs, - "NoNavFocus" , ImGuiWindowFlags_NoNavFocus, - "UnsavedDocument" , ImGuiWindowFlags_UnsavedDocument, - "NoNav" , ImGuiWindowFlags_NoNav, - "NoDecoration" , ImGuiWindowFlags_NoDecoration, - "NoInputs" , ImGuiWindowFlags_NoInputs, - // [Internal] - "NavFlattened" , ImGuiWindowFlags_NavFlattened, - "ChildWindow" , ImGuiWindowFlags_ChildWindow, - "Tooltip" , ImGuiWindowFlags_Tooltip, - "Popup" , ImGuiWindowFlags_Popup, - "Modal" , ImGuiWindowFlags_Modal, - "ChildMenu" , ImGuiWindowFlags_ChildMenu - ); + luaGlobals.new_enum( + "ImGuiWindowFlags", "None", ImGuiWindowFlags_None, "NoTitleBar", ImGuiWindowFlags_NoTitleBar, "NoResize", ImGuiWindowFlags_NoResize, "NoMove", ImGuiWindowFlags_NoMove, + "NoScrollbar", ImGuiWindowFlags_NoScrollbar, "NoScrollWithMouse", ImGuiWindowFlags_NoScrollWithMouse, "NoCollapse", ImGuiWindowFlags_NoCollapse, "AlwaysAutoResize", + ImGuiWindowFlags_AlwaysAutoResize, "NoBackground", ImGuiWindowFlags_NoBackground, "NoSavedSettings", ImGuiWindowFlags_NoSavedSettings, "NoMouseInputs", + ImGuiWindowFlags_NoMouseInputs, "MenuBar", ImGuiWindowFlags_MenuBar, "HorizontalScrollbar", ImGuiWindowFlags_HorizontalScrollbar, "NoFocusOnAppearing", + ImGuiWindowFlags_NoFocusOnAppearing, "NoBringToFrontOnFocus", ImGuiWindowFlags_NoBringToFrontOnFocus, "AlwaysVerticalScrollbar", ImGuiWindowFlags_AlwaysVerticalScrollbar, + "AlwaysHorizontalScrollbar", ImGuiWindowFlags_AlwaysHorizontalScrollbar, "AlwaysUseWindowPadding", ImGuiWindowFlags_AlwaysUseWindowPadding, "NoNavInputs", + ImGuiWindowFlags_NoNavInputs, "NoNavFocus", ImGuiWindowFlags_NoNavFocus, "UnsavedDocument", ImGuiWindowFlags_UnsavedDocument, "NoNav", ImGuiWindowFlags_NoNav, + "NoDecoration", ImGuiWindowFlags_NoDecoration, "NoInputs", ImGuiWindowFlags_NoInputs, + // [Internal] + "NavFlattened", ImGuiWindowFlags_NavFlattened, "ChildWindow", ImGuiWindowFlags_ChildWindow, "Tooltip", ImGuiWindowFlags_Tooltip, "Popup", ImGuiWindowFlags_Popup, "Modal", + ImGuiWindowFlags_Modal, "ChildMenu", ImGuiWindowFlags_ChildMenu); #pragma endregion Window Flags #pragma region Focused Flags - luaGlobals.new_enum("ImGuiFocusedFlags", - "None" , ImGuiFocusedFlags_None, - "ChildWindows" , ImGuiFocusedFlags_ChildWindows, - "RootWindow" , ImGuiFocusedFlags_RootWindow, - "AnyWindow" , ImGuiFocusedFlags_AnyWindow, - "RootAndChildWindows" , ImGuiFocusedFlags_RootAndChildWindows - ); + luaGlobals.new_enum( + "ImGuiFocusedFlags", "None", ImGuiFocusedFlags_None, "ChildWindows", ImGuiFocusedFlags_ChildWindows, "RootWindow", ImGuiFocusedFlags_RootWindow, "AnyWindow", + ImGuiFocusedFlags_AnyWindow, "RootAndChildWindows", ImGuiFocusedFlags_RootAndChildWindows); #pragma endregion Focused Flags #pragma region Hovered Flags - luaGlobals.new_enum("ImGuiHoveredFlags", - "None" , ImGuiHoveredFlags_None, - "ChildWindows" , ImGuiHoveredFlags_ChildWindows, - "RootWindow" , ImGuiHoveredFlags_RootWindow, - "AnyWindow" , ImGuiHoveredFlags_AnyWindow, - "AllowWhenBlockedByPopup" , ImGuiHoveredFlags_AllowWhenBlockedByPopup, - "AllowWhenBlockedByActiveItem" , ImGuiHoveredFlags_AllowWhenBlockedByActiveItem, - "AllowWhenOverlapped" , ImGuiHoveredFlags_AllowWhenOverlapped, - "AllowWhenDisabled" , ImGuiHoveredFlags_AllowWhenDisabled, - "RectOnly" , ImGuiHoveredFlags_RectOnly, - "RootAndChildWindows" , ImGuiHoveredFlags_RootAndChildWindows - ); + luaGlobals.new_enum( + "ImGuiHoveredFlags", "None", ImGuiHoveredFlags_None, "ChildWindows", ImGuiHoveredFlags_ChildWindows, "RootWindow", ImGuiHoveredFlags_RootWindow, "AnyWindow", + ImGuiHoveredFlags_AnyWindow, "AllowWhenBlockedByPopup", ImGuiHoveredFlags_AllowWhenBlockedByPopup, "AllowWhenBlockedByActiveItem", + ImGuiHoveredFlags_AllowWhenBlockedByActiveItem, "AllowWhenOverlapped", ImGuiHoveredFlags_AllowWhenOverlapped, "AllowWhenDisabled", ImGuiHoveredFlags_AllowWhenDisabled, + "RectOnly", ImGuiHoveredFlags_RectOnly, "RootAndChildWindows", ImGuiHoveredFlags_RootAndChildWindows); #pragma endregion Hovered Flags #pragma region Cond - luaGlobals.new_enum("ImGuiCond", - "None" , ImGuiCond_None, - "Always" , ImGuiCond_Always, - "Once" , ImGuiCond_Once, - "FirstUseEver" , ImGuiCond_FirstUseEver, - "Appearing" , ImGuiCond_Appearing - ); + luaGlobals.new_enum( + "ImGuiCond", "None", ImGuiCond_None, "Always", ImGuiCond_Always, "Once", ImGuiCond_Once, "FirstUseEver", ImGuiCond_FirstUseEver, "Appearing", ImGuiCond_Appearing); #pragma endregion Cond #pragma region Col - luaGlobals.new_enum("ImGuiCol", - "Text" , ImGuiCol_Text, - "TextDisabled" , ImGuiCol_TextDisabled, - "WindowBg" , ImGuiCol_WindowBg, - "ChildBg" , ImGuiCol_ChildBg, - "PopupBg" , ImGuiCol_PopupBg, - "Border" , ImGuiCol_Border, - "BorderShadow" , ImGuiCol_BorderShadow, - "FrameBg" , ImGuiCol_FrameBg, - "FrameBgHovered" , ImGuiCol_FrameBgHovered, - "FrameBgActive" , ImGuiCol_FrameBgActive, - "TitleBg" , ImGuiCol_TitleBg, - "TitleBgActive" , ImGuiCol_TitleBgActive, - "TitleBgCollapsed" , ImGuiCol_TitleBgCollapsed, - "MenuBarBg" , ImGuiCol_MenuBarBg, - "ScrollbarBg" , ImGuiCol_ScrollbarBg, - "ScrollbarGrab" , ImGuiCol_ScrollbarGrab, - "ScrollbarGrabHovered" , ImGuiCol_ScrollbarGrabHovered, - "ScrollbarGrabActive" , ImGuiCol_ScrollbarGrabActive, - "CheckMark" , ImGuiCol_CheckMark, - "SliderGrab" , ImGuiCol_SliderGrab, - "SliderGrabActive" , ImGuiCol_SliderGrabActive, - "Button" , ImGuiCol_Button, - "ButtonHovered" , ImGuiCol_ButtonHovered, - "ButtonActive" , ImGuiCol_ButtonActive, - "Header" , ImGuiCol_Header, - "HeaderHovered" , ImGuiCol_HeaderHovered, - "HeaderActive" , ImGuiCol_HeaderActive, - "Separator" , ImGuiCol_Separator, - "SeparatorHovered" , ImGuiCol_SeparatorHovered, - "SeparatorActive" , ImGuiCol_SeparatorActive, - "ResizeGrip" , ImGuiCol_ResizeGrip, - "ResizeGripHovered" , ImGuiCol_ResizeGripHovered, - "ResizeGripActive" , ImGuiCol_ResizeGripActive, - "Tab" , ImGuiCol_Tab, - "TabHovered" , ImGuiCol_TabHovered, - "TabActive" , ImGuiCol_TabActive, - "TabUnfocused" , ImGuiCol_TabUnfocused, - "TabUnfocusedActive" , ImGuiCol_TabUnfocusedActive, - "PlotLines" , ImGuiCol_PlotLines, - "PlotLinesHovered" , ImGuiCol_PlotLinesHovered, - "PlotHistogram" , ImGuiCol_PlotHistogram, - "PlotHistogramHovered" , ImGuiCol_PlotHistogramHovered, - "TableHeaderBg" , ImGuiCol_TableHeaderBg, - "TableBorderStrong" , ImGuiCol_TableBorderStrong, - "TableBorderLight" , ImGuiCol_TableBorderLight, - "TableRowBg" , ImGuiCol_TableRowBg, - "TableRowBgAlt" , ImGuiCol_TableRowBgAlt, - "TextSelectedBg" , ImGuiCol_TextSelectedBg, - "DragDropTarget" , ImGuiCol_DragDropTarget, - "NavHighlight" , ImGuiCol_NavHighlight, - "NavWindowingHighlight" , ImGuiCol_NavWindowingHighlight, - "NavWindowingDimBg" , ImGuiCol_NavWindowingDimBg, - "ModalWindowDimBg" , ImGuiCol_ModalWindowDimBg, - "COUNT" , ImGuiCol_COUNT - ); + luaGlobals.new_enum( + "ImGuiCol", "Text", ImGuiCol_Text, "TextDisabled", ImGuiCol_TextDisabled, "WindowBg", ImGuiCol_WindowBg, "ChildBg", ImGuiCol_ChildBg, "PopupBg", ImGuiCol_PopupBg, "Border", + ImGuiCol_Border, "BorderShadow", ImGuiCol_BorderShadow, "FrameBg", ImGuiCol_FrameBg, "FrameBgHovered", ImGuiCol_FrameBgHovered, "FrameBgActive", ImGuiCol_FrameBgActive, + "TitleBg", ImGuiCol_TitleBg, "TitleBgActive", ImGuiCol_TitleBgActive, "TitleBgCollapsed", ImGuiCol_TitleBgCollapsed, "MenuBarBg", ImGuiCol_MenuBarBg, "ScrollbarBg", + ImGuiCol_ScrollbarBg, "ScrollbarGrab", ImGuiCol_ScrollbarGrab, "ScrollbarGrabHovered", ImGuiCol_ScrollbarGrabHovered, "ScrollbarGrabActive", ImGuiCol_ScrollbarGrabActive, + "CheckMark", ImGuiCol_CheckMark, "SliderGrab", ImGuiCol_SliderGrab, "SliderGrabActive", ImGuiCol_SliderGrabActive, "Button", ImGuiCol_Button, "ButtonHovered", + ImGuiCol_ButtonHovered, "ButtonActive", ImGuiCol_ButtonActive, "Header", ImGuiCol_Header, "HeaderHovered", ImGuiCol_HeaderHovered, "HeaderActive", ImGuiCol_HeaderActive, + "Separator", ImGuiCol_Separator, "SeparatorHovered", ImGuiCol_SeparatorHovered, "SeparatorActive", ImGuiCol_SeparatorActive, "ResizeGrip", ImGuiCol_ResizeGrip, + "ResizeGripHovered", ImGuiCol_ResizeGripHovered, "ResizeGripActive", ImGuiCol_ResizeGripActive, "Tab", ImGuiCol_Tab, "TabHovered", ImGuiCol_TabHovered, "TabActive", + ImGuiCol_TabActive, "TabUnfocused", ImGuiCol_TabUnfocused, "TabUnfocusedActive", ImGuiCol_TabUnfocusedActive, "PlotLines", ImGuiCol_PlotLines, "PlotLinesHovered", + ImGuiCol_PlotLinesHovered, "PlotHistogram", ImGuiCol_PlotHistogram, "PlotHistogramHovered", ImGuiCol_PlotHistogramHovered, "TableHeaderBg", ImGuiCol_TableHeaderBg, + "TableBorderStrong", ImGuiCol_TableBorderStrong, "TableBorderLight", ImGuiCol_TableBorderLight, "TableRowBg", ImGuiCol_TableRowBg, "TableRowBgAlt", ImGuiCol_TableRowBgAlt, + "TextSelectedBg", ImGuiCol_TextSelectedBg, "DragDropTarget", ImGuiCol_DragDropTarget, "NavHighlight", ImGuiCol_NavHighlight, "NavWindowingHighlight", + ImGuiCol_NavWindowingHighlight, "NavWindowingDimBg", ImGuiCol_NavWindowingDimBg, "ModalWindowDimBg", ImGuiCol_ModalWindowDimBg, "COUNT", ImGuiCol_COUNT); #pragma endregion Col #pragma region Style - luaGlobals.new_enum("ImGuiStyleVar", - "Alpha" , ImGuiStyleVar_Alpha, - "DisabledAlpha" , ImGuiStyleVar_DisabledAlpha, - "WindowPadding" , ImGuiStyleVar_WindowPadding, - "WindowRounding" , ImGuiStyleVar_WindowRounding, - "WindowBorderSize" , ImGuiStyleVar_WindowBorderSize, - "WindowMinSize" , ImGuiStyleVar_WindowMinSize, - "WindowTitleAlign" , ImGuiStyleVar_WindowTitleAlign, - "ChildRounding" , ImGuiStyleVar_ChildRounding, - "ChildBorderSize" , ImGuiStyleVar_ChildBorderSize, - "PopupRounding" , ImGuiStyleVar_PopupRounding, - "PopupBorderSize" , ImGuiStyleVar_PopupBorderSize, - "FramePadding" , ImGuiStyleVar_FramePadding, - "FrameRounding" , ImGuiStyleVar_FrameRounding, - "FrameBorderSize" , ImGuiStyleVar_FrameBorderSize, - "ItemSpacing" , ImGuiStyleVar_ItemSpacing, - "ItemInnerSpacing" , ImGuiStyleVar_ItemInnerSpacing, - "IndentSpacing" , ImGuiStyleVar_IndentSpacing, - "CellPadding" , ImGuiStyleVar_CellPadding, - "ScrollbarSize" , ImGuiStyleVar_ScrollbarSize, - "ScrollbarRounding" , ImGuiStyleVar_ScrollbarRounding, - "GrabMinSize" , ImGuiStyleVar_GrabMinSize, - "GrabRounding" , ImGuiStyleVar_GrabRounding, - "TabRounding" , ImGuiStyleVar_TabRounding, - "SelectableTextAlign" , ImGuiStyleVar_SelectableTextAlign, - "ButtonTextAlign" , ImGuiStyleVar_ButtonTextAlign, - "COUNT" , ImGuiStyleVar_COUNT - ); + luaGlobals.new_enum( + "ImGuiStyleVar", "Alpha", ImGuiStyleVar_Alpha, "DisabledAlpha", ImGuiStyleVar_DisabledAlpha, "WindowPadding", ImGuiStyleVar_WindowPadding, "WindowRounding", + ImGuiStyleVar_WindowRounding, "WindowBorderSize", ImGuiStyleVar_WindowBorderSize, "WindowMinSize", ImGuiStyleVar_WindowMinSize, "WindowTitleAlign", + ImGuiStyleVar_WindowTitleAlign, "ChildRounding", ImGuiStyleVar_ChildRounding, "ChildBorderSize", ImGuiStyleVar_ChildBorderSize, "PopupRounding", + ImGuiStyleVar_PopupRounding, "PopupBorderSize", ImGuiStyleVar_PopupBorderSize, "FramePadding", ImGuiStyleVar_FramePadding, "FrameRounding", ImGuiStyleVar_FrameRounding, + "FrameBorderSize", ImGuiStyleVar_FrameBorderSize, "ItemSpacing", ImGuiStyleVar_ItemSpacing, "ItemInnerSpacing", ImGuiStyleVar_ItemInnerSpacing, "IndentSpacing", + ImGuiStyleVar_IndentSpacing, "CellPadding", ImGuiStyleVar_CellPadding, "ScrollbarSize", ImGuiStyleVar_ScrollbarSize, "ScrollbarRounding", ImGuiStyleVar_ScrollbarRounding, + "GrabMinSize", ImGuiStyleVar_GrabMinSize, "GrabRounding", ImGuiStyleVar_GrabRounding, "TabRounding", ImGuiStyleVar_TabRounding, "SelectableTextAlign", + ImGuiStyleVar_SelectableTextAlign, "ButtonTextAlign", ImGuiStyleVar_ButtonTextAlign, "COUNT", ImGuiStyleVar_COUNT); #pragma endregion Style #pragma region Dir - luaGlobals.new_enum("ImGuiDir", - "None" , ImGuiDir_None, - "Left" , ImGuiDir_Left, - "Right" , ImGuiDir_Right, - "Up" , ImGuiDir_Up, - "Down" , ImGuiDir_Down, - "COUNT" , ImGuiDir_COUNT - ); + luaGlobals.new_enum("ImGuiDir", "None", ImGuiDir_None, "Left", ImGuiDir_Left, "Right", ImGuiDir_Right, "Up", ImGuiDir_Up, "Down", ImGuiDir_Down, "COUNT", ImGuiDir_COUNT); #pragma endregion Dir #pragma region Combo Flags - luaGlobals.new_enum("ImGuiComboFlags", - "None" , ImGuiComboFlags_None, - "PopupAlignLeft" , ImGuiComboFlags_PopupAlignLeft, - "HeightSmall" , ImGuiComboFlags_HeightSmall, - "HeightRegular" , ImGuiComboFlags_HeightRegular, - "HeightLarge" , ImGuiComboFlags_HeightLarge, - "HeightLargest" , ImGuiComboFlags_HeightLargest, - "NoArrowButton" , ImGuiComboFlags_NoArrowButton, - "NoPreview" , ImGuiComboFlags_NoPreview, - "HeightMask" , ImGuiComboFlags_HeightMask_ - ); + luaGlobals.new_enum( + "ImGuiComboFlags", "None", ImGuiComboFlags_None, "PopupAlignLeft", ImGuiComboFlags_PopupAlignLeft, "HeightSmall", ImGuiComboFlags_HeightSmall, "HeightRegular", + ImGuiComboFlags_HeightRegular, "HeightLarge", ImGuiComboFlags_HeightLarge, "HeightLargest", ImGuiComboFlags_HeightLargest, "NoArrowButton", ImGuiComboFlags_NoArrowButton, + "NoPreview", ImGuiComboFlags_NoPreview, "HeightMask", ImGuiComboFlags_HeightMask_); #pragma endregion Combo Flags #pragma region InputText Flags - luaGlobals.new_enum("ImGuiInputTextFlags", - "None" , ImGuiInputTextFlags_None, - "CharsDecimal" , ImGuiInputTextFlags_CharsDecimal, - "CharsHexadecimal" , ImGuiInputTextFlags_CharsHexadecimal, - "CharsUppercase" , ImGuiInputTextFlags_CharsUppercase, - "CharsNoBlank" , ImGuiInputTextFlags_CharsNoBlank, - "AutoSelectAll" , ImGuiInputTextFlags_AutoSelectAll, - "EnterReturnsTrue" , ImGuiInputTextFlags_EnterReturnsTrue, - "CallbackCompletion" , ImGuiInputTextFlags_CallbackCompletion, - "CallbackHistory" , ImGuiInputTextFlags_CallbackHistory, - "CallbackAlways" , ImGuiInputTextFlags_CallbackAlways, - "CallbackCharFilter" , ImGuiInputTextFlags_CallbackCharFilter, - "AllowTabInput" , ImGuiInputTextFlags_AllowTabInput, - "CtrlEnterForNewLine" , ImGuiInputTextFlags_CtrlEnterForNewLine, - "NoHorizontalScroll" , ImGuiInputTextFlags_NoHorizontalScroll, - "AlwaysOverwrite" , ImGuiInputTextFlags_AlwaysOverwrite, - "ReadOnly" , ImGuiInputTextFlags_ReadOnly, - "Password" , ImGuiInputTextFlags_Password, - "NoUndoRedo" , ImGuiInputTextFlags_NoUndoRedo, - "CharsScientific" , ImGuiInputTextFlags_CharsScientific, - "CallbackResize" , ImGuiInputTextFlags_CallbackResize, - "CallbackEdit" , ImGuiInputTextFlags_CallbackEdit - ); + luaGlobals.new_enum( + "ImGuiInputTextFlags", "None", ImGuiInputTextFlags_None, "CharsDecimal", ImGuiInputTextFlags_CharsDecimal, "CharsHexadecimal", ImGuiInputTextFlags_CharsHexadecimal, + "CharsUppercase", ImGuiInputTextFlags_CharsUppercase, "CharsNoBlank", ImGuiInputTextFlags_CharsNoBlank, "AutoSelectAll", ImGuiInputTextFlags_AutoSelectAll, + "EnterReturnsTrue", ImGuiInputTextFlags_EnterReturnsTrue, "CallbackCompletion", ImGuiInputTextFlags_CallbackCompletion, "CallbackHistory", + ImGuiInputTextFlags_CallbackHistory, "CallbackAlways", ImGuiInputTextFlags_CallbackAlways, "CallbackCharFilter", ImGuiInputTextFlags_CallbackCharFilter, "AllowTabInput", + ImGuiInputTextFlags_AllowTabInput, "CtrlEnterForNewLine", ImGuiInputTextFlags_CtrlEnterForNewLine, "NoHorizontalScroll", ImGuiInputTextFlags_NoHorizontalScroll, + "AlwaysOverwrite", ImGuiInputTextFlags_AlwaysOverwrite, "ReadOnly", ImGuiInputTextFlags_ReadOnly, "Password", ImGuiInputTextFlags_Password, "NoUndoRedo", + ImGuiInputTextFlags_NoUndoRedo, "CharsScientific", ImGuiInputTextFlags_CharsScientific, "CallbackResize", ImGuiInputTextFlags_CallbackResize, "CallbackEdit", + ImGuiInputTextFlags_CallbackEdit); #pragma endregion InputText Flags #pragma region Slider Flags - luaGlobals.new_enum("ImGuiSliderFlags", - "None" , ImGuiSliderFlags_None, - "ClampOnInput" , ImGuiSliderFlags_ClampOnInput, - "Logarithmic" , ImGuiSliderFlags_Logarithmic, - "NoRoundToFormat" , ImGuiSliderFlags_NoRoundToFormat, - "NoInput" , ImGuiSliderFlags_NoInput - ); + luaGlobals.new_enum( + "ImGuiSliderFlags", "None", ImGuiSliderFlags_None, "ClampOnInput", ImGuiSliderFlags_ClampOnInput, "Logarithmic", ImGuiSliderFlags_Logarithmic, "NoRoundToFormat", + ImGuiSliderFlags_NoRoundToFormat, "NoInput", ImGuiSliderFlags_NoInput); #pragma endregion Slider Flags #pragma region ColorEdit Flags - luaGlobals.new_enum("ImGuiColorEditFlags", - "None" , ImGuiColorEditFlags_None, - "NoAlpha" , ImGuiColorEditFlags_NoAlpha, - "NoPicker" , ImGuiColorEditFlags_NoPicker, - "NoOptions" , ImGuiColorEditFlags_NoOptions, - "NoSmallPreview" , ImGuiColorEditFlags_NoSmallPreview, - "NoInputs" , ImGuiColorEditFlags_NoInputs, - "NoTooltip" , ImGuiColorEditFlags_NoTooltip, - "NoLabel" , ImGuiColorEditFlags_NoLabel, - "NoSidePreview" , ImGuiColorEditFlags_NoSidePreview, - "NoDragDrop" , ImGuiColorEditFlags_NoDragDrop, - "NoBorder" , ImGuiColorEditFlags_NoBorder, - - "AlphaBar" , ImGuiColorEditFlags_AlphaBar, - "AlphaPreview" , ImGuiColorEditFlags_AlphaPreview, - "AlphaPreviewHalf" , ImGuiColorEditFlags_AlphaPreviewHalf, - "HDR" , ImGuiColorEditFlags_HDR, - "DisplayRGB" , ImGuiColorEditFlags_DisplayRGB, - "DisplayHSV" , ImGuiColorEditFlags_DisplayHSV, - "DisplayHex" , ImGuiColorEditFlags_DisplayHex, - "Uint8" , ImGuiColorEditFlags_Uint8, - "Float" , ImGuiColorEditFlags_Float, - "PickerHueBar" , ImGuiColorEditFlags_PickerHueBar, - "PickerHueWheel" , ImGuiColorEditFlags_PickerHueWheel, - "InputRGB" , ImGuiColorEditFlags_InputRGB, - "InputHSV" , ImGuiColorEditFlags_InputHSV, - - "_OptionsDefault" , ImGuiColorEditFlags_DefaultOptions_, - - "_DisplayMask" , ImGuiColorEditFlags_DisplayMask_, - "_DataTypeMask" , ImGuiColorEditFlags_DataTypeMask_, - "_PickerMask" , ImGuiColorEditFlags_PickerMask_, - "_InputMask" , ImGuiColorEditFlags_InputMask_ - ); + luaGlobals.new_enum( + "ImGuiColorEditFlags", "None", ImGuiColorEditFlags_None, "NoAlpha", ImGuiColorEditFlags_NoAlpha, "NoPicker", ImGuiColorEditFlags_NoPicker, "NoOptions", + ImGuiColorEditFlags_NoOptions, "NoSmallPreview", ImGuiColorEditFlags_NoSmallPreview, "NoInputs", ImGuiColorEditFlags_NoInputs, "NoTooltip", ImGuiColorEditFlags_NoTooltip, + "NoLabel", ImGuiColorEditFlags_NoLabel, "NoSidePreview", ImGuiColorEditFlags_NoSidePreview, "NoDragDrop", ImGuiColorEditFlags_NoDragDrop, "NoBorder", + ImGuiColorEditFlags_NoBorder, + + "AlphaBar", ImGuiColorEditFlags_AlphaBar, "AlphaPreview", ImGuiColorEditFlags_AlphaPreview, "AlphaPreviewHalf", ImGuiColorEditFlags_AlphaPreviewHalf, "HDR", + ImGuiColorEditFlags_HDR, "DisplayRGB", ImGuiColorEditFlags_DisplayRGB, "DisplayHSV", ImGuiColorEditFlags_DisplayHSV, "DisplayHex", ImGuiColorEditFlags_DisplayHex, "Uint8", + ImGuiColorEditFlags_Uint8, "Float", ImGuiColorEditFlags_Float, "PickerHueBar", ImGuiColorEditFlags_PickerHueBar, "PickerHueWheel", ImGuiColorEditFlags_PickerHueWheel, + "InputRGB", ImGuiColorEditFlags_InputRGB, "InputHSV", ImGuiColorEditFlags_InputHSV, + + "_OptionsDefault", ImGuiColorEditFlags_DefaultOptions_, + + "_DisplayMask", ImGuiColorEditFlags_DisplayMask_, "_DataTypeMask", ImGuiColorEditFlags_DataTypeMask_, "_PickerMask", ImGuiColorEditFlags_PickerMask_, "_InputMask", + ImGuiColorEditFlags_InputMask_); #pragma endregion ColorEdit Flags #pragma region TreeNode Flags - luaGlobals.new_enum("ImGuiTreeNodeFlags", - "None" , ImGuiTreeNodeFlags_None, - "Selected" , ImGuiTreeNodeFlags_Selected, - "Framed" , ImGuiTreeNodeFlags_Framed, - "AllowItemOverlap" , ImGuiTreeNodeFlags_AllowItemOverlap, - "NoTreePushOnOpen" , ImGuiTreeNodeFlags_NoTreePushOnOpen, - "NoAutoOpenOnLog" , ImGuiTreeNodeFlags_NoAutoOpenOnLog, - "DefaultOpen" , ImGuiTreeNodeFlags_DefaultOpen, - "OpenOnDoubleClick" , ImGuiTreeNodeFlags_OpenOnDoubleClick, - "OpenOnArrow" , ImGuiTreeNodeFlags_OpenOnArrow, - "Leaf" , ImGuiTreeNodeFlags_Leaf, - "Bullet" , ImGuiTreeNodeFlags_Bullet, - "FramePadding" , ImGuiTreeNodeFlags_FramePadding, - "SpanAvailWidth" , ImGuiTreeNodeFlags_SpanAvailWidth, - "SpanFullWidth" , ImGuiTreeNodeFlags_SpanFullWidth, - "NavLeftJumpsBackHere" , ImGuiTreeNodeFlags_NavLeftJumpsBackHere, - "CollapsingHeader" , ImGuiTreeNodeFlags_CollapsingHeader - ); + luaGlobals.new_enum( + "ImGuiTreeNodeFlags", "None", ImGuiTreeNodeFlags_None, "Selected", ImGuiTreeNodeFlags_Selected, "Framed", ImGuiTreeNodeFlags_Framed, "AllowItemOverlap", + ImGuiTreeNodeFlags_AllowItemOverlap, "NoTreePushOnOpen", ImGuiTreeNodeFlags_NoTreePushOnOpen, "NoAutoOpenOnLog", ImGuiTreeNodeFlags_NoAutoOpenOnLog, "DefaultOpen", + ImGuiTreeNodeFlags_DefaultOpen, "OpenOnDoubleClick", ImGuiTreeNodeFlags_OpenOnDoubleClick, "OpenOnArrow", ImGuiTreeNodeFlags_OpenOnArrow, "Leaf", ImGuiTreeNodeFlags_Leaf, + "Bullet", ImGuiTreeNodeFlags_Bullet, "FramePadding", ImGuiTreeNodeFlags_FramePadding, "SpanAvailWidth", ImGuiTreeNodeFlags_SpanAvailWidth, "SpanFullWidth", + ImGuiTreeNodeFlags_SpanFullWidth, "NavLeftJumpsBackHere", ImGuiTreeNodeFlags_NavLeftJumpsBackHere, "CollapsingHeader", ImGuiTreeNodeFlags_CollapsingHeader); #pragma endregion TreeNode Flags #pragma region Selectable Flags - luaGlobals.new_enum("ImGuiSelectableFlags", - "None" , ImGuiSelectableFlags_None, - "DontClosePopups" , ImGuiSelectableFlags_DontClosePopups, - "SpanAllColumns" , ImGuiSelectableFlags_SpanAllColumns, - "AllowDoubleClick" , ImGuiSelectableFlags_AllowDoubleClick, - "Disabled" , ImGuiSelectableFlags_Disabled, - "AllowItemOverlap" , ImGuiSelectableFlags_AllowItemOverlap - ); + luaGlobals.new_enum( + "ImGuiSelectableFlags", "None", ImGuiSelectableFlags_None, "DontClosePopups", ImGuiSelectableFlags_DontClosePopups, "SpanAllColumns", ImGuiSelectableFlags_SpanAllColumns, + "AllowDoubleClick", ImGuiSelectableFlags_AllowDoubleClick, "Disabled", ImGuiSelectableFlags_Disabled, "AllowItemOverlap", ImGuiSelectableFlags_AllowItemOverlap); #pragma endregion Selectable Flags #pragma region Popup Flags - luaGlobals.new_enum("ImGuiPopupFlags", - "None" , ImGuiPopupFlags_None, - "MouseButtonLeft" , ImGuiPopupFlags_MouseButtonLeft, - "MouseButtonRight" , ImGuiPopupFlags_MouseButtonRight, - "MouseButtonMiddle" , ImGuiPopupFlags_MouseButtonMiddle, - "MouseButtonMask_" , ImGuiPopupFlags_MouseButtonMask_, - "MouseButtonDefault_" , ImGuiPopupFlags_MouseButtonDefault_, - "NoOpenOverExistingPopup" , ImGuiPopupFlags_NoOpenOverExistingPopup, - "NoOpenOverItems" , ImGuiPopupFlags_NoOpenOverItems, - "AnyPopupId" , ImGuiPopupFlags_AnyPopupId, - "AnyPopupLevel" , ImGuiPopupFlags_AnyPopupLevel, - "AnyPopup" , ImGuiPopupFlags_AnyPopup - ); + luaGlobals.new_enum( + "ImGuiPopupFlags", "None", ImGuiPopupFlags_None, "MouseButtonLeft", ImGuiPopupFlags_MouseButtonLeft, "MouseButtonRight", ImGuiPopupFlags_MouseButtonRight, + "MouseButtonMiddle", ImGuiPopupFlags_MouseButtonMiddle, "MouseButtonMask_", ImGuiPopupFlags_MouseButtonMask_, "MouseButtonDefault_", ImGuiPopupFlags_MouseButtonDefault_, + "NoOpenOverExistingPopup", ImGuiPopupFlags_NoOpenOverExistingPopup, "NoOpenOverItems", ImGuiPopupFlags_NoOpenOverItems, "AnyPopupId", ImGuiPopupFlags_AnyPopupId, + "AnyPopupLevel", ImGuiPopupFlags_AnyPopupLevel, "AnyPopup", ImGuiPopupFlags_AnyPopup); #pragma endregion Popup Flags #pragma region Table Flags - luaGlobals.new_enum("ImGuiTableFlags", - // Features - "None" , ImGuiTableFlags_None, - "Resizable" , ImGuiTableFlags_Resizable, - "Reorderable" , ImGuiTableFlags_Reorderable, - "Hideable" , ImGuiTableFlags_Hideable, - "Sortable" , ImGuiTableFlags_Sortable, - "NoSavedSettings" , ImGuiTableFlags_NoSavedSettings, - "ContextMenuInBody" , ImGuiTableFlags_ContextMenuInBody, - // Decorations - "RowBg" , ImGuiTableFlags_RowBg, - "BordersInnerH" , ImGuiTableFlags_BordersInnerH, - "BordersOuterH" , ImGuiTableFlags_BordersOuterH, - "BordersInnerV" , ImGuiTableFlags_BordersInnerV, - "BordersOuterV" , ImGuiTableFlags_BordersOuterV, - "BordersH" , ImGuiTableFlags_BordersH, - "BordersV" , ImGuiTableFlags_BordersV, - "BordersInner" , ImGuiTableFlags_BordersInner, - "BordersOuter" , ImGuiTableFlags_BordersOuter, - "Borders" , ImGuiTableFlags_Borders, - "NoBordersInBody" , ImGuiTableFlags_NoBordersInBody, - "NoBordersInBodyUntilResize" , ImGuiTableFlags_NoBordersInBodyUntilResize, - // Sizing Policy (read above for defaults) - "SizingFixedFit" , ImGuiTableFlags_SizingFixedFit, - "SizingFixedSame" , ImGuiTableFlags_SizingFixedSame, - "SizingStretchProp" , ImGuiTableFlags_SizingStretchProp, - "SizingStretchSame" , ImGuiTableFlags_SizingStretchSame, - // Sizing Extra Options - "NoHostExtendX" , ImGuiTableFlags_NoHostExtendX, - "NoHostExtendY" , ImGuiTableFlags_NoHostExtendY, - "NoKeepColumnsVisible" , ImGuiTableFlags_NoKeepColumnsVisible, - "PreciseWidths" , ImGuiTableFlags_PreciseWidths, - // Clipping - "NoClip" , ImGuiTableFlags_NoClip, - // Padding - "PadOuterX" , ImGuiTableFlags_PadOuterX, - "NoPadOuterX" , ImGuiTableFlags_NoPadOuterX, - "NoPadInnerX" , ImGuiTableFlags_NoPadInnerX, - // Scrolling - "ScrollX" , ImGuiTableFlags_ScrollX, - "ScrollY" , ImGuiTableFlags_ScrollY, - // Sorting - "SortMulti" , ImGuiTableFlags_SortMulti, - "SortTristate" , ImGuiTableFlags_SortTristate, - // [Internal] Combinations and masks - "SizingMask" , ImGuiTableFlags_SizingMask_ - ); + luaGlobals.new_enum( + "ImGuiTableFlags", + // Features + "None", ImGuiTableFlags_None, "Resizable", ImGuiTableFlags_Resizable, "Reorderable", ImGuiTableFlags_Reorderable, "Hideable", ImGuiTableFlags_Hideable, "Sortable", + ImGuiTableFlags_Sortable, "NoSavedSettings", ImGuiTableFlags_NoSavedSettings, "ContextMenuInBody", ImGuiTableFlags_ContextMenuInBody, + // Decorations + "RowBg", ImGuiTableFlags_RowBg, "BordersInnerH", ImGuiTableFlags_BordersInnerH, "BordersOuterH", ImGuiTableFlags_BordersOuterH, "BordersInnerV", + ImGuiTableFlags_BordersInnerV, "BordersOuterV", ImGuiTableFlags_BordersOuterV, "BordersH", ImGuiTableFlags_BordersH, "BordersV", ImGuiTableFlags_BordersV, "BordersInner", + ImGuiTableFlags_BordersInner, "BordersOuter", ImGuiTableFlags_BordersOuter, "Borders", ImGuiTableFlags_Borders, "NoBordersInBody", ImGuiTableFlags_NoBordersInBody, + "NoBordersInBodyUntilResize", ImGuiTableFlags_NoBordersInBodyUntilResize, + // Sizing Policy (read above for defaults) + "SizingFixedFit", ImGuiTableFlags_SizingFixedFit, "SizingFixedSame", ImGuiTableFlags_SizingFixedSame, "SizingStretchProp", ImGuiTableFlags_SizingStretchProp, + "SizingStretchSame", ImGuiTableFlags_SizingStretchSame, + // Sizing Extra Options + "NoHostExtendX", ImGuiTableFlags_NoHostExtendX, "NoHostExtendY", ImGuiTableFlags_NoHostExtendY, "NoKeepColumnsVisible", ImGuiTableFlags_NoKeepColumnsVisible, + "PreciseWidths", ImGuiTableFlags_PreciseWidths, + // Clipping + "NoClip", ImGuiTableFlags_NoClip, + // Padding + "PadOuterX", ImGuiTableFlags_PadOuterX, "NoPadOuterX", ImGuiTableFlags_NoPadOuterX, "NoPadInnerX", ImGuiTableFlags_NoPadInnerX, + // Scrolling + "ScrollX", ImGuiTableFlags_ScrollX, "ScrollY", ImGuiTableFlags_ScrollY, + // Sorting + "SortMulti", ImGuiTableFlags_SortMulti, "SortTristate", ImGuiTableFlags_SortTristate, + // [Internal] Combinations and masks + "SizingMask", ImGuiTableFlags_SizingMask_); #pragma endregion Table Flags #pragma region TableColumn Flags - luaGlobals.new_enum("ImGuiTableColumnFlags", + luaGlobals.new_enum( + "ImGuiTableColumnFlags", // Input configuration flags - "None" , ImGuiTableColumnFlags_None, - "Disabled" , ImGuiTableColumnFlags_Disabled, - "DefaultHide" , ImGuiTableColumnFlags_DefaultHide, - "DefaultSort" , ImGuiTableColumnFlags_DefaultSort, - "WidthStretch" , ImGuiTableColumnFlags_WidthStretch, - "WidthFixed" , ImGuiTableColumnFlags_WidthFixed, - "NoResize" , ImGuiTableColumnFlags_NoResize, - "NoReorder" , ImGuiTableColumnFlags_NoReorder, - "NoHide" , ImGuiTableColumnFlags_NoHide, - "NoClip" , ImGuiTableColumnFlags_NoClip, - "NoSort" , ImGuiTableColumnFlags_NoSort, - "NoSortAscending" , ImGuiTableColumnFlags_NoSortAscending, - "NoSortDescending" , ImGuiTableColumnFlags_NoSortDescending, - "NoHeaderLabel" , ImGuiTableColumnFlags_NoHeaderLabel, - "NoHeaderWidth" , ImGuiTableColumnFlags_NoHeaderWidth, - "PreferSortAscending" , ImGuiTableColumnFlags_PreferSortAscending, - "PreferSortDescending" , ImGuiTableColumnFlags_PreferSortDescending, - "IndentEnable" , ImGuiTableColumnFlags_IndentEnable, - "IndentDisable" , ImGuiTableColumnFlags_IndentDisable, - // Output status flags, read-only via TableGetColumnFlags() - "IsEnabled" , ImGuiTableColumnFlags_IsEnabled, - "IsVisible" , ImGuiTableColumnFlags_IsVisible, - "IsSorted" , ImGuiTableColumnFlags_IsSorted, - "IsHovered" , ImGuiTableColumnFlags_IsHovered, - // [Internal] Combinations and masks - "WidthMask_" , ImGuiTableColumnFlags_WidthMask_, - "IndentMask_" , ImGuiTableColumnFlags_IndentMask_, - "StatusMask_" , ImGuiTableColumnFlags_StatusMask_, - "NoDirectResize_" , ImGuiTableColumnFlags_NoDirectResize_ - ); + "None", ImGuiTableColumnFlags_None, "Disabled", ImGuiTableColumnFlags_Disabled, "DefaultHide", ImGuiTableColumnFlags_DefaultHide, "DefaultSort", + ImGuiTableColumnFlags_DefaultSort, "WidthStretch", ImGuiTableColumnFlags_WidthStretch, "WidthFixed", ImGuiTableColumnFlags_WidthFixed, "NoResize", + ImGuiTableColumnFlags_NoResize, "NoReorder", ImGuiTableColumnFlags_NoReorder, "NoHide", ImGuiTableColumnFlags_NoHide, "NoClip", ImGuiTableColumnFlags_NoClip, "NoSort", + ImGuiTableColumnFlags_NoSort, "NoSortAscending", ImGuiTableColumnFlags_NoSortAscending, "NoSortDescending", ImGuiTableColumnFlags_NoSortDescending, "NoHeaderLabel", + ImGuiTableColumnFlags_NoHeaderLabel, "NoHeaderWidth", ImGuiTableColumnFlags_NoHeaderWidth, "PreferSortAscending", ImGuiTableColumnFlags_PreferSortAscending, + "PreferSortDescending", ImGuiTableColumnFlags_PreferSortDescending, "IndentEnable", ImGuiTableColumnFlags_IndentEnable, "IndentDisable", + ImGuiTableColumnFlags_IndentDisable, + // Output status flags, read-only via TableGetColumnFlags() + "IsEnabled", ImGuiTableColumnFlags_IsEnabled, "IsVisible", ImGuiTableColumnFlags_IsVisible, "IsSorted", ImGuiTableColumnFlags_IsSorted, "IsHovered", + ImGuiTableColumnFlags_IsHovered, + // [Internal] Combinations and masks + "WidthMask_", ImGuiTableColumnFlags_WidthMask_, "IndentMask_", ImGuiTableColumnFlags_IndentMask_, "StatusMask_", ImGuiTableColumnFlags_StatusMask_, "NoDirectResize_", + ImGuiTableColumnFlags_NoDirectResize_); #pragma endregion TableColumn Flags #pragma region TableRow Flags - luaGlobals.new_enum("ImGuiTableRowFlags", - "None" , ImGuiTableRowFlags_None, - "Headers" , ImGuiTableRowFlags_Headers - ); + luaGlobals.new_enum("ImGuiTableRowFlags", "None", ImGuiTableRowFlags_None, "Headers", ImGuiTableRowFlags_Headers); #pragma endregion TableRow Flags #pragma region TableBg Target - luaGlobals.new_enum("ImGuiTableBgTarget", - "None" , ImGuiTableBgTarget_None, - "RowBg0" , ImGuiTableBgTarget_RowBg0, - "RowBg1" , ImGuiTableBgTarget_RowBg1, - "CellBg" , ImGuiTableBgTarget_CellBg - ); + luaGlobals.new_enum( + "ImGuiTableBgTarget", "None", ImGuiTableBgTarget_None, "RowBg0", ImGuiTableBgTarget_RowBg0, "RowBg1", ImGuiTableBgTarget_RowBg1, "CellBg", ImGuiTableBgTarget_CellBg); #pragma endregion TableBg Target #pragma region Draw Flags - luaGlobals.new_enum("ImDrawFlags", - "None" , ImDrawFlags_None, - "Closed" , ImDrawFlags_Closed, - "ImDrawFlags_RoundCornersTopLeft" , ImDrawFlags_RoundCornersTopLeft, - "RoundCornersTopRight" , ImDrawFlags_RoundCornersTopRight, - "RoundCornersBottomLeft" , ImDrawFlags_RoundCornersBottomLeft, - "RoundCornersBottomRight" , ImDrawFlags_RoundCornersBottomRight, - "RoundCornersNone" , ImDrawFlags_RoundCornersNone, - "RoundCornersTop" , ImDrawFlags_RoundCornersTop, - "RoundCornersBottom" , ImDrawFlags_RoundCornersBottom, - "RoundCornersLeft" , ImDrawFlags_RoundCornersLeft, - "RoundCornersRight" , ImDrawFlags_RoundCornersRight, - "RoundCornersAll" , ImDrawFlags_RoundCornersAll - ); + luaGlobals.new_enum( + "ImDrawFlags", "None", ImDrawFlags_None, "Closed", ImDrawFlags_Closed, "ImDrawFlags_RoundCornersTopLeft", ImDrawFlags_RoundCornersTopLeft, "RoundCornersTopRight", + ImDrawFlags_RoundCornersTopRight, "RoundCornersBottomLeft", ImDrawFlags_RoundCornersBottomLeft, "RoundCornersBottomRight", ImDrawFlags_RoundCornersBottomRight, + "RoundCornersNone", ImDrawFlags_RoundCornersNone, "RoundCornersTop", ImDrawFlags_RoundCornersTop, "RoundCornersBottom", ImDrawFlags_RoundCornersBottom, "RoundCornersLeft", + ImDrawFlags_RoundCornersLeft, "RoundCornersRight", ImDrawFlags_RoundCornersRight, "RoundCornersAll", ImDrawFlags_RoundCornersAll); #pragma endregion Draw Flags #pragma region TabBar Flags - luaGlobals.new_enum("ImGuiTabBarFlags", - "None" , ImGuiTabBarFlags_None, - "Reorderable" , ImGuiTabBarFlags_Reorderable, - "AutoSelectNewTabs" , ImGuiTabBarFlags_AutoSelectNewTabs, - "TabListPopupButton" , ImGuiTabBarFlags_TabListPopupButton, - "NoCloseWithMiddleMouseButton" , ImGuiTabBarFlags_NoCloseWithMiddleMouseButton, - "NoTabListScrollingButtons" , ImGuiTabBarFlags_NoTabListScrollingButtons, - "NoTooltip" , ImGuiTabBarFlags_NoTooltip, - "FittingPolicyResizeDown" , ImGuiTabBarFlags_FittingPolicyResizeDown, - "FittingPolicyScroll" , ImGuiTabBarFlags_FittingPolicyScroll, - "FittingPolicyMask_" , ImGuiTabBarFlags_FittingPolicyMask_, - "FittingPolicyDefault_" , ImGuiTabBarFlags_FittingPolicyDefault_ - ); + luaGlobals.new_enum( + "ImGuiTabBarFlags", "None", ImGuiTabBarFlags_None, "Reorderable", ImGuiTabBarFlags_Reorderable, "AutoSelectNewTabs", ImGuiTabBarFlags_AutoSelectNewTabs, + "TabListPopupButton", ImGuiTabBarFlags_TabListPopupButton, "NoCloseWithMiddleMouseButton", ImGuiTabBarFlags_NoCloseWithMiddleMouseButton, "NoTabListScrollingButtons", + ImGuiTabBarFlags_NoTabListScrollingButtons, "NoTooltip", ImGuiTabBarFlags_NoTooltip, "FittingPolicyResizeDown", ImGuiTabBarFlags_FittingPolicyResizeDown, + "FittingPolicyScroll", ImGuiTabBarFlags_FittingPolicyScroll, "FittingPolicyMask_", ImGuiTabBarFlags_FittingPolicyMask_, "FittingPolicyDefault_", + ImGuiTabBarFlags_FittingPolicyDefault_); #pragma endregion TabBar Flags #pragma region TabItem Flags - luaGlobals.new_enum("ImGuiTabItemFlags", - "None" , ImGuiTabItemFlags_None, - "UnsavedDocument" , ImGuiTabItemFlags_UnsavedDocument, - "SetSelected" , ImGuiTabItemFlags_SetSelected, - "NoCloseWithMiddleMouseButton" , ImGuiTabItemFlags_NoCloseWithMiddleMouseButton, - "NoPushId" , ImGuiTabItemFlags_NoPushId, - "NoTooltip" , ImGuiTabItemFlags_NoTooltip, - "NoReorder" , ImGuiTabItemFlags_NoReorder, - "Leading" , ImGuiTabItemFlags_Leading, - "Trailing" , ImGuiTabItemFlags_Trailing - ); + luaGlobals.new_enum( + "ImGuiTabItemFlags", "None", ImGuiTabItemFlags_None, "UnsavedDocument", ImGuiTabItemFlags_UnsavedDocument, "SetSelected", ImGuiTabItemFlags_SetSelected, + "NoCloseWithMiddleMouseButton", ImGuiTabItemFlags_NoCloseWithMiddleMouseButton, "NoPushId", ImGuiTabItemFlags_NoPushId, "NoTooltip", ImGuiTabItemFlags_NoTooltip, + "NoReorder", ImGuiTabItemFlags_NoReorder, "Leading", ImGuiTabItemFlags_Leading, "Trailing", ImGuiTabItemFlags_Trailing); #pragma endregion TabItem Flags #pragma region MouseButton - luaGlobals.new_enum("ImGuiMouseButton", - "Left" , ImGuiMouseButton_Left, - "Right" , ImGuiMouseButton_Right, - "Middle" , ImGuiMouseButton_Middle, - "COUNT" , ImGuiMouseButton_COUNT - ); + luaGlobals.new_enum("ImGuiMouseButton", "Left", ImGuiMouseButton_Left, "Right", ImGuiMouseButton_Right, "Middle", ImGuiMouseButton_Middle, "COUNT", ImGuiMouseButton_COUNT); #pragma endregion MouseButton #pragma region ImDrawCorner Flags - luaGlobals.new_enum("ImDrawCornerFlags", - "None" , ImDrawCornerFlags_None, - "TopLeft" , ImDrawCornerFlags_TopLeft, - "TopRight" , ImDrawCornerFlags_TopRight, - "BotLeft" , ImDrawCornerFlags_BotLeft, - "BotRight" , ImDrawCornerFlags_BotRight, - "Top" , ImDrawCornerFlags_Top, - "Bot" , ImDrawCornerFlags_Bot, - "Left" , ImDrawCornerFlags_Left, - "Right" , ImDrawCornerFlags_Right, - "All" , ImDrawCornerFlags_All - ); + luaGlobals.new_enum( + "ImDrawCornerFlags", "None", ImDrawCornerFlags_None, "TopLeft", ImDrawCornerFlags_TopLeft, "TopRight", ImDrawCornerFlags_TopRight, "BotLeft", ImDrawCornerFlags_BotLeft, + "BotRight", ImDrawCornerFlags_BotRight, "Top", ImDrawCornerFlags_Top, "Bot", ImDrawCornerFlags_Bot, "Left", ImDrawCornerFlags_Left, "Right", ImDrawCornerFlags_Right, "All", + ImDrawCornerFlags_All); #pragma endregion ImDrawCorner Flags - } +} - inline void InitBindings(sol::state& lua, sol::table luaGlobals) - { - InitUserType(luaGlobals); - InitEnums(luaGlobals); +inline void InitBindings(sol::state& lua, sol::table luaGlobals) +{ + InitUserType(luaGlobals); + InitEnums(luaGlobals); - sol::table ImGui(lua, sol::create); + sol::table ImGui(lua, sol::create); #pragma region Windows - ImGui.set_function("Begin" , sol::overload( - sol::resolve(Begin), - sol::resolve(Begin), - sol::resolve(const std::string&, bool)>(Begin), - sol::resolve(const std::string&, bool, int)>(Begin) - )); - ImGui.set_function("End" , End); + ImGui.set_function( + "Begin", sol::overload( + sol::resolve(Begin), sol::resolve(Begin), + sol::resolve(const std::string&, bool)>(Begin), sol::resolve(const std::string&, bool, int)>(Begin))); + ImGui.set_function("End", End); #pragma endregion Windows #pragma region Child Windows - ImGui.set_function("BeginChild" , sol::overload( - sol::resolve(BeginChild), - sol::resolve(BeginChild), - sol::resolve(BeginChild), - sol::resolve(BeginChild), - sol::resolve(BeginChild) - )); - ImGui.set_function("EndChild" , EndChild); + ImGui.set_function( + "BeginChild", sol::overload( + sol::resolve(BeginChild), sol::resolve(BeginChild), + sol::resolve(BeginChild), sol::resolve(BeginChild), + sol::resolve(BeginChild))); + ImGui.set_function("EndChild", EndChild); #pragma endregion Child Windows #pragma region Window Utilities - ImGui.set_function("IsWindowAppearing" , IsWindowAppearing); - ImGui.set_function("IsWindowCollapsed" , IsWindowCollapsed); - ImGui.set_function("IsWindowFocused" , sol::overload( - sol::resolve(IsWindowFocused), - sol::resolve(IsWindowFocused) - )); - ImGui.set_function("IsWindowHovered" , sol::overload( - sol::resolve(IsWindowHovered), - sol::resolve(IsWindowHovered) - )); - ImGui.set_function("GetWindowDrawList" , GetWindowDrawList); - ImGui.set_function("GetWindowPos" , GetWindowPos); - ImGui.set_function("GetWindowSize" , GetWindowSize); - ImGui.set_function("GetWindowWidth" , GetWindowWidth); - ImGui.set_function("GetWindowHeight" , GetWindowHeight); - - // Prefer SetNext... - ImGui.set_function("SetNextWindowPos" , sol::overload( - sol::resolve(SetNextWindowPos), - sol::resolve(SetNextWindowPos), - sol::resolve(SetNextWindowPos) - )); - ImGui.set_function("SetNextWindowSize" , sol::overload( - sol::resolve(SetNextWindowSize), - sol::resolve(SetNextWindowSize) - )); - ImGui.set_function("SetNextWindowSizeConstraints" , SetNextWindowSizeConstraints); - ImGui.set_function("SetNextWindowContentSize" , SetNextWindowContentSize); - ImGui.set_function("SetNextWindowCollapsed" , sol::overload( - sol::resolve(SetNextWindowCollapsed), - sol::resolve(SetNextWindowCollapsed) - )); - ImGui.set_function("SetNextWindowFocus" , SetNextWindowFocus); - ImGui.set_function("SetNextWindowBgAlpha" , SetNextWindowBgAlpha); - ImGui.set_function("SetWindowPos" , sol::overload( - sol::resolve(SetWindowPos), - sol::resolve(SetWindowPos), - sol::resolve(SetWindowPos), - sol::resolve(SetWindowPos) - )); - ImGui.set_function("SetWindowSize" , sol::overload( - sol::resolve(SetWindowSize), - sol::resolve(SetWindowSize), - sol::resolve(SetWindowSize), - sol::resolve(SetWindowSize) - )); - ImGui.set_function("SetWindowCollapsed" , sol::overload( - sol::resolve(SetWindowCollapsed), - sol::resolve(SetWindowCollapsed), - sol::resolve(SetWindowCollapsed), - sol::resolve(SetWindowCollapsed) - )); - ImGui.set_function("SetWindowFocus" , sol::overload( - sol::resolve(SetWindowFocus), - sol::resolve(SetWindowFocus) - )); - ImGui.set_function("SetWindowFontScale" , SetWindowFontScale); + ImGui.set_function("IsWindowAppearing", IsWindowAppearing); + ImGui.set_function("IsWindowCollapsed", IsWindowCollapsed); + ImGui.set_function("IsWindowFocused", sol::overload(sol::resolve(IsWindowFocused), sol::resolve(IsWindowFocused))); + ImGui.set_function("IsWindowHovered", sol::overload(sol::resolve(IsWindowHovered), sol::resolve(IsWindowHovered))); + ImGui.set_function("GetWindowDrawList", GetWindowDrawList); + ImGui.set_function("GetWindowPos", GetWindowPos); + ImGui.set_function("GetWindowSize", GetWindowSize); + ImGui.set_function("GetWindowWidth", GetWindowWidth); + ImGui.set_function("GetWindowHeight", GetWindowHeight); + + // Prefer SetNext... + ImGui.set_function( + "SetNextWindowPos", sol::overload( + sol::resolve(SetNextWindowPos), sol::resolve(SetNextWindowPos), + sol::resolve(SetNextWindowPos))); + ImGui.set_function("SetNextWindowSize", sol::overload(sol::resolve(SetNextWindowSize), sol::resolve(SetNextWindowSize))); + ImGui.set_function("SetNextWindowSizeConstraints", SetNextWindowSizeConstraints); + ImGui.set_function("SetNextWindowContentSize", SetNextWindowContentSize); + ImGui.set_function("SetNextWindowCollapsed", sol::overload(sol::resolve(SetNextWindowCollapsed), sol::resolve(SetNextWindowCollapsed))); + ImGui.set_function("SetNextWindowFocus", SetNextWindowFocus); + ImGui.set_function("SetNextWindowBgAlpha", SetNextWindowBgAlpha); + ImGui.set_function( + "SetWindowPos", sol::overload( + sol::resolve(SetWindowPos), sol::resolve(SetWindowPos), + sol::resolve(SetWindowPos), sol::resolve(SetWindowPos))); + ImGui.set_function( + "SetWindowSize", sol::overload( + sol::resolve(SetWindowSize), sol::resolve(SetWindowSize), + sol::resolve(SetWindowSize), sol::resolve(SetWindowSize))); + ImGui.set_function( + "SetWindowCollapsed", sol::overload( + sol::resolve(SetWindowCollapsed), sol::resolve(SetWindowCollapsed), + sol::resolve(SetWindowCollapsed), sol::resolve(SetWindowCollapsed))); + ImGui.set_function("SetWindowFocus", sol::overload(sol::resolve(SetWindowFocus), sol::resolve(SetWindowFocus))); + ImGui.set_function("SetWindowFontScale", SetWindowFontScale); #pragma endregion Window Utilities #pragma region Content Region - ImGui.set_function("GetContentRegionMax" , GetContentRegionMax); - ImGui.set_function("GetContentRegionAvail" , GetContentRegionAvail); - ImGui.set_function("GetWindowContentRegionMin" , GetWindowContentRegionMin); - ImGui.set_function("GetWindowContentRegionMax" , GetWindowContentRegionMax); - ImGui.set_function("GetWindowContentRegionWidth" , GetWindowContentRegionWidth); + ImGui.set_function("GetContentRegionMax", GetContentRegionMax); + ImGui.set_function("GetContentRegionAvail", GetContentRegionAvail); + ImGui.set_function("GetWindowContentRegionMin", GetWindowContentRegionMin); + ImGui.set_function("GetWindowContentRegionMax", GetWindowContentRegionMax); + ImGui.set_function("GetWindowContentRegionWidth", GetWindowContentRegionWidth); #pragma endregion Content Region #pragma region Windows Scrolling - ImGui.set_function("GetScrollX" , GetScrollX); - ImGui.set_function("GetScrollY" , GetScrollY); - ImGui.set_function("GetScrollMaxX" , GetScrollMaxX); - ImGui.set_function("GetScrollMaxY" , GetScrollMaxY); - ImGui.set_function("SetScrollX" , SetScrollX); - ImGui.set_function("SetScrollY" , SetScrollY); - ImGui.set_function("SetScrollHereX" , sol::overload( - sol::resolve(SetScrollHereX), - sol::resolve(SetScrollHereX) - )); - ImGui.set_function("SetScrollHereY" , sol::overload( - sol::resolve(SetScrollHereY), - sol::resolve(SetScrollHereY) - )); - ImGui.set_function("SetScrollFromPosX" , sol::overload( - sol::resolve(SetScrollFromPosX), - sol::resolve(SetScrollFromPosX) - )); - ImGui.set_function("SetScrollFromPosY" , sol::overload( - sol::resolve(SetScrollFromPosY), - sol::resolve(SetScrollFromPosY) - )); + ImGui.set_function("GetScrollX", GetScrollX); + ImGui.set_function("GetScrollY", GetScrollY); + ImGui.set_function("GetScrollMaxX", GetScrollMaxX); + ImGui.set_function("GetScrollMaxY", GetScrollMaxY); + ImGui.set_function("SetScrollX", SetScrollX); + ImGui.set_function("SetScrollY", SetScrollY); + ImGui.set_function("SetScrollHereX", sol::overload(sol::resolve(SetScrollHereX), sol::resolve(SetScrollHereX))); + ImGui.set_function("SetScrollHereY", sol::overload(sol::resolve(SetScrollHereY), sol::resolve(SetScrollHereY))); + ImGui.set_function("SetScrollFromPosX", sol::overload(sol::resolve(SetScrollFromPosX), sol::resolve(SetScrollFromPosX))); + ImGui.set_function("SetScrollFromPosY", sol::overload(sol::resolve(SetScrollFromPosY), sol::resolve(SetScrollFromPosY))); #pragma endregion Windows Scrolling -#pragma region Parameters stacks (shared) +#pragma region Parameters stacks(shared) #ifdef SOL_IMGUI_ENABLE_FONT_MANIPULATORS - ImGui.set_function("PushFont" , PushFont); - ImGui.set_function("PopFont" , PopFont); + ImGui.set_function("PushFont", PushFont); + ImGui.set_function("PopFont", PopFont); #endif // SOL_IMGUI_ENABLE_FONT_MANIPULATORS - ImGui.set_function("PushStyleColor" , sol::overload( - sol::resolve(PushStyleColor), - sol::resolve(PushStyleColor) - )); - ImGui.set_function("PopStyleColor" , sol::overload( - sol::resolve(PopStyleColor), - sol::resolve(PopStyleColor) - )); - ImGui.set_function("PushStyleVar" , sol::overload( - sol::resolve(PushStyleVar), - sol::resolve(PushStyleVar) - )); - ImGui.set_function("PopStyleVar" , sol::overload( - sol::resolve(PopStyleVar), - sol::resolve(PopStyleVar) - )); - ImGui.set_function("GetStyleColorVec4" , GetStyleColorVec4); + ImGui.set_function("PushStyleColor", sol::overload(sol::resolve(PushStyleColor), sol::resolve(PushStyleColor))); + ImGui.set_function("PopStyleColor", sol::overload(sol::resolve(PopStyleColor), sol::resolve(PopStyleColor))); + ImGui.set_function("PushStyleVar", sol::overload(sol::resolve(PushStyleVar), sol::resolve(PushStyleVar))); + ImGui.set_function("PopStyleVar", sol::overload(sol::resolve(PopStyleVar), sol::resolve(PopStyleVar))); + ImGui.set_function("GetStyleColorVec4", GetStyleColorVec4); #ifdef SOL_IMGUI_ENABLE_FONT_MANIPULATORS - ImGui.set_function("GetFont" , GetFont); + ImGui.set_function("GetFont", GetFont); #endif // SOL_IMGUI_ENABLE_FONT_MANIPULATORS - ImGui.set_function("GetFontSize" , GetFontSize); - ImGui.set_function("GetFontTexUvWhitePixel" , GetFontTexUvWhitePixel); - ImGui.set_function("GetColorU32" , sol::overload( - sol::resolve(GetColorU32), - sol::resolve(GetColorU32), - sol::resolve(GetColorU32) - )); -#pragma endregion Parameters stacks (shared) - -#pragma region Parameters stacks (current window) - ImGui.set_function("PushItemWidth" , PushItemWidth); - ImGui.set_function("PopItemWidth" , PopItemWidth); - ImGui.set_function("SetNextItemWidth" , SetNextItemWidth); - ImGui.set_function("CalcItemWidth" , CalcItemWidth); - ImGui.set_function("PushTextWrapPos" , sol::overload( - sol::resolve(PushTextWrapPos), - sol::resolve(PushTextWrapPos) - )); - ImGui.set_function("PopTextWrapPos" , PopTextWrapPos); - ImGui.set_function("PushAllowKeyboardFocus" , PushAllowKeyboardFocus); - ImGui.set_function("PopAllowKeyboardFocus" , PopAllowKeyboardFocus); - ImGui.set_function("PushButtonRepeat" , PushButtonRepeat); - ImGui.set_function("PopButtonRepeat" , PopButtonRepeat); -#pragma endregion Parameters stacks (current window) + ImGui.set_function("GetFontSize", GetFontSize); + ImGui.set_function("GetFontTexUvWhitePixel", GetFontTexUvWhitePixel); + ImGui.set_function( + "GetColorU32", sol::overload(sol::resolve(GetColorU32), sol::resolve(GetColorU32), sol::resolve(GetColorU32))); +#pragma endregion Parameters stacks(shared) + +#pragma region Parameters stacks(current window) + ImGui.set_function("PushItemWidth", PushItemWidth); + ImGui.set_function("PopItemWidth", PopItemWidth); + ImGui.set_function("SetNextItemWidth", SetNextItemWidth); + ImGui.set_function("CalcItemWidth", CalcItemWidth); + ImGui.set_function("PushTextWrapPos", sol::overload(sol::resolve(PushTextWrapPos), sol::resolve(PushTextWrapPos))); + ImGui.set_function("PopTextWrapPos", PopTextWrapPos); + ImGui.set_function("PushAllowKeyboardFocus", PushAllowKeyboardFocus); + ImGui.set_function("PopAllowKeyboardFocus", PopAllowKeyboardFocus); + ImGui.set_function("PushButtonRepeat", PushButtonRepeat); + ImGui.set_function("PopButtonRepeat", PopButtonRepeat); +#pragma endregion Parameters stacks(current window) #pragma region Cursor / Layout - ImGui.set_function("Separator" , Separator); - ImGui.set_function("SameLine" , sol::overload( - sol::resolve(SameLine), - sol::resolve(SameLine) - )); - ImGui.set_function("NewLine" , NewLine); - ImGui.set_function("Spacing" , Spacing); - ImGui.set_function("Dummy" , Dummy); - ImGui.set_function("Indent" , sol::overload( - sol::resolve(Indent), - sol::resolve(Indent) - )); - ImGui.set_function("Unindent" , sol::overload( - sol::resolve(Unindent), - sol::resolve(Unindent) - )); - ImGui.set_function("BeginGroup" , BeginGroup); - ImGui.set_function("EndGroup" , EndGroup); - ImGui.set_function("GetCursorPos" , GetCursorPos); - ImGui.set_function("GetCursorPosX" , GetCursorPosX); - ImGui.set_function("GetCursorPosY" , GetCursorPosY); - ImGui.set_function("SetCursorPos" , SetCursorPos); - ImGui.set_function("SetCursorPosX" , SetCursorPosX); - ImGui.set_function("SetCursorPosY" , SetCursorPosY); - ImGui.set_function("GetCursorStartPos" , GetCursorStartPos); - ImGui.set_function("GetCursorScreenPos" , GetCursorScreenPos); - ImGui.set_function("SetCursorScreenPos" , SetCursorScreenPos); - ImGui.set_function("AlignTextToFramePadding" , AlignTextToFramePadding); - ImGui.set_function("GetTextLineHeight" , GetTextLineHeight); - ImGui.set_function("GetTextLineHeightWithSpacing" , GetTextLineHeightWithSpacing); - ImGui.set_function("GetFrameHeight" , GetFrameHeight); - ImGui.set_function("GetFrameHeightWithSpacing" , GetFrameHeightWithSpacing); + ImGui.set_function("Separator", Separator); + ImGui.set_function("SameLine", sol::overload(sol::resolve(SameLine), sol::resolve(SameLine))); + ImGui.set_function("NewLine", NewLine); + ImGui.set_function("Spacing", Spacing); + ImGui.set_function("Dummy", Dummy); + ImGui.set_function("Indent", sol::overload(sol::resolve(Indent), sol::resolve(Indent))); + ImGui.set_function("Unindent", sol::overload(sol::resolve(Unindent), sol::resolve(Unindent))); + ImGui.set_function("BeginGroup", BeginGroup); + ImGui.set_function("EndGroup", EndGroup); + ImGui.set_function("GetCursorPos", GetCursorPos); + ImGui.set_function("GetCursorPosX", GetCursorPosX); + ImGui.set_function("GetCursorPosY", GetCursorPosY); + ImGui.set_function("SetCursorPos", SetCursorPos); + ImGui.set_function("SetCursorPosX", SetCursorPosX); + ImGui.set_function("SetCursorPosY", SetCursorPosY); + ImGui.set_function("GetCursorStartPos", GetCursorStartPos); + ImGui.set_function("GetCursorScreenPos", GetCursorScreenPos); + ImGui.set_function("SetCursorScreenPos", SetCursorScreenPos); + ImGui.set_function("AlignTextToFramePadding", AlignTextToFramePadding); + ImGui.set_function("GetTextLineHeight", GetTextLineHeight); + ImGui.set_function("GetTextLineHeightWithSpacing", GetTextLineHeightWithSpacing); + ImGui.set_function("GetFrameHeight", GetFrameHeight); + ImGui.set_function("GetFrameHeightWithSpacing", GetFrameHeightWithSpacing); #pragma endregion Cursor / Layout #pragma region ID stack / scopes - ImGui.set_function("PushID" , sol::overload( - sol::resolve(PushID), - sol::resolve(PushID) - )); - ImGui.set_function("PopID" , PopID); - ImGui.set_function("GetID" , GetID); + ImGui.set_function("PushID", sol::overload(sol::resolve(PushID), sol::resolve(PushID))); + ImGui.set_function("PopID", PopID); + ImGui.set_function("GetID", GetID); #pragma endregion ID stack / scopes -#pragma region Widgets: Text - ImGui.set_function("TextUnformatted" , TextUnformatted); - ImGui.set_function("Text" , Text); - ImGui.set_function("TextColored" , TextColored); - ImGui.set_function("TextDisabled" , TextDisabled); - ImGui.set_function("TextWrapped" , TextWrapped); - ImGui.set_function("LabelText" , LabelText); - ImGui.set_function("BulletText" , BulletText); -#pragma endregion Widgets: Text - -#pragma region Widgets: Main - ImGui.set_function("Button" , sol::overload( - sol::resolve(Button), - sol::resolve(Button) - )); - ImGui.set_function("SmallButton" , SmallButton); - ImGui.set_function("InvisibleButton" , InvisibleButton); - ImGui.set_function("ArrowButton" , ArrowButton); - ImGui.set_function("Checkbox" , Checkbox); - ImGui.set_function("RadioButton" , sol::overload( - sol::resolve(RadioButton), - sol::resolve(const std::string&, int, int)>(RadioButton) - )); - ImGui.set_function("ProgressBar" , sol::overload( - sol::resolve(ProgressBar), - sol::resolve(ProgressBar), - sol::resolve(ProgressBar) - )); - ImGui.set_function("Bullet" , Bullet); -#pragma endregion Widgets: Main - -#pragma region Widgets: Combo Box - ImGui.set_function("BeginCombo" , sol::overload( - sol::resolve(BeginCombo), - sol::resolve(BeginCombo) - )); - ImGui.set_function("EndCombo" , EndCombo); - ImGui.set_function("Combo" , sol::overload( - sol::resolve(const std::string&, int, const sol::table&, int)>(Combo), - sol::resolve(const std::string&, int, const sol::table&, int, int)>(Combo), - sol::resolve(const std::string&, int, const std::string&)>(Combo), - sol::resolve(const std::string&, int, const std::string&, int)>(Combo) - )); -#pragma endregion Widgets: Combo Box - -#pragma region Widgets: Drags - ImGui.set_function("DragFloat" , sol::overload( - sol::resolve(const std::string&, float)>(DragFloat), - sol::resolve(const std::string&, float, float)>(DragFloat), - sol::resolve(const std::string&, float, float, float)>(DragFloat), - sol::resolve(const std::string&, float, float, float, float)>(DragFloat), - sol::resolve(const std::string&, float, float, float, float, const std::string&)>(DragFloat), - sol::resolve(const std::string&, float, float, float, float, const std::string&, int)>(DragFloat) - )); - ImGui.set_function("DragFloat2" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&)>(DragFloat2), - sol::resolve>, bool>(const std::string&, const sol::table&, float)>(DragFloat2), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float)>(DragFloat2), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float)>(DragFloat2), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float, const std::string&)>(DragFloat2), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float, const std::string&, int)>(DragFloat2) - )); - ImGui.set_function("DragFloat3" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&)>(DragFloat3), - sol::resolve>, bool>(const std::string&, const sol::table&, float)>(DragFloat3), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float)>(DragFloat3), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float)>(DragFloat3), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float, const std::string&)>(DragFloat3), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float, const std::string&, int)>(DragFloat3) - )); - ImGui.set_function("DragFloat4" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&)>(DragFloat4), - sol::resolve>, bool>(const std::string&, const sol::table&, float)>(DragFloat4), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float)>(DragFloat4), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float)>(DragFloat4), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float, const std::string&)>(DragFloat4), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float, const std::string&, int)>(DragFloat4) - )); - ImGui.set_function("DragInt" , sol::overload( - sol::resolve(const std::string&, int)>(DragInt), - sol::resolve(const std::string&, int, float)>(DragInt), - sol::resolve(const std::string&, int, float, int)>(DragInt), - sol::resolve(const std::string&, int, float, int, int)>(DragInt), - sol::resolve(const std::string&, int, float, int, int, const std::string&)>(DragInt), - sol::resolve(const std::string&, int, float, int, int, const std::string&, int)>(DragInt) - )); - ImGui.set_function("DragInt2" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&)>(DragInt2), - sol::resolve>, bool>(const std::string&, const sol::table&, float)>(DragInt2), - sol::resolve>, bool>(const std::string&, const sol::table&, float, int)>(DragInt2), - sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int)>(DragInt2), - sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int, const std::string&)>(DragInt2), - sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int, const std::string&, int)>(DragInt2) - )); - ImGui.set_function("DragInt3" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&)>(DragInt3), - sol::resolve>, bool>(const std::string&, const sol::table&, float)>(DragInt3), - sol::resolve>, bool>(const std::string&, const sol::table&, float, int)>(DragInt3), - sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int)>(DragInt3), - sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int, const std::string&)>(DragInt3), - sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int, const std::string&, int)>(DragInt3) - )); - ImGui.set_function("DragInt4" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&)>(DragInt4), - sol::resolve>, bool>(const std::string&, const sol::table&, float)>(DragInt4), - sol::resolve>, bool>(const std::string&, const sol::table&, float, int)>(DragInt4), - sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int)>(DragInt4), - sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int, const std::string&)>(DragInt4), - sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int, const std::string&, int)>(DragInt4) - )); -#pragma endregion Widgets: Drags - -#pragma region Widgets: Sliders - ImGui.set_function("SliderFloat" , sol::overload( - sol::resolve(const std::string&, float, float, float)>(SliderFloat), - sol::resolve(const std::string&, float, float, float, const std::string&)>(SliderFloat), - sol::resolve(const std::string&, float, float, float, const std::string&, int)>(SliderFloat) - )); - ImGui.set_function("SliderFloat2" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&, float, float)>(SliderFloat2), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float, const std::string&)>(SliderFloat2), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float, const std::string&, int)>(SliderFloat2) - )); - ImGui.set_function("SliderFloat3" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&, float, float)>(SliderFloat3), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float, const std::string&)>(SliderFloat3), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float, const std::string&, int)>(SliderFloat3) - )); - ImGui.set_function("SliderFloat4" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&, float, float)>(SliderFloat4), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float, const std::string&)>(SliderFloat4), - sol::resolve>, bool>(const std::string&, const sol::table&, float, float, const std::string&, int)>(SliderFloat4) - )); - ImGui.set_function("SliderAngle" , sol::overload( - sol::resolve(const std::string&, float)>(SliderAngle), - sol::resolve(const std::string&, float, float)>(SliderAngle), - sol::resolve(const std::string&, float, float, float)>(SliderAngle), - sol::resolve(const std::string&, float, float, float, const std::string&)>(SliderAngle), - sol::resolve(const std::string&, float, float, float, const std::string&, int)>(SliderAngle) - )); - ImGui.set_function("SliderInt" , sol::overload( - sol::resolve(const std::string&, int, int, int)>(SliderInt), - sol::resolve(const std::string&, int, int, int, const std::string&)>(SliderInt), - sol::resolve(const std::string&, int, int, int, const std::string&, int)>(SliderInt) - )); - ImGui.set_function("SliderInt2" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&, int, int)>(SliderInt2), - sol::resolve>, bool>(const std::string&, const sol::table&, int, int, const std::string&)>(SliderInt2), - sol::resolve>, bool>(const std::string&, const sol::table&, int, int, const std::string&, int)>(SliderInt2) - )); - ImGui.set_function("SliderInt3" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&, int, int)>(SliderInt3), - sol::resolve>, bool>(const std::string&, const sol::table&, int, int, const std::string&)>(SliderInt3), - sol::resolve>, bool>(const std::string&, const sol::table&, int, int, const std::string&, int)>(SliderInt3) - )); - ImGui.set_function("SliderInt4" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&, int, int)>(SliderInt4), - sol::resolve>, bool>(const std::string&, const sol::table&, int, int, const std::string&)>(SliderInt4), - sol::resolve>, bool>(const std::string&, const sol::table&, int, int, const std::string&, int)>(SliderInt4) - )); - ImGui.set_function("VSliderFloat" , sol::overload( - sol::resolve(const std::string&, float, float, float, float, float)>(VSliderFloat), - sol::resolve(const std::string&, float, float, float, float, float, const std::string&)>(VSliderFloat), - sol::resolve(const std::string&, float, float, float, float, float, const std::string&, int)>(VSliderFloat) - )); - ImGui.set_function("VSliderInt" , sol::overload( - sol::resolve(const std::string&, float, float, int, int, int)>(VSliderInt), - sol::resolve(const std::string&, float, float, int, int, int, const std::string&)>(VSliderInt), - sol::resolve(const std::string&, float, float, int, int, int, const std::string&, int)>(VSliderInt) - )); -#pragma endregion Widgets: Sliders - -#pragma region Widgets: Inputs using Keyboard - ImGui.set_function("InputText" , sol::overload( - sol::resolve(const std::string&, std::string, unsigned int)>(InputText), - sol::resolve(const std::string&, std::string, unsigned int, int)>(InputText) - )); - ImGui.set_function("InputTextMultiline" , sol::overload( - sol::resolve(const std::string&, std::string, unsigned int)>(InputTextMultiline), - sol::resolve(const std::string&, std::string, unsigned int, float, float)>(InputTextMultiline), - sol::resolve(const std::string&, std::string, unsigned int, float, float, int)>(InputTextMultiline) - )); - ImGui.set_function("InputTextWithHint" , sol::overload( - sol::resolve(const std::string&, const std::string&, std::string, unsigned int)>(InputTextWithHint), - sol::resolve(const std::string&, const std::string&, std::string, unsigned int, int)>(InputTextWithHint) - )); - ImGui.set_function("InputFloat" , sol::overload( - sol::resolve(const std::string&, float)>(InputFloat), - sol::resolve(const std::string&, float, float)>(InputFloat), - sol::resolve(const std::string&, float, float, float)>(InputFloat), - sol::resolve(const std::string&, float, float, float, const std::string&)>(InputFloat), - sol::resolve(const std::string&, float, float, float, const std::string&, int)>(InputFloat) - )); - ImGui.set_function("InputFloat2" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&)>(InputFloat2), - sol::resolve>, bool>(const std::string&, const sol::table&, const std::string&)>(InputFloat2), - sol::resolve>, bool>(const std::string&, const sol::table&, const std::string&, int)>(InputFloat2) - )); - ImGui.set_function("InputFloat3" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&)>(InputFloat3), - sol::resolve>, bool>(const std::string&, const sol::table&, const std::string&)>(InputFloat3), - sol::resolve>, bool>(const std::string&, const sol::table&, const std::string&, int)>(InputFloat3) - )); - ImGui.set_function("InputFloat4" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&)>(InputFloat4), - sol::resolve>, bool>(const std::string&, const sol::table&, const std::string&)>(InputFloat4), - sol::resolve>, bool>(const std::string&, const sol::table&, const std::string&, int)>(InputFloat4) - )); - ImGui.set_function("InputInt" , sol::overload( - sol::resolve(const std::string&, int)>(InputInt), - sol::resolve(const std::string&, int, int)>(InputInt), - sol::resolve(const std::string&, int, int, int)>(InputInt), - sol::resolve(const std::string&, int, int, int)>(InputInt), - sol::resolve(const std::string&, int, int, int, int)>(InputInt) - )); - ImGui.set_function("InputInt2" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&)>(InputInt2), - sol::resolve>, bool>(const std::string&, const sol::table&, int)>(InputInt2) - )); - ImGui.set_function("InputInt3" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&)>(InputInt3), - sol::resolve>, bool>(const std::string&, const sol::table&, int)>(InputInt3) - )); - ImGui.set_function("InputInt4" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&)>(InputInt4), - sol::resolve>, bool>(const std::string&, const sol::table&, int)>(InputInt4) - )); - ImGui.set_function("InputDouble" , sol::overload( - sol::resolve(const std::string&, double)>(InputDouble), - sol::resolve(const std::string&, double, double)>(InputDouble), - sol::resolve(const std::string&, double, double, double)>(InputDouble), - sol::resolve(const std::string&, double, double, double, const std::string&)>(InputDouble), - sol::resolve(const std::string&, double, double, double, const std::string&, int)>(InputDouble) - )); -#pragma endregion Widgets: Inputs using Keyboard - -#pragma region Widgets: Color Editor / Picker - ImGui.set_function("ColorEdit3" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&)>(ColorEdit3), - sol::resolve>, bool>(const std::string&, const sol::table&, int)>(ColorEdit3) - )); - ImGui.set_function("ColorEdit4" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&)>(ColorEdit4), - sol::resolve>, bool>(const std::string&, const sol::table&, int)>(ColorEdit4) - )); - ImGui.set_function("ColorPicker3" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&)>(ColorPicker3), - sol::resolve>, bool>(const std::string&, const sol::table&, int)>(ColorPicker3) - )); - ImGui.set_function("ColorPicker4" , sol::overload( - sol::resolve>, bool>(const std::string&, const sol::table&)>(ColorPicker4), - sol::resolve>, bool>(const std::string&, const sol::table&, int)>(ColorPicker4) - )); - ImGui.set_function("ColorButton" , sol::overload( - sol::resolve(ColorButton), - sol::resolve(ColorButton), - sol::resolve(ColorButton) - )); -#pragma endregion Widgets: Color Editor / Picker - -#pragma region Widgets: Trees - ImGui.set_function("TreeNode" , sol::overload( - sol::resolve(TreeNode), - sol::resolve(TreeNode) - )); - ImGui.set_function("TreeNodeEx" , sol::overload( - sol::resolve(TreeNodeEx), - sol::resolve(TreeNodeEx), - sol::resolve(TreeNodeEx) - )); - ImGui.set_function("TreePush" , TreePush); - ImGui.set_function("TreePop" , TreePop); - ImGui.set_function("GetTreeNodeToLabelSpacing" , GetTreeNodeToLabelSpacing); - ImGui.set_function("CollapsingHeader" , sol::overload( - sol::resolve(CollapsingHeader), - sol::resolve(CollapsingHeader), - sol::resolve(const std::string&, bool)>(CollapsingHeader), - sol::resolve(const std::string&, bool, int)>(CollapsingHeader) - )); - ImGui.set_function("SetNextItemOpen" , sol::overload( - sol::resolve(SetNextItemOpen), - sol::resolve(SetNextItemOpen) - )); -#pragma endregion Widgets: Trees - -#pragma region Widgets: Selectables - ImGui.set_function("Selectable" , sol::overload( - sol::resolve(Selectable), - sol::resolve(Selectable), - sol::resolve(Selectable), - sol::resolve(Selectable) - )); -#pragma endregion Widgets: Selectables - -#pragma region Widgets: List Boxes - ImGui.set_function("ListBox" , sol::overload( - sol::resolve(const std::string&, int, const sol::table&, int)>(ListBox), - sol::resolve(const std::string&, int, const sol::table&, int, int)>(ListBox) - )); - ImGui.set_function("BeginListBox" , sol::overload( - sol::resolve(BeginListBox), - sol::resolve(BeginListBox) - )); - ImGui.set_function("EndListBox" , EndListBox); -#pragma endregion Widgets: List Boxes - -#pragma region Widgets: Value() Helpers - ImGui.set_function("Value" , sol::overload( - sol::resolve(Value), - sol::resolve(Value), - sol::resolve(Value), - sol::resolve(Value), - sol::resolve(Value) - )); -#pragma endregion Widgets: Value() Helpers - -#pragma region Widgets: Menu - ImGui.set_function("BeginMenuBar" , BeginMenuBar); - ImGui.set_function("EndMenuBar" , EndMenuBar); - ImGui.set_function("BeginMainMenuBar" , BeginMainMenuBar); - ImGui.set_function("EndMainMenuBar" , EndMainMenuBar); - ImGui.set_function("BeginMenu" , sol::overload( - sol::resolve(BeginMenu), - sol::resolve(BeginMenu) - )); - ImGui.set_function("EndMenu" , EndMenu); - ImGui.set_function("MenuItem" , sol::overload( - sol::resolve(MenuItem), - sol::resolve(MenuItem), - sol::resolve(const std::string&, const std::string&, bool)>(MenuItem), - sol::resolve(const std::string&, const std::string&, bool, bool)>(MenuItem) - )); -#pragma endregion Widgets: Menu +#pragma region Widgets : Text + ImGui.set_function("TextUnformatted", TextUnformatted); + ImGui.set_function("Text", Text); + ImGui.set_function("TextColored", TextColored); + ImGui.set_function("TextDisabled", TextDisabled); + ImGui.set_function("TextWrapped", TextWrapped); + ImGui.set_function("LabelText", LabelText); + ImGui.set_function("BulletText", BulletText); +#pragma endregion Widgets : Text + +#pragma region Widgets : Main + ImGui.set_function("Button", sol::overload(sol::resolve(Button), sol::resolve(Button))); + ImGui.set_function("SmallButton", SmallButton); + ImGui.set_function("InvisibleButton", InvisibleButton); + ImGui.set_function("ArrowButton", ArrowButton); + ImGui.set_function("Checkbox", Checkbox); + ImGui.set_function( + "RadioButton", sol::overload(sol::resolve(RadioButton), sol::resolve(const std::string&, int, int)>(RadioButton))); + ImGui.set_function( + "ProgressBar", sol::overload( + sol::resolve(ProgressBar), sol::resolve(ProgressBar), + sol::resolve(ProgressBar))); + ImGui.set_function("Bullet", Bullet); +#pragma endregion Widgets : Main + +#pragma region Widgets : Combo Box + ImGui.set_function( + "BeginCombo", + sol::overload(sol::resolve(BeginCombo), sol::resolve(BeginCombo))); + ImGui.set_function("EndCombo", EndCombo); + ImGui.set_function( + "Combo", sol::overload( + sol::resolve(const std::string&, int, const sol::table&, int)>(Combo), + sol::resolve(const std::string&, int, const sol::table&, int, int)>(Combo), + sol::resolve(const std::string&, int, const std::string&)>(Combo), + sol::resolve(const std::string&, int, const std::string&, int)>(Combo))); +#pragma endregion Widgets : Combo Box + +#pragma region Widgets : Drags + ImGui.set_function( + "DragFloat", + sol::overload( + sol::resolve(const std::string&, float)>(DragFloat), sol::resolve(const std::string&, float, float)>(DragFloat), + sol::resolve(const std::string&, float, float, float)>(DragFloat), + sol::resolve(const std::string&, float, float, float, float)>(DragFloat), + sol::resolve(const std::string&, float, float, float, float, const std::string&)>(DragFloat), + sol::resolve(const std::string&, float, float, float, float, const std::string&, int)>(DragFloat))); + ImGui.set_function( + "DragFloat2", + sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&)>(DragFloat2), + sol::resolve>, bool>(const std::string&, const sol::table&, float)>(DragFloat2), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float)>(DragFloat2), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float)>(DragFloat2), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float, const std::string&)>( + DragFloat2), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float, const std::string&, int)>( + DragFloat2))); + ImGui.set_function( + "DragFloat3", + sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&)>(DragFloat3), + sol::resolve>, bool>(const std::string&, const sol::table&, float)>(DragFloat3), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float)>(DragFloat3), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float)>(DragFloat3), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float, const std::string&)>( + DragFloat3), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float, const std::string&, int)>( + DragFloat3))); + ImGui.set_function( + "DragFloat4", + sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&)>(DragFloat4), + sol::resolve>, bool>(const std::string&, const sol::table&, float)>(DragFloat4), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float)>(DragFloat4), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float)>(DragFloat4), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float, const std::string&)>( + DragFloat4), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float, float, const std::string&, int)>( + DragFloat4))); + ImGui.set_function( + "DragInt", sol::overload( + sol::resolve(const std::string&, int)>(DragInt), sol::resolve(const std::string&, int, float)>(DragInt), + sol::resolve(const std::string&, int, float, int)>(DragInt), + sol::resolve(const std::string&, int, float, int, int)>(DragInt), + sol::resolve(const std::string&, int, float, int, int, const std::string&)>(DragInt), + sol::resolve(const std::string&, int, float, int, int, const std::string&, int)>(DragInt))); + ImGui.set_function( + "DragInt2", + sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&)>(DragInt2), + sol::resolve>, bool>(const std::string&, const sol::table&, float)>(DragInt2), + sol::resolve>, bool>(const std::string&, const sol::table&, float, int)>(DragInt2), + sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int)>(DragInt2), + sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int, const std::string&)>(DragInt2), + sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int, const std::string&, int)>( + DragInt2))); + ImGui.set_function( + "DragInt3", + sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&)>(DragInt3), + sol::resolve>, bool>(const std::string&, const sol::table&, float)>(DragInt3), + sol::resolve>, bool>(const std::string&, const sol::table&, float, int)>(DragInt3), + sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int)>(DragInt3), + sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int, const std::string&)>(DragInt3), + sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int, const std::string&, int)>( + DragInt3))); + ImGui.set_function( + "DragInt4", + sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&)>(DragInt4), + sol::resolve>, bool>(const std::string&, const sol::table&, float)>(DragInt4), + sol::resolve>, bool>(const std::string&, const sol::table&, float, int)>(DragInt4), + sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int)>(DragInt4), + sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int, const std::string&)>(DragInt4), + sol::resolve>, bool>(const std::string&, const sol::table&, float, int, int, const std::string&, int)>( + DragInt4))); +#pragma endregion Widgets : Drags + +#pragma region Widgets : Sliders + ImGui.set_function( + "SliderFloat", sol::overload( + sol::resolve(const std::string&, float, float, float)>(SliderFloat), + sol::resolve(const std::string&, float, float, float, const std::string&)>(SliderFloat), + sol::resolve(const std::string&, float, float, float, const std::string&, int)>(SliderFloat))); + ImGui.set_function( + "SliderFloat2", + sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&, float, float)>(SliderFloat2), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float, const std::string&)>(SliderFloat2), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float, const std::string&, int)>( + SliderFloat2))); + ImGui.set_function( + "SliderFloat3", + sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&, float, float)>(SliderFloat3), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float, const std::string&)>(SliderFloat3), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float, const std::string&, int)>( + SliderFloat3))); + ImGui.set_function( + "SliderFloat4", + sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&, float, float)>(SliderFloat4), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float, const std::string&)>(SliderFloat4), + sol::resolve>, bool>(const std::string&, const sol::table&, float, float, const std::string&, int)>( + SliderFloat4))); + ImGui.set_function( + "SliderAngle", + sol::overload( + sol::resolve(const std::string&, float)>(SliderAngle), sol::resolve(const std::string&, float, float)>(SliderAngle), + sol::resolve(const std::string&, float, float, float)>(SliderAngle), + sol::resolve(const std::string&, float, float, float, const std::string&)>(SliderAngle), + sol::resolve(const std::string&, float, float, float, const std::string&, int)>(SliderAngle))); + ImGui.set_function( + "SliderInt", sol::overload( + sol::resolve(const std::string&, int, int, int)>(SliderInt), + sol::resolve(const std::string&, int, int, int, const std::string&)>(SliderInt), + sol::resolve(const std::string&, int, int, int, const std::string&, int)>(SliderInt))); + ImGui.set_function( + "SliderInt2", + sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&, int, int)>(SliderInt2), + sol::resolve>, bool>(const std::string&, const sol::table&, int, int, const std::string&)>(SliderInt2), + sol::resolve>, bool>(const std::string&, const sol::table&, int, int, const std::string&, int)>(SliderInt2))); + ImGui.set_function( + "SliderInt3", + sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&, int, int)>(SliderInt3), + sol::resolve>, bool>(const std::string&, const sol::table&, int, int, const std::string&)>(SliderInt3), + sol::resolve>, bool>(const std::string&, const sol::table&, int, int, const std::string&, int)>(SliderInt3))); + ImGui.set_function( + "SliderInt4", + sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&, int, int)>(SliderInt4), + sol::resolve>, bool>(const std::string&, const sol::table&, int, int, const std::string&)>(SliderInt4), + sol::resolve>, bool>(const std::string&, const sol::table&, int, int, const std::string&, int)>(SliderInt4))); + ImGui.set_function( + "VSliderFloat", sol::overload( + sol::resolve(const std::string&, float, float, float, float, float)>(VSliderFloat), + sol::resolve(const std::string&, float, float, float, float, float, const std::string&)>(VSliderFloat), + sol::resolve(const std::string&, float, float, float, float, float, const std::string&, int)>(VSliderFloat))); + ImGui.set_function( + "VSliderInt", sol::overload( + sol::resolve(const std::string&, float, float, int, int, int)>(VSliderInt), + sol::resolve(const std::string&, float, float, int, int, int, const std::string&)>(VSliderInt), + sol::resolve(const std::string&, float, float, int, int, int, const std::string&, int)>(VSliderInt))); +#pragma endregion Widgets : Sliders + +#pragma region Widgets : Inputs using Keyboard + ImGui.set_function( + "InputText", sol::overload( + sol::resolve(const std::string&, std::string, unsigned int)>(InputText), + sol::resolve(const std::string&, std::string, unsigned int, int)>(InputText))); + ImGui.set_function( + "InputTextMultiline", sol::overload( + sol::resolve(const std::string&, std::string, unsigned int)>(InputTextMultiline), + sol::resolve(const std::string&, std::string, unsigned int, float, float)>(InputTextMultiline), + sol::resolve(const std::string&, std::string, unsigned int, float, float, int)>(InputTextMultiline))); + ImGui.set_function( + "InputTextWithHint", sol::overload( + sol::resolve(const std::string&, const std::string&, std::string, unsigned int)>(InputTextWithHint), + sol::resolve(const std::string&, const std::string&, std::string, unsigned int, int)>(InputTextWithHint))); + ImGui.set_function( + "InputFloat", + sol::overload( + sol::resolve(const std::string&, float)>(InputFloat), sol::resolve(const std::string&, float, float)>(InputFloat), + sol::resolve(const std::string&, float, float, float)>(InputFloat), + sol::resolve(const std::string&, float, float, float, const std::string&)>(InputFloat), + sol::resolve(const std::string&, float, float, float, const std::string&, int)>(InputFloat))); + ImGui.set_function( + "InputFloat2", + sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&)>(InputFloat2), + sol::resolve>, bool>(const std::string&, const sol::table&, const std::string&)>(InputFloat2), + sol::resolve>, bool>(const std::string&, const sol::table&, const std::string&, int)>(InputFloat2))); + ImGui.set_function( + "InputFloat3", + sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&)>(InputFloat3), + sol::resolve>, bool>(const std::string&, const sol::table&, const std::string&)>(InputFloat3), + sol::resolve>, bool>(const std::string&, const sol::table&, const std::string&, int)>(InputFloat3))); + ImGui.set_function( + "InputFloat4", + sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&)>(InputFloat4), + sol::resolve>, bool>(const std::string&, const sol::table&, const std::string&)>(InputFloat4), + sol::resolve>, bool>(const std::string&, const sol::table&, const std::string&, int)>(InputFloat4))); + ImGui.set_function( + "InputInt", + sol::overload( + sol::resolve(const std::string&, int)>(InputInt), sol::resolve(const std::string&, int, int)>(InputInt), + sol::resolve(const std::string&, int, int, int)>(InputInt), sol::resolve(const std::string&, int, int, int)>(InputInt), + sol::resolve(const std::string&, int, int, int, int)>(InputInt))); + ImGui.set_function( + "InputInt2", sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&)>(InputInt2), + sol::resolve>, bool>(const std::string&, const sol::table&, int)>(InputInt2))); + ImGui.set_function( + "InputInt3", sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&)>(InputInt3), + sol::resolve>, bool>(const std::string&, const sol::table&, int)>(InputInt3))); + ImGui.set_function( + "InputInt4", sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&)>(InputInt4), + sol::resolve>, bool>(const std::string&, const sol::table&, int)>(InputInt4))); + ImGui.set_function( + "InputDouble", sol::overload( + sol::resolve(const std::string&, double)>(InputDouble), + sol::resolve(const std::string&, double, double)>(InputDouble), + sol::resolve(const std::string&, double, double, double)>(InputDouble), + sol::resolve(const std::string&, double, double, double, const std::string&)>(InputDouble), + sol::resolve(const std::string&, double, double, double, const std::string&, int)>(InputDouble))); +#pragma endregion Widgets : Inputs using Keyboard + +#pragma region Widgets : Color Editor / Picker + ImGui.set_function( + "ColorEdit3", sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&)>(ColorEdit3), + sol::resolve>, bool>(const std::string&, const sol::table&, int)>(ColorEdit3))); + ImGui.set_function( + "ColorEdit4", sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&)>(ColorEdit4), + sol::resolve>, bool>(const std::string&, const sol::table&, int)>(ColorEdit4))); + ImGui.set_function( + "ColorPicker3", sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&)>(ColorPicker3), + sol::resolve>, bool>(const std::string&, const sol::table&, int)>(ColorPicker3))); + ImGui.set_function( + "ColorPicker4", sol::overload( + sol::resolve>, bool>(const std::string&, const sol::table&)>(ColorPicker4), + sol::resolve>, bool>(const std::string&, const sol::table&, int)>(ColorPicker4))); + ImGui.set_function( + "ColorButton", sol::overload( + sol::resolve(ColorButton), sol::resolve(ColorButton), + sol::resolve(ColorButton))); +#pragma endregion Widgets : Color Editor / Picker + +#pragma region Widgets : Trees + ImGui.set_function("TreeNode", sol::overload(sol::resolve(TreeNode), sol::resolve(TreeNode))); + ImGui.set_function( + "TreeNodeEx", sol::overload( + sol::resolve(TreeNodeEx), sol::resolve(TreeNodeEx), + sol::resolve(TreeNodeEx))); + ImGui.set_function("TreePush", TreePush); + ImGui.set_function("TreePop", TreePop); + ImGui.set_function("GetTreeNodeToLabelSpacing", GetTreeNodeToLabelSpacing); + ImGui.set_function( + "CollapsingHeader", sol::overload( + sol::resolve(CollapsingHeader), sol::resolve(CollapsingHeader), + sol::resolve(const std::string&, bool)>(CollapsingHeader), + sol::resolve(const std::string&, bool, int)>(CollapsingHeader))); + ImGui.set_function("SetNextItemOpen", sol::overload(sol::resolve(SetNextItemOpen), sol::resolve(SetNextItemOpen))); +#pragma endregion Widgets : Trees + +#pragma region Widgets : Selectables + ImGui.set_function( + "Selectable", sol::overload( + sol::resolve(Selectable), sol::resolve(Selectable), + sol::resolve(Selectable), sol::resolve(Selectable))); +#pragma endregion Widgets : Selectables + +#pragma region Widgets : List Boxes + ImGui.set_function( + "ListBox", sol::overload( + sol::resolve(const std::string&, int, const sol::table&, int)>(ListBox), + sol::resolve(const std::string&, int, const sol::table&, int, int)>(ListBox))); + ImGui.set_function("BeginListBox", sol::overload(sol::resolve(BeginListBox), sol::resolve(BeginListBox))); + ImGui.set_function("EndListBox", EndListBox); +#pragma endregion Widgets : List Boxes + +#pragma region Widgets : Value() Helpers + ImGui.set_function( + "Value", + sol::overload( + sol::resolve(Value), sol::resolve(Value), sol::resolve(Value), + sol::resolve(Value), sol::resolve(Value))); +#pragma endregion Widgets : Value() Helpers + +#pragma region Widgets : Menu + ImGui.set_function("BeginMenuBar", BeginMenuBar); + ImGui.set_function("EndMenuBar", EndMenuBar); + ImGui.set_function("BeginMainMenuBar", BeginMainMenuBar); + ImGui.set_function("EndMainMenuBar", EndMainMenuBar); + ImGui.set_function("BeginMenu", sol::overload(sol::resolve(BeginMenu), sol::resolve(BeginMenu))); + ImGui.set_function("EndMenu", EndMenu); + ImGui.set_function( + "MenuItem", sol::overload( + sol::resolve(MenuItem), sol::resolve(MenuItem), + sol::resolve(const std::string&, const std::string&, bool)>(MenuItem), + sol::resolve(const std::string&, const std::string&, bool, bool)>(MenuItem))); +#pragma endregion Widgets : Menu #pragma region Tooltips - ImGui.set_function("BeginTooltip" , BeginTooltip); - ImGui.set_function("EndTooltip" , EndTooltip); - ImGui.set_function("SetTooltip" , SetTooltip); + ImGui.set_function("BeginTooltip", BeginTooltip); + ImGui.set_function("EndTooltip", EndTooltip); + ImGui.set_function("SetTooltip", SetTooltip); #pragma endregion Tooltips #pragma region Popups, Modals - ImGui.set_function("BeginPopup" , sol::overload( - sol::resolve(BeginPopup), - sol::resolve(BeginPopup) - )); - ImGui.set_function("BeginPopupModal" , sol::overload( - sol::resolve(BeginPopupModal), - sol::resolve(BeginPopupModal), - sol::resolve(BeginPopupModal), - sol::resolve(BeginPopupModal) - )); - ImGui.set_function("EndPopup" , EndPopup); - ImGui.set_function("OpenPopup" , sol::overload( - sol::resolve(OpenPopup), - sol::resolve(OpenPopup) - )); - ImGui.set_function("CloseCurrentPopup" , CloseCurrentPopup); - ImGui.set_function("BeginPopupContextItem" , sol::overload( - sol::resolve(BeginPopupContextItem), - sol::resolve(BeginPopupContextItem), - sol::resolve(BeginPopupContextItem) - )); - ImGui.set_function("BeginPopupContextWindow" , sol::overload( - sol::resolve(BeginPopupContextWindow), - sol::resolve(BeginPopupContextWindow), - sol::resolve(BeginPopupContextWindow) - )); - ImGui.set_function("BeginPopupContextVoid" , sol::overload( - sol::resolve(BeginPopupContextVoid), - sol::resolve(BeginPopupContextVoid), - sol::resolve(BeginPopupContextVoid) - )); - ImGui.set_function("IsPopupOpen" , sol::overload( - sol::resolve(IsPopupOpen), - sol::resolve(IsPopupOpen) - )); + ImGui.set_function("BeginPopup", sol::overload(sol::resolve(BeginPopup), sol::resolve(BeginPopup))); + ImGui.set_function( + "BeginPopupModal", sol::overload( + sol::resolve(BeginPopupModal), sol::resolve(BeginPopupModal), + sol::resolve(BeginPopupModal), sol::resolve(BeginPopupModal))); + ImGui.set_function("EndPopup", EndPopup); + ImGui.set_function("OpenPopup", sol::overload(sol::resolve(OpenPopup), sol::resolve(OpenPopup))); + ImGui.set_function("CloseCurrentPopup", CloseCurrentPopup); + ImGui.set_function( + "BeginPopupContextItem", sol::overload( + sol::resolve(BeginPopupContextItem), sol::resolve(BeginPopupContextItem), + sol::resolve(BeginPopupContextItem))); + ImGui.set_function( + "BeginPopupContextWindow", sol::overload( + sol::resolve(BeginPopupContextWindow), sol::resolve(BeginPopupContextWindow), + sol::resolve(BeginPopupContextWindow))); + ImGui.set_function( + "BeginPopupContextVoid", sol::overload( + sol::resolve(BeginPopupContextVoid), sol::resolve(BeginPopupContextVoid), + sol::resolve(BeginPopupContextVoid))); + ImGui.set_function("IsPopupOpen", sol::overload(sol::resolve(IsPopupOpen), sol::resolve(IsPopupOpen))); #pragma endregion Popups, Modals #pragma region Tables - ImGui.set_function("BeginTable" , sol::overload( - sol::resolve(BeginTable), - sol::resolve(BeginTable), - sol::resolve(BeginTable), - sol::resolve(BeginTable) - )); - ImGui.set_function("EndTable" , EndTable); - ImGui.set_function("TableNextRow" , sol::overload( - sol::resolve(TableNextRow), - sol::resolve(TableNextRow), - sol::resolve(TableNextRow) - )); - ImGui.set_function("TableNextColumn" , TableNextColumn); - ImGui.set_function("TableSetColumnIndex" , TableSetColumnIndex); - ImGui.set_function("TableSetupColumn" , sol::overload( - sol::resolve(TableSetupColumn), - sol::resolve(TableSetupColumn), - sol::resolve(TableSetupColumn), - sol::resolve(TableSetupColumn) - )); - ImGui.set_function("TableSetupScrollFreeze" , TableSetupScrollFreeze); - ImGui.set_function("TableHeadersRow" , TableHeadersRow); - ImGui.set_function("TableHeader" , TableHeader); - ImGui.set_function("TableGetSortSpecs" , TableGetSortSpecs); - ImGui.set_function("TableGetColumnCount" , TableGetColumnCount); - ImGui.set_function("TableGetColumnIndex" , TableGetColumnIndex); - ImGui.set_function("TableGetRowIndex" , TableGetRowIndex); - ImGui.set_function("TableGetColumnName" , sol::overload( - sol::resolve(TableGetColumnName), - sol::resolve(TableGetColumnName) - )); - ImGui.set_function("TableGetColumnFlags" , sol::overload( - sol::resolve(TableGetColumnFlags), - sol::resolve(TableGetColumnFlags) - )); - ImGui.set_function("TableSetBgColor" , sol::overload( - sol::resolve(TableSetBgColor), - sol::resolve(TableSetBgColor), - sol::resolve(TableSetBgColor), - sol::resolve(TableSetBgColor) - )); + ImGui.set_function( + "BeginTable", + sol::overload( + sol::resolve(BeginTable), sol::resolve(BeginTable), + sol::resolve(BeginTable), sol::resolve(BeginTable))); + ImGui.set_function("EndTable", EndTable); + ImGui.set_function("TableNextRow", sol::overload(sol::resolve(TableNextRow), sol::resolve(TableNextRow), sol::resolve(TableNextRow))); + ImGui.set_function("TableNextColumn", TableNextColumn); + ImGui.set_function("TableSetColumnIndex", TableSetColumnIndex); + ImGui.set_function( + "TableSetupColumn", sol::overload( + sol::resolve(TableSetupColumn), sol::resolve(TableSetupColumn), + sol::resolve(TableSetupColumn), sol::resolve(TableSetupColumn))); + ImGui.set_function("TableSetupScrollFreeze", TableSetupScrollFreeze); + ImGui.set_function("TableHeadersRow", TableHeadersRow); + ImGui.set_function("TableHeader", TableHeader); + ImGui.set_function("TableGetSortSpecs", TableGetSortSpecs); + ImGui.set_function("TableGetColumnCount", TableGetColumnCount); + ImGui.set_function("TableGetColumnIndex", TableGetColumnIndex); + ImGui.set_function("TableGetRowIndex", TableGetRowIndex); + ImGui.set_function("TableGetColumnName", sol::overload(sol::resolve(TableGetColumnName), sol::resolve(TableGetColumnName))); + ImGui.set_function("TableGetColumnFlags", sol::overload(sol::resolve(TableGetColumnFlags), sol::resolve(TableGetColumnFlags))); + ImGui.set_function( + "TableSetBgColor", sol::overload( + sol::resolve(TableSetBgColor), sol::resolve(TableSetBgColor), + sol::resolve(TableSetBgColor), sol::resolve(TableSetBgColor))); #pragma endregion Tables #pragma region Columns - ImGui.set_function("Columns" , sol::overload( - sol::resolve(Columns), - sol::resolve(Columns), - sol::resolve(Columns), - sol::resolve(Columns) - )); - ImGui.set_function("NextColumn" , NextColumn); - ImGui.set_function("GetColumnIndex" , GetColumnIndex); - ImGui.set_function("GetColumnWidth" , sol::overload( - sol::resolve(GetColumnWidth), - sol::resolve(GetColumnWidth) - )); - ImGui.set_function("SetColumnWidth" , SetColumnWidth); - ImGui.set_function("GetColumnOffset" , sol::overload( - sol::resolve(GetColumnOffset), - sol::resolve(GetColumnOffset) - )); - ImGui.set_function("SetColumnOffset" , SetColumnOffset); - ImGui.set_function("GetColumnsCount" , GetColumnsCount); + ImGui.set_function( + "Columns", sol::overload( + sol::resolve(Columns), sol::resolve(Columns), sol::resolve(Columns), + sol::resolve(Columns))); + ImGui.set_function("NextColumn", NextColumn); + ImGui.set_function("GetColumnIndex", GetColumnIndex); + ImGui.set_function("GetColumnWidth", sol::overload(sol::resolve(GetColumnWidth), sol::resolve(GetColumnWidth))); + ImGui.set_function("SetColumnWidth", SetColumnWidth); + ImGui.set_function("GetColumnOffset", sol::overload(sol::resolve(GetColumnOffset), sol::resolve(GetColumnOffset))); + ImGui.set_function("SetColumnOffset", SetColumnOffset); + ImGui.set_function("GetColumnsCount", GetColumnsCount); #pragma endregion Columns #pragma region Tab Bars, Tabs - ImGui.set_function("BeginTabBar" , sol::overload( - sol::resolve(BeginTabBar), - sol::resolve(BeginTabBar) - )); - ImGui.set_function("EndTabBar" , EndTabBar); - ImGui.set_function("BeginTabItem" , sol::overload( - sol::resolve(BeginTabItem), - sol::resolve(BeginTabItem), - sol::resolve(const std::string&, bool)>(BeginTabItem), - sol::resolve(const std::string&, bool, int)>(BeginTabItem) - )); - ImGui.set_function("EndTabItem" , EndTabItem); - ImGui.set_function("SetTabItemClosed" , SetTabItemClosed); + ImGui.set_function("BeginTabBar", sol::overload(sol::resolve(BeginTabBar), sol::resolve(BeginTabBar))); + ImGui.set_function("EndTabBar", EndTabBar); + ImGui.set_function( + "BeginTabItem", + sol::overload( + sol::resolve(BeginTabItem), sol::resolve(BeginTabItem), + sol::resolve(const std::string&, bool)>(BeginTabItem), sol::resolve(const std::string&, bool, int)>(BeginTabItem))); + ImGui.set_function("EndTabItem", EndTabItem); + ImGui.set_function("SetTabItemClosed", SetTabItemClosed); #pragma endregion Tab Bars, Tabs #pragma region Disabling - ImGui.set_function("BeginDisabled" , sol::overload( - sol::resolve(BeginDisabled), - sol::resolve(BeginDisabled) - )); - ImGui.set_function("EndDisabled" , EndDisabled); + ImGui.set_function("BeginDisabled", sol::overload(sol::resolve(BeginDisabled), sol::resolve(BeginDisabled))); + ImGui.set_function("EndDisabled", EndDisabled); #pragma endregion Disabling #pragma region Clipping - ImGui.set_function("PushClipRect" , PushClipRect); - ImGui.set_function("PopClipRect" , PopClipRect); + ImGui.set_function("PushClipRect", PushClipRect); + ImGui.set_function("PopClipRect", PopClipRect); #pragma endregion Clipping #pragma region Focus, Activation - ImGui.set_function("SetItemDefaultFocus" , SetItemDefaultFocus); - ImGui.set_function("SetKeyboardFocusHere" , sol::overload( - sol::resolve(SetKeyboardFocusHere), - sol::resolve(SetKeyboardFocusHere) - )); + ImGui.set_function("SetItemDefaultFocus", SetItemDefaultFocus); + ImGui.set_function("SetKeyboardFocusHere", sol::overload(sol::resolve(SetKeyboardFocusHere), sol::resolve(SetKeyboardFocusHere))); #pragma endregion Focus, Activation -#pragma region Item/Widgets Utilities - ImGui.set_function("IsItemHovered" , sol::overload( - sol::resolve(IsItemHovered), - sol::resolve(IsItemHovered) - )); - ImGui.set_function("IsItemActive" , IsItemActive); - ImGui.set_function("IsItemFocused" , IsItemFocused); - ImGui.set_function("IsItemClicked" , sol::overload( - sol::resolve(IsItemClicked), - sol::resolve(IsItemClicked) - )); - ImGui.set_function("IsItemVisible" , IsItemVisible); - ImGui.set_function("IsItemEdited" , IsItemEdited); - ImGui.set_function("IsItemActivated" , IsItemActivated); - ImGui.set_function("IsItemDeactivated" , IsItemDeactivated); - ImGui.set_function("IsItemDeactivatedAfterEdit" , IsItemDeactivatedAfterEdit); - ImGui.set_function("IsItemToggledOpen" , IsItemToggledOpen); - ImGui.set_function("IsAnyItemHovered" , IsAnyItemHovered); - ImGui.set_function("IsAnyItemActive" , IsAnyItemActive); - ImGui.set_function("IsAnyItemFocused" , IsAnyItemFocused); - ImGui.set_function("GetItemRectMin" , GetItemRectMin); - ImGui.set_function("GetItemRectMax" , GetItemRectMax); - ImGui.set_function("GetItemRectSize" , GetItemRectSize); - ImGui.set_function("SetItemAllowOverlap" , SetItemAllowOverlap); -#pragma endregion Item/Widgets Utilities +#pragma region Item /Widgets Utilities + ImGui.set_function("IsItemHovered", sol::overload(sol::resolve(IsItemHovered), sol::resolve(IsItemHovered))); + ImGui.set_function("IsItemActive", IsItemActive); + ImGui.set_function("IsItemFocused", IsItemFocused); + ImGui.set_function("IsItemClicked", sol::overload(sol::resolve(IsItemClicked), sol::resolve(IsItemClicked))); + ImGui.set_function("IsItemVisible", IsItemVisible); + ImGui.set_function("IsItemEdited", IsItemEdited); + ImGui.set_function("IsItemActivated", IsItemActivated); + ImGui.set_function("IsItemDeactivated", IsItemDeactivated); + ImGui.set_function("IsItemDeactivatedAfterEdit", IsItemDeactivatedAfterEdit); + ImGui.set_function("IsItemToggledOpen", IsItemToggledOpen); + ImGui.set_function("IsAnyItemHovered", IsAnyItemHovered); + ImGui.set_function("IsAnyItemActive", IsAnyItemActive); + ImGui.set_function("IsAnyItemFocused", IsAnyItemFocused); + ImGui.set_function("GetItemRectMin", GetItemRectMin); + ImGui.set_function("GetItemRectMax", GetItemRectMax); + ImGui.set_function("GetItemRectSize", GetItemRectSize); + ImGui.set_function("SetItemAllowOverlap", SetItemAllowOverlap); +#pragma endregion Item / Widgets Utilities #pragma region Miscellaneous Utilities - ImGui.set_function("IsRectVisible" , sol::overload( - sol::resolve(IsRectVisible), - sol::resolve(IsRectVisible) - )); - ImGui.set_function("GetTime" , GetTime); - ImGui.set_function("GetFrameCount" , GetFrameCount); - ImGui.set_function("GetBackgroundDrawList" , GetBackgroundDrawList); - ImGui.set_function("GetForegroundDrawList" , GetForegroundDrawList); - ImGui.set_function("GetStyleColorName" , GetStyleColorName); - ImGui.set_function("BeginChildFrame" , sol::overload( - sol::resolve(BeginChildFrame), - sol::resolve(BeginChildFrame) - )); - ImGui.set_function("EndChildFrame" , EndChildFrame); - ImGui.set_function("GetStyle" , GetStyle); + ImGui.set_function("IsRectVisible", sol::overload(sol::resolve(IsRectVisible), sol::resolve(IsRectVisible))); + ImGui.set_function("GetTime", GetTime); + ImGui.set_function("GetFrameCount", GetFrameCount); + ImGui.set_function("GetBackgroundDrawList", GetBackgroundDrawList); + ImGui.set_function("GetForegroundDrawList", GetForegroundDrawList); + ImGui.set_function("GetStyleColorName", GetStyleColorName); + ImGui.set_function( + "BeginChildFrame", sol::overload(sol::resolve(BeginChildFrame), sol::resolve(BeginChildFrame))); + ImGui.set_function("EndChildFrame", EndChildFrame); + ImGui.set_function("GetStyle", GetStyle); #pragma endregion Miscellaneous Utilities #pragma region Text Utilities - ImGui.set_function("CalcTextSize" , sol::overload( - sol::resolve(const std::string&)>(CalcTextSize), - sol::resolve(const std::string&, bool)>(CalcTextSize), - sol::resolve(const std::string&, bool, float)>(CalcTextSize) - )); + ImGui.set_function( + "CalcTextSize", + sol::overload( + sol::resolve(const std::string&)>(CalcTextSize), sol::resolve(const std::string&, bool)>(CalcTextSize), + sol::resolve(const std::string&, bool, float)>(CalcTextSize))); #pragma endregion Text Utilities #pragma region Color Utilities - ImGui.set_function("ColorConvertU32ToFloat4" , ColorConvertU32ToFloat4); - ImGui.set_function("ColorConvertFloat4ToU32" , ColorConvertFloat4ToU32); - ImGui.set_function("ColorConvertRGBtoHSV" , ColorConvertRGBtoHSV); - ImGui.set_function("ColorConvertHSVtoRGB" , ColorConvertHSVtoRGB); + ImGui.set_function("ColorConvertU32ToFloat4", ColorConvertU32ToFloat4); + ImGui.set_function("ColorConvertFloat4ToU32", ColorConvertFloat4ToU32); + ImGui.set_function("ColorConvertRGBtoHSV", ColorConvertRGBtoHSV); + ImGui.set_function("ColorConvertHSVtoRGB", ColorConvertHSVtoRGB); #pragma endregion Color Utilities -#pragma region Inputs Utilities: Mouse - ImGui.set_function("IsMouseHoveringRect" , sol::overload( - sol::resolve(IsMouseHoveringRect), - sol::resolve(IsMouseHoveringRect) - )); - ImGui.set_function("GetMousePos" , GetMousePos); - ImGui.set_function("GetMousePosOnOpeningCurrentPopup", GetMousePosOnOpeningCurrentPopup); - ImGui.set_function("IsMouseDragging" , sol::overload( - sol::resolve(IsMouseDragging), - sol::resolve(IsMouseDragging) - )); - ImGui.set_function("GetMouseDragDelta" , sol::overload( - sol::resolve()>(GetMouseDragDelta), - sol::resolve(int)>(GetMouseDragDelta), - sol::resolve(int, float)>(GetMouseDragDelta) - )); - ImGui.set_function("ResetMouseDragDelta" , sol::overload( - sol::resolve(ResetMouseDragDelta), - sol::resolve(ResetMouseDragDelta) - )); -#pragma endregion Inputs Utilities: Mouse +#pragma region Inputs Utilities : Mouse + ImGui.set_function( + "IsMouseHoveringRect", + sol::overload(sol::resolve(IsMouseHoveringRect), sol::resolve(IsMouseHoveringRect))); + ImGui.set_function("GetMousePos", GetMousePos); + ImGui.set_function("GetMousePosOnOpeningCurrentPopup", GetMousePosOnOpeningCurrentPopup); + ImGui.set_function("IsMouseDragging", sol::overload(sol::resolve(IsMouseDragging), sol::resolve(IsMouseDragging))); + ImGui.set_function( + "GetMouseDragDelta", sol::overload( + sol::resolve()>(GetMouseDragDelta), sol::resolve(int)>(GetMouseDragDelta), + sol::resolve(int, float)>(GetMouseDragDelta))); + ImGui.set_function("ResetMouseDragDelta", sol::overload(sol::resolve(ResetMouseDragDelta), sol::resolve(ResetMouseDragDelta))); +#pragma endregion Inputs Utilities : Mouse #pragma region Clipboard Utilities - ImGui.set_function("GetClipboardText" , GetClipboardText); - ImGui.set_function("SetClipboardText" , SetClipboardText); + ImGui.set_function("GetClipboardText", GetClipboardText); + ImGui.set_function("SetClipboardText", SetClipboardText); #pragma endregion Clipboard Utilities #pragma region Drawing APIs - ImGui.set_function("ImDrawListAddLine" , sol::overload( - sol::resolve(ImDrawListAddLine), - sol::resolve(ImDrawListAddLine) - )); - ImGui.set_function("ImDrawListAddRect" , sol::overload( - sol::resolve(ImDrawListAddRect), - sol::resolve(ImDrawListAddRect), - sol::resolve(ImDrawListAddRect), - sol::resolve(ImDrawListAddRect) - )); - ImGui.set_function("ImDrawListAddRectFilled" , sol::overload( - sol::resolve(ImDrawListAddRectFilled), - sol::resolve(ImDrawListAddRectFilled), - sol::resolve(ImDrawListAddRectFilled) - )); - ImGui.set_function("ImDrawListAddRectFilledMultiColor" , ImDrawListAddRectFilledMultiColor); - ImGui.set_function("ImDrawListAddQuad" , sol::overload( - sol::resolve(ImDrawListAddQuad), - sol::resolve(ImDrawListAddQuad) - )); - ImGui.set_function("ImDrawListAddQuadFilled" , ImDrawListAddQuadFilled); - ImGui.set_function("ImDrawListAddTriangle" , sol::overload( - sol::resolve(ImDrawListAddTriangle), - sol::resolve(ImDrawListAddTriangle) - )); - ImGui.set_function("ImDrawListAddTriangleFilled" , ImDrawListAddTriangleFilled); - ImGui.set_function("ImDrawListAddCircle" , sol::overload( - sol::resolve(ImDrawListAddCircle), - sol::resolve(ImDrawListAddCircle), - sol::resolve(ImDrawListAddCircle) - )); - ImGui.set_function("ImDrawListAddCircleFilled" , sol::overload( - sol::resolve(ImDrawListAddCircleFilled), - sol::resolve(ImDrawListAddCircleFilled) - )); - ImGui.set_function("ImDrawListAddNgon" , sol::overload( - sol::resolve(ImDrawListAddNgon), - sol::resolve(ImDrawListAddNgon) - )); - ImGui.set_function("ImDrawListAddNgonFilled" , ImDrawListAddNgonFilled); - ImGui.set_function("ImDrawListAddText" , sol::overload( - sol::resolve(ImDrawListAddText), - sol::resolve(ImDrawListAddText), - sol::resolve(ImDrawListAddText) - // sol::resolve(ImDrawListAddText) - )); - // ImGui.set_function("ImDrawListAddPolyline " , ImDrawListAddPolyline); - // ImGui.set_function("ImDrawListAddConvexPolyFilled" , ImDrawListAddConvexPolyFilled); - ImGui.set_function("ImDrawListAddBezierCubic" , sol::overload( - sol::resolve(ImDrawListAddBezierCubic), - sol::resolve(ImDrawListAddBezierCubic) - )); - ImGui.set_function("ImDrawListAddBezierQuadratic" , sol::overload( - sol::resolve(ImDrawListAddBezierQuadratic), - sol::resolve(ImDrawListAddBezierQuadratic) - )); + ImGui.set_function( + "ImDrawListAddLine", sol::overload( + sol::resolve(ImDrawListAddLine), + sol::resolve(ImDrawListAddLine))); + ImGui.set_function( + "ImDrawListAddRect", sol::overload( + sol::resolve(ImDrawListAddRect), + sol::resolve(ImDrawListAddRect), + sol::resolve(ImDrawListAddRect), + sol::resolve(ImDrawListAddRect))); + ImGui.set_function( + "ImDrawListAddRectFilled", sol::overload( + sol::resolve(ImDrawListAddRectFilled), + sol::resolve(ImDrawListAddRectFilled), + sol::resolve(ImDrawListAddRectFilled))); + ImGui.set_function("ImDrawListAddRectFilledMultiColor", ImDrawListAddRectFilledMultiColor); + ImGui.set_function( + "ImDrawListAddQuad", sol::overload( + sol::resolve(ImDrawListAddQuad), + sol::resolve(ImDrawListAddQuad))); + ImGui.set_function("ImDrawListAddQuadFilled", ImDrawListAddQuadFilled); + ImGui.set_function( + "ImDrawListAddTriangle", sol::overload( + sol::resolve(ImDrawListAddTriangle), + sol::resolve(ImDrawListAddTriangle))); + ImGui.set_function("ImDrawListAddTriangleFilled", ImDrawListAddTriangleFilled); + ImGui.set_function( + "ImDrawListAddCircle", + sol::overload( + sol::resolve(ImDrawListAddCircle), sol::resolve(ImDrawListAddCircle), + sol::resolve(ImDrawListAddCircle))); + ImGui.set_function( + "ImDrawListAddCircleFilled", sol::overload( + sol::resolve(ImDrawListAddCircleFilled), + sol::resolve(ImDrawListAddCircleFilled))); + ImGui.set_function( + "ImDrawListAddNgon", sol::overload( + sol::resolve(ImDrawListAddNgon), + sol::resolve(ImDrawListAddNgon))); + ImGui.set_function("ImDrawListAddNgonFilled", ImDrawListAddNgonFilled); + ImGui.set_function( + "ImDrawListAddText", sol::overload( + sol::resolve(ImDrawListAddText), + sol::resolve(ImDrawListAddText), + sol::resolve(ImDrawListAddText) + // sol::resolve(ImDrawListAddText) + )); + // ImGui.set_function("ImDrawListAddPolyline " , ImDrawListAddPolyline); + // ImGui.set_function("ImDrawListAddConvexPolyFilled" , ImDrawListAddConvexPolyFilled); + ImGui.set_function( + "ImDrawListAddBezierCubic", sol::overload( + sol::resolve(ImDrawListAddBezierCubic), + sol::resolve(ImDrawListAddBezierCubic))); + ImGui.set_function( + "ImDrawListAddBezierQuadratic", sol::overload( + sol::resolve(ImDrawListAddBezierQuadratic), + sol::resolve(ImDrawListAddBezierQuadratic))); #pragma endregion Drawing APIs - luaGlobals["ImGui"] = ImGui; - } + luaGlobals["ImGui"] = ImGui; } +} // namespace sol_ImGui diff --git a/src/stdafx.h b/src/stdafx.h index e29400e5..1bd75e2f 100644 --- a/src/stdafx.h +++ b/src/stdafx.h @@ -72,11 +72,7 @@ #include "scripting/GameHooks.h" #include "VKBindings.h" -template<> -struct std::hash +template <> struct std::hash { - std::size_t operator()(RED4ext::CName aKey) const noexcept - { - return static_cast(aKey.hash); - } + std::size_t operator()(RED4ext::CName aKey) const noexcept { return static_cast(aKey.hash); } }; diff --git a/src/window/window.cpp b/src/window/window.cpp index 9e6eb77f..2c37ca83 100644 --- a/src/window/window.cpp +++ b/src/window/window.cpp @@ -14,7 +14,7 @@ static BOOL CALLBACK EnumWindowsProcCP77(HWND ahWnd, LPARAM alParam) GetWindowThreadProcessId(ahWnd, &lpdwProcessId); if (lpdwProcessId == GetCurrentProcessId()) { - TCHAR name[512] = { 0 }; + TCHAR name[512] = {0}; GetWindowText(ahWnd, name, 511); if (_tcscmp(_T("Cyberpunk 2077 (C) 2020 by CD Projekt RED"), name) == 0) { @@ -63,22 +63,22 @@ Window::Window(VKBindings* apBindings, D3D12* apD3D12) { s_pWindow = this; - std::thread t([this] - { - while (m_hWnd == nullptr) + std::thread t( + [this] { - if (EnumWindows(EnumWindowsProcCP77, reinterpret_cast(&m_hWnd))) - std::this_thread::sleep_for(50ms); - else + while (m_hWnd == nullptr) { - m_wndProc = reinterpret_cast( - SetWindowLongPtr(m_hWnd, GWLP_WNDPROC, reinterpret_cast(WndProc))); - Log::Info("Window::Initialize() - window hook complete."); + if (EnumWindows(EnumWindowsProcCP77, reinterpret_cast(&m_hWnd))) + std::this_thread::sleep_for(50ms); + else + { + m_wndProc = reinterpret_cast(SetWindowLongPtr(m_hWnd, GWLP_WNDPROC, reinterpret_cast(WndProc))); + Log::Info("Window::Initialize() - window hook complete."); + } } - } - m_initialized = true; - }); + m_initialized = true; + }); t.detach(); } diff --git a/src/window/window.h b/src/window/window.h index acf246a4..76972510 100644 --- a/src/window/window.h +++ b/src/window/window.h @@ -19,21 +19,18 @@ struct Window bool IsInitialized() const { return m_initialized; } protected: - static LRESULT APIENTRY WndProc(HWND ahWnd, UINT auMsg, WPARAM awParam, LPARAM alParam); private: + bool m_initialized{false}; + HWND m_hWnd{nullptr}; + WNDPROC m_wndProc{nullptr}; - bool m_initialized{ false }; - - HWND m_hWnd{ nullptr }; - WNDPROC m_wndProc{ nullptr }; - - POINT m_wndPos{ }; - SIZE m_wndSize{ }; - POINT m_clientPos{ }; - SIZE m_clientSize{ }; + POINT m_wndPos{}; + SIZE m_wndSize{}; + POINT m_clientPos{}; + SIZE m_clientSize{}; VKBindings* m_pBindings; D3D12* m_pD3D12;