Forráskód Böngészése

added shortcut manager and fonts

vlod 3 éve
szülő
commit
5a0053b8ce

+ 34 - 4
Pika/core/pikaEditor/editor/editor.cpp

@@ -1,10 +1,20 @@
 #include "editor.h"
+#include <iostream>
+#include "IconsForkAwesome.h"
+#include "shortcutApi/shortcutApi.h"
 
-void pika::Editor::init()
+void pika::Editor::init(pika::ShortcutManager &shortcutManager)
 {
+
+	shortcutManager.registerShortcut("Ctrl+Alt+D", &optionsFlags.dockMainWindow);
+	shortcutManager.registerShortcut("Ctrl+L", &windowFlags.logsWindow);
+
+
 }
 
-void pika::Editor::update()
+
+
+void pika::Editor::update(const pika::Input &input)
 {
 	ImGuiWindowFlags mainWindowFlags = ImGuiWindowFlags_MenuBar;
 	if (optionsFlags.dockMainWindow)
@@ -14,6 +24,7 @@ void pika::Editor::update()
 			ImGuiWindowFlags_NoMove |
 			ImGuiWindowFlags_NoCollapse |
 			ImGuiWindowFlags_NoBringToFrontOnFocus |
+			ImGuiWindowFlags_NoBackground |
 			ImGuiWindowFlags_NoTitleBar;
 
 		ImVec2 vWindowSize = ImGui::GetMainViewport()->Size;
@@ -22,6 +33,9 @@ void pika::Editor::update()
 		ImGui::SetNextWindowSize(ImVec2((float)vWindowSize.x, (float)vWindowSize.y), 0);
 	}
 
+
+	//ImGui::PushStyleColor(ImGuiCol_WindowBg, ImVec4(0.2f, 0.2f, 0.3f, 1.0f));
+	
 	//todo imgui push pop id for main window
 	if (ImGui::Begin(
 		"Main window",
@@ -30,6 +44,8 @@ void pika::Editor::update()
 		)
 		)
 	{
+		//ImGui::PopStyleColor();
+
 
 		if (optionsFlags.dockMainWindow)
 		{
@@ -38,7 +54,7 @@ void pika::Editor::update()
 			ImGui::DockSpace(dockSpace, ImVec2(0.0f, 0.0f), dockspaceFlags);
 		}
 
-
+	#pragma region menu
 		if (ImGui::BeginMenuBar())
 		{
 
@@ -53,15 +69,29 @@ void pika::Editor::update()
 			if (ImGui::BeginMenu("Options"))
 			{
 
-				ImGui::Checkbox("Dock main window", &optionsFlags.dockMainWindow);
+
+				ImGui::MenuItem(ICON_FK_WINDOW_RESTORE " Dock main window", "Ctrl+Alt+D", &optionsFlags.dockMainWindow);
 
 				ImGui::EndMenu();
 			}
 
+			if (ImGui::BeginMenu("Windows"))
+			{
+				ImGui::MenuItem(pika::LogWindow::ICON_NAME, "Ctrl+L", &windowFlags.logsWindow);
+
+
+				ImGui::EndMenu();
+
+			}
 
 			ImGui::EndMenuBar();
 		}
+	#pragma endregion
 
+	}
+	else
+	{
+		//ImGui::PopStyleColor();
 	}
 	ImGui::End();
 

+ 9 - 3
Pika/core/pikaEditor/editor/editor.h

@@ -1,7 +1,9 @@
 #pragma once
 
 #include <pikaImgui/pikaImgui.h>
-
+#include <logs/logWindow.h>
+#include <windowSystemm/input.h>
+#include <shortcutApi/shortcutApi.h>
 
 namespace pika
 {
@@ -9,15 +11,19 @@ namespace pika
 	struct Editor
 	{
 
-		void init();
+		void init(pika::ShortcutManager &shortcutManager);
 
-		void update();
+		void update(const pika::Input &input);
 
 		struct
 		{
 			bool dockMainWindow = 1;
 		}optionsFlags;
 
+		struct
+		{
+			bool logsWindow;
+		}windowFlags;
 
 	};
 

+ 3 - 2
Pika/core/pikaEditor/logs/logWindow.cpp

@@ -1,5 +1,6 @@
-#include "logWindow.h"
+#include "logWindow.h"
 #include <imgui.h>
+#include <IconsForkAwesome.h>
 
 void pika::LogWindow::init()
 {
@@ -12,7 +13,7 @@ void pika::LogWindow::update(pika::LogManager &logManager)
 	//todo push pop id
 
 
-	if (ImGui::Begin("logs"))
+	if (ImGui::Begin(ICON_NAME))
 	{
 
 

+ 5 - 0
Pika/core/pikaEditor/logs/logWindow.h

@@ -1,5 +1,6 @@
 #pragma once
 #include <logs/log.h>
+#include <IconsForkAwesome.h>
 
 namespace pika
 {
@@ -13,6 +14,10 @@ namespace pika
 		void update(pika::LogManager &logManager);
 
 
+		static constexpr char *ICON = ICON_FK_COMMENT_O;
+		static constexpr char *NAME = "logs";
+		static constexpr char *ICON_NAME = ICON_FK_COMMENT_O " logs";
+
 	};
 
 }

+ 9 - 2
Pika/core/pikaRuntime/pikaMain.cpp

@@ -17,6 +17,8 @@
 #include <logs/logWindow.h>
 
 #include <editor/editor.h>
+#include <shortcutApi/shortcutApi.h>
+
 
 int main()
 {
@@ -57,9 +59,13 @@ int main()
 	dllLoader.getContainersInfo_(loadedContainers);
 #pragma endregion
 
+#pragma region shortcuts
+	pika::ShortcutManager shortcutManager;
+#pragma endregion
+
 #pragma region editor
 	pika::Editor editor;
-	editor.init();
+	editor.init(shortcutManager);
 #pragma endregion
 
 
@@ -92,7 +98,7 @@ int main()
 
 	#pragma region editor stuff
 
-		editor.update();
+		editor.update(window.input);
 
 		logWindow.update(logs);
 
@@ -110,6 +116,7 @@ int main()
 
 
 		window.update();
+		shortcutManager.update(window.input);
 	}
 
 

+ 3 - 2
Pika/core/pikaSTD/logs/log.cpp

@@ -19,14 +19,15 @@ void pika::LogManager::log(const char *l, int type)
 {
 
 #ifdef PIKA_DEVELOPMENT
-
+	logInternally(l, type);
+	logToFile(l, type);
 #endif
 
 #ifdef PIKA_PRODUCTION
+	logToFile(l, type); //todo enum settings
 
 #endif
 
-	logToFile(l, type);
 }
 
 std::stringstream pika::LogManager::formatLog(const char *l, int type)

+ 1 - 1
Pika/core/pikaSTD/logs/log.h

@@ -27,7 +27,7 @@ namespace pika
 		std::string name = "";
 		bool firstLog = 0;
 
-		std::vector<std::string> internalLogs;
+		std::vector<std::string> internalLogs; //todo reing buffer here
 
 	private:
 		//used only interally.

+ 88 - 0
Pika/core/pikaSTD/stringManipulation/stringManipulation.cpp

@@ -0,0 +1,88 @@
+#include "stringManipulation.h"
+#include <cctype>
+
+namespace pika
+{
+
+	void removeCharacters(char *dest, const char *source, const char *charsToRemove, size_t destSize)
+	{
+		int write = 0;
+		for (int read = 0; source[read] != 0; read++)
+		{
+			if (findChar(charsToRemove, source[read]))
+			{
+
+			}
+			else
+			{
+				dest[write] = source[read];
+				write++;
+
+				if (write >= destSize) { break; }
+			}
+		}
+	}
+
+	void toLower(char *dest, const char *source, size_t size)
+	{
+		for (int i = 0; i < size; i++)
+		{
+			if (dest[i] == 0) { break; }
+			dest[i] = std::tolower(source[i]);
+		}
+	}
+
+	void toUpper(char *dest, const char *source, size_t size)
+	{
+		for (int i = 0; i < size; i++)
+		{
+			if (dest[i] == 0) { break; }
+			dest[i] = std::toupper(source[i]);
+		}
+	}
+
+	bool findChar(const char *source, char c)
+	{
+		int i = 0;
+		while (source[i] != 0)
+		{
+			if (source[i] == c)
+			{
+				return true;
+			}
+			i++;
+		}
+		return false;
+	}
+
+	std::vector<std::string> split(const char *source, char c)
+	{
+
+		std::string s = "";
+		std::vector<std::string> ret;
+
+		for (int i = 0; source[i] != 0; i++)
+		{
+			if (source[i] == c)
+			{
+				if (s != "")
+				{
+					ret.push_back(s);
+				}
+				s = "";
+			}
+			else
+			{
+				s += source[i];
+			}
+		}
+
+		if (s != "")
+		{
+			ret.push_back(s);
+		}
+
+		return ret;
+	}
+
+}

+ 28 - 0
Pika/core/pikaSTD/stringManipulation/stringManipulation.h

@@ -0,0 +1,28 @@
+#pragma once
+#include <string>
+#include <vector>
+
+namespace pika
+{
+	//todo overengineer with restrict and stuff
+
+
+
+	//dest can be also source
+	void removeCharacters(char *dest, const char *source, const char *charsToRemove, size_t destSize);
+
+	//dest can be also source
+	void toLower(char *dest, const char *source, size_t size);
+
+	//dest can be also source
+	void toUpper(char *dest, const char *source, size_t size);
+
+
+	//checks if char is in source
+	bool findChar(const char *source, char c);
+
+
+	std::vector<std::string> split(const char *source, char c);
+	
+
+}

+ 25 - 1
Pika/core/sharedRuntime/pikaImgui/pikaImgui.cpp

@@ -1,6 +1,7 @@
 #include <glad/glad.h>
 #include <pikaImgui/pikaImgui.h>
 #include <GLFW/glfw3.h>
+#include "IconsForkAwesome.h"
 
 void pika::initImgui(PikaContext &pikaContext)
 {
@@ -8,7 +9,7 @@ void pika::initImgui(PikaContext &pikaContext)
 	//ImGui::StyleColorsDark();
 	imguiThemes::embraceTheDarkness();
 	
-	ImGuiIO &io = ImGui::GetIO(); (void)io;
+	ImGuiIO &io = ImGui::GetIO();
 	io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard;
 	//io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad;      // Enable Gamepad Controls
 	io.ConfigFlags |= ImGuiConfigFlags_DockingEnable;           // Enable Docking
@@ -28,6 +29,29 @@ void pika::initImgui(PikaContext &pikaContext)
 	ImGui_ImplOpenGL3_Init("#version 330");
 
 	pikaContext.ImGuiContext = context;
+
+
+	//https://pixtur.github.io/mkdocs-for-imgui/site/FONTS/
+	//https://github.com/juliettef/IconFontCppHeaders
+	//https://fontawesome.com/v4/icons/
+	io.Fonts->AddFontFromFileTTF("arial.ttf", 16);
+
+	//ImVector<ImWchar> ranges;
+	//ImFontGlyphRangesBuilder builder;
+	//builder.AddText("Hello world");                        // Add a string (here "Hello world" contains 7 unique characters)
+	//builder.AddChar(0x7262);                               // Add a specific character
+	//builder.AddRanges(io.Fonts->GetGlyphRangesJapanese()); // Add one of the default ranges
+	//builder.BuildRanges(&ranges);
+
+
+	ImFontConfig config;
+	config.MergeMode = true;
+	config.GlyphMinAdvanceX = 16.0f; // Use if you want to make the icon monospaced
+	static const ImWchar icon_ranges[] = {ICON_MIN_FK, ICON_MAX_FK, 0};
+	io.Fonts->AddFontFromFileTTF("fontawesome-webfont.ttf", 16.0f, &config, icon_ranges);
+	io.Fonts->Build();
+
+
 }
 
 void pika::setImguiContext(PikaContext pikaContext)

+ 3 - 0
Pika/core/sharedRuntime/shortcutApi/README.md

@@ -0,0 +1,3 @@
+#shortcut api
+
+This will be used to check if a shortcut was pressed given some input.

+ 179 - 0
Pika/core/sharedRuntime/shortcutApi/shortcutApi.cpp

@@ -0,0 +1,179 @@
+#include "shortcutApi.h"
+#include <stringManipulation/stringManipulation.h>
+#include <iostream>
+#include <unordered_map>
+#include <set>
+#include <imgui.h>
+
+std::unordered_map<std::string, int> buttonMapping =
+{
+	{"a", pika::Button::A},
+	{ "b", pika::Button::B },
+	{ "c", pika::Button::C },
+	{ "d", pika::Button::D },
+	{ "e", pika::Button::E },
+	{ "f", pika::Button::F },
+	{ "g", pika::Button::G },
+	{ "h", pika::Button::H },
+	{ "i", pika::Button::I },
+	{ "j", pika::Button::J },
+	{ "k", pika::Button::K },
+	{ "l", pika::Button::L },
+	{ "m", pika::Button::M },
+	{ "n", pika::Button::N },
+	{ "o", pika::Button::O },
+	{ "p", pika::Button::P },
+	{ "q", pika::Button::Q },
+	{ "r", pika::Button::R },
+	{ "s", pika::Button::S },
+	{ "t", pika::Button::T },
+	{ "u", pika::Button::U },
+	{ "v", pika::Button::V },
+	{ "w", pika::Button::W },
+	{ "x", pika::Button::X },
+	{ "y", pika::Button::Y },
+	{ "z", pika::Button::Z },
+	{ "0", pika::Button::NR0 }, { "1", pika::Button::NR1 }, { "2", pika::Button::NR2 }, { "3", pika::Button::NR3 },
+	{ "4", pika::Button::NR4 }, { "5", pika::Button::NR5 }, { "6", pika::Button::NR6 }, { "7", pika::Button::NR7 },
+	{ "8", pika::Button::NR8 }, { "9", pika::Button::NR9 },
+	{ "space", pika::Button::Space },
+	{ "enter", pika::Button::Enter },
+	{ "escape", pika::Button::Escape },
+	{ "up", pika::Button::Up },
+	{ "down", pika::Button::Down },
+	{ "left", pika::Button::Left },
+	{ "right", pika::Button::Right },
+	{ "ctrl", pika::Button::LeftCtrl },
+	{ "tab", pika::Button::Tab },
+
+};
+
+
+
+
+namespace pika
+{
+
+std::vector<std::string> tokenizeShortcutSimple(const char *shortcut)
+{
+	char data[256] = {};
+	pika::removeCharacters(data, shortcut, "\n \t\r\v", sizeof(data));
+	pika::toLower(data, data, sizeof(data));
+
+	auto token = pika::split(data, '+');
+
+	return token;
+};
+
+
+std::vector<std::string> tokenizeShortcutNormalized(const char *shortcut)
+{
+	
+	auto token = tokenizeShortcutSimple(shortcut);
+
+	std::set<std::string> tokenSet;
+
+	for (auto &i : token)
+	{
+
+		auto it = buttonMapping.find(i);
+
+		if (it != buttonMapping.end())
+		{
+			tokenSet.insert(it->first);
+		}
+	}
+
+	std::vector<std::string> ret;
+	ret.reserve(tokenSet.size());
+
+	for (auto &i : tokenSet)
+	{
+		ret.push_back(std::move(i));
+	}
+
+	return ret;
+
+}
+
+std::string normalizeShortcutName(const char *shortcut)
+{
+	auto t = tokenizeShortcutNormalized(shortcut);
+
+	std::string ret = "";
+	for (int i = 0; i < t.size(); i++)
+	{
+		ret += t[i];
+
+		if (i < t.size())
+		{
+			ret += "+";
+		}
+	}
+	
+	return ret;
+}
+
+bool shortcut(const pika::Input &input, const char *shortcut)
+{
+	
+	auto token = tokenizeShortcutSimple(shortcut);
+
+	bool pressed = false;
+
+	for (auto &t : token)
+	{
+
+		auto it = buttonMapping.find(t);
+
+		if (it != buttonMapping.end())
+		{
+			if (input.buttons[it->second].pressed())
+			{
+				pressed = true;
+			}
+			else if (!input.buttons[it->second].held())
+			{
+				return false;
+			}
+		}
+	}
+
+	return pressed;
+}
+
+bool MenuItem(const pika::Input &input, const char *label, const char *shortcut, bool *p_selected, bool enabled)
+{
+	if (pika::shortcut(input, shortcut))
+	{
+		*p_selected = !*p_selected;
+	}
+
+	return ImGui::MenuItem(label, shortcut, p_selected, enabled);
+}
+
+
+
+void ShortcutManager::update(const pika::Input &input)
+{
+	for (auto &i : registeredShortcuts)
+	{
+		if (shortcut(input, i.first.c_str()))
+		{
+			*i.second = !*i.second;
+		}
+	}
+
+
+}
+
+void ShortcutManager::registerShortcut(const char *s, bool *toggle)
+{
+
+	auto normalized = normalizeShortcutName(s);
+
+	registeredShortcuts[normalized] = toggle;
+
+}
+
+}

+ 24 - 0
Pika/core/sharedRuntime/shortcutApi/shortcutApi.h

@@ -0,0 +1,24 @@
+#pragma once
+#include <windowSystemm/input.h>
+#include <unordered_map>
+
+namespace pika
+{
+
+	struct ShortcutManager
+	{
+
+		void update(const pika::Input &input);
+
+		std::unordered_map<std::string, bool *> registeredShortcuts;
+
+		void registerShortcut(const char *s, bool *toggle);
+	};
+
+
+bool shortcut(const pika::Input &input, const char *shortcut);
+
+bool MenuItem(const pika::Input &input, const char *label, const char *shortcut, bool *p_selected, bool enabled = true);
+
+
+}

+ 1 - 1
Pika/core/sharedRuntime/windowSystemm/input.h

@@ -3,7 +3,7 @@
 
 
 #define PIKA_ADD_FLAG(NAME, SETNAME, VALUE)	\
-	bool NAME() {return (flags & ((std::uint32_t)1<<VALUE)); } \
+	bool NAME() const {return (flags & ((std::uint32_t)1<<VALUE)); } \
 	void SETNAME(bool s) { \
 		if (s) { flags = flags | ((std::uint32_t)1 << VALUE); }	\
 			else { flags = flags & ~((std::uint32_t)1 << VALUE); }	\

+ 14 - 3
Pika/gameplay/containers/pikaGameplay.h

@@ -4,6 +4,7 @@
 #include <gl2d/gl2d.h>
 #include <imgui.h>
 #include <baseContainer.h>
+#include <shortcutApi/shortcutApi.h>
 
 struct Gameplay : public Container
 {
@@ -16,15 +17,23 @@ struct Gameplay : public Container
 
 	}
 
+	float r = 0;
 
 	void update(pika::Input input, float deltaTime, pika::WindowState windowState)
 	{
 
+		if (pika::shortcut(input, "Ctrl + S"))
+		{
+			std::cout << "save\n";
+		}
+
 
 		gl2d::enableNecessaryGLFeatures();
 		renderer.updateWindowMetrics(windowState.w, windowState.h);
 
-		renderer.renderRectangle({10, 10, 100, 100}, Colors_Magenta);
+		r += deltaTime * 3.f;
+
+		renderer.renderRectangle({10, 10, 100, 100}, Colors_Magenta, {}, r);
 
 		//if (input.lMouse.pressed())
 		//{
@@ -46,8 +55,10 @@ struct Gameplay : public Container
 
 		//ImGui::SetAllocatorFunctions(userMalloc, userFree);
 
-		ImGui::Begin("window from gameplay");
-		ImGui::End();
+		//ImGui::Begin("window from gameplay");
+		//ImGui::End();
+		
+		//ImGui::ShowDemoWindow();
 	}
 
 };

+ 824 - 0
Pika/thirdparty/imgui-docking/imgui/IconsForkAwesome.h

@@ -0,0 +1,824 @@
+// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages C and C++
+// from https://raw.githubusercontent.com/ForkAwesome/Fork-Awesome/master/src/icons/icons.yml
+// for use with https://github.com/ForkAwesome/Fork-Awesome/blob/master/fonts/forkawesome-webfont.ttf
+#pragma once
+
+//font atlas
+//https://fontawesome.com/v4/icons/
+
+#define FONT_ICON_FILE_NAME_FK "forkawesome-webfont.ttf"
+
+#define ICON_MIN_FK 0xf000
+#define ICON_MAX_16_FK 0xf372
+#define ICON_MAX_FK 0xf372
+#define ICON_FK_GLASS "\xef\x80\x80"	// U+f000
+#define ICON_FK_MUSIC "\xef\x80\x81"	// U+f001
+#define ICON_FK_SEARCH "\xef\x80\x82"	// U+f002
+#define ICON_FK_ENVELOPE_O "\xef\x80\x83"	// U+f003
+#define ICON_FK_HEART "\xef\x80\x84"	// U+f004
+#define ICON_FK_STAR "\xef\x80\x85"	// U+f005
+#define ICON_FK_STAR_O "\xef\x80\x86"	// U+f006
+#define ICON_FK_USER "\xef\x80\x87"	// U+f007
+#define ICON_FK_FILM "\xef\x80\x88"	// U+f008
+#define ICON_FK_TH_LARGE "\xef\x80\x89"	// U+f009
+#define ICON_FK_TH "\xef\x80\x8a"	// U+f00a
+#define ICON_FK_TH_LIST "\xef\x80\x8b"	// U+f00b
+#define ICON_FK_CHECK "\xef\x80\x8c"	// U+f00c
+#define ICON_FK_TIMES "\xef\x80\x8d"	// U+f00d
+#define ICON_FK_SEARCH_PLUS "\xef\x80\x8e"	// U+f00e
+#define ICON_FK_SEARCH_MINUS "\xef\x80\x90"	// U+f010
+#define ICON_FK_POWER_OFF "\xef\x80\x91"	// U+f011
+#define ICON_FK_SIGNAL "\xef\x80\x92"	// U+f012
+#define ICON_FK_COG "\xef\x80\x93"	// U+f013
+#define ICON_FK_TRASH_O "\xef\x80\x94"	// U+f014
+#define ICON_FK_HOME "\xef\x80\x95"	// U+f015
+#define ICON_FK_FILE_O "\xef\x80\x96"	// U+f016
+#define ICON_FK_CLOCK_O "\xef\x80\x97"	// U+f017
+#define ICON_FK_ROAD "\xef\x80\x98"	// U+f018
+#define ICON_FK_DOWNLOAD "\xef\x80\x99"	// U+f019
+#define ICON_FK_ARROW_CIRCLE_O_DOWN "\xef\x80\x9a"	// U+f01a
+#define ICON_FK_ARROW_CIRCLE_O_UP "\xef\x80\x9b"	// U+f01b
+#define ICON_FK_INBOX "\xef\x80\x9c"	// U+f01c
+#define ICON_FK_PLAY_CIRCLE_O "\xef\x80\x9d"	// U+f01d
+#define ICON_FK_REPEAT "\xef\x80\x9e"	// U+f01e
+#define ICON_FK_REFRESH "\xef\x80\xa1"	// U+f021
+#define ICON_FK_LIST_ALT "\xef\x80\xa2"	// U+f022
+#define ICON_FK_LOCK "\xef\x80\xa3"	// U+f023
+#define ICON_FK_FLAG "\xef\x80\xa4"	// U+f024
+#define ICON_FK_HEADPHONES "\xef\x80\xa5"	// U+f025
+#define ICON_FK_VOLUME_OFF "\xef\x80\xa6"	// U+f026
+#define ICON_FK_VOLUME_DOWN "\xef\x80\xa7"	// U+f027
+#define ICON_FK_VOLUME_UP "\xef\x80\xa8"	// U+f028
+#define ICON_FK_QRCODE "\xef\x80\xa9"	// U+f029
+#define ICON_FK_BARCODE "\xef\x80\xaa"	// U+f02a
+#define ICON_FK_TAG "\xef\x80\xab"	// U+f02b
+#define ICON_FK_TAGS "\xef\x80\xac"	// U+f02c
+#define ICON_FK_BOOK "\xef\x80\xad"	// U+f02d
+#define ICON_FK_BOOKMARK "\xef\x80\xae"	// U+f02e
+#define ICON_FK_PRINT "\xef\x80\xaf"	// U+f02f
+#define ICON_FK_CAMERA "\xef\x80\xb0"	// U+f030
+#define ICON_FK_FONT "\xef\x80\xb1"	// U+f031
+#define ICON_FK_BOLD "\xef\x80\xb2"	// U+f032
+#define ICON_FK_ITALIC "\xef\x80\xb3"	// U+f033
+#define ICON_FK_TEXT_HEIGHT "\xef\x80\xb4"	// U+f034
+#define ICON_FK_TEXT_WIDTH "\xef\x80\xb5"	// U+f035
+#define ICON_FK_ALIGN_LEFT "\xef\x80\xb6"	// U+f036
+#define ICON_FK_ALIGN_CENTER "\xef\x80\xb7"	// U+f037
+#define ICON_FK_ALIGN_RIGHT "\xef\x80\xb8"	// U+f038
+#define ICON_FK_ALIGN_JUSTIFY "\xef\x80\xb9"	// U+f039
+#define ICON_FK_LIST "\xef\x80\xba"	// U+f03a
+#define ICON_FK_OUTDENT "\xef\x80\xbb"	// U+f03b
+#define ICON_FK_INDENT "\xef\x80\xbc"	// U+f03c
+#define ICON_FK_VIDEO_CAMERA "\xef\x80\xbd"	// U+f03d
+#define ICON_FK_PICTURE_O "\xef\x80\xbe"	// U+f03e
+#define ICON_FK_PENCIL "\xef\x81\x80"	// U+f040
+#define ICON_FK_MAP_MARKER "\xef\x81\x81"	// U+f041
+#define ICON_FK_ADJUST "\xef\x81\x82"	// U+f042
+#define ICON_FK_TINT "\xef\x81\x83"	// U+f043
+#define ICON_FK_PENCIL_SQUARE_O "\xef\x81\x84"	// U+f044
+#define ICON_FK_SHARE_SQUARE_O "\xef\x81\x85"	// U+f045
+#define ICON_FK_CHECK_SQUARE_O "\xef\x81\x86"	// U+f046
+#define ICON_FK_ARROWS "\xef\x81\x87"	// U+f047
+#define ICON_FK_STEP_BACKWARD "\xef\x81\x88"	// U+f048
+#define ICON_FK_FAST_BACKWARD "\xef\x81\x89"	// U+f049
+#define ICON_FK_BACKWARD "\xef\x81\x8a"	// U+f04a
+#define ICON_FK_PLAY "\xef\x81\x8b"	// U+f04b
+#define ICON_FK_PAUSE "\xef\x81\x8c"	// U+f04c
+#define ICON_FK_STOP "\xef\x81\x8d"	// U+f04d
+#define ICON_FK_FORWARD "\xef\x81\x8e"	// U+f04e
+#define ICON_FK_FAST_FORWARD "\xef\x81\x90"	// U+f050
+#define ICON_FK_STEP_FORWARD "\xef\x81\x91"	// U+f051
+#define ICON_FK_EJECT "\xef\x81\x92"	// U+f052
+#define ICON_FK_CHEVRON_LEFT "\xef\x81\x93"	// U+f053
+#define ICON_FK_CHEVRON_RIGHT "\xef\x81\x94"	// U+f054
+#define ICON_FK_PLUS_CIRCLE "\xef\x81\x95"	// U+f055
+#define ICON_FK_MINUS_CIRCLE "\xef\x81\x96"	// U+f056
+#define ICON_FK_TIMES_CIRCLE "\xef\x81\x97"	// U+f057
+#define ICON_FK_CHECK_CIRCLE "\xef\x81\x98"	// U+f058
+#define ICON_FK_QUESTION_CIRCLE "\xef\x81\x99"	// U+f059
+#define ICON_FK_INFO_CIRCLE "\xef\x81\x9a"	// U+f05a
+#define ICON_FK_CROSSHAIRS "\xef\x81\x9b"	// U+f05b
+#define ICON_FK_TIMES_CIRCLE_O "\xef\x81\x9c"	// U+f05c
+#define ICON_FK_CHECK_CIRCLE_O "\xef\x81\x9d"	// U+f05d
+#define ICON_FK_BAN "\xef\x81\x9e"	// U+f05e
+#define ICON_FK_ARROW_LEFT "\xef\x81\xa0"	// U+f060
+#define ICON_FK_ARROW_RIGHT "\xef\x81\xa1"	// U+f061
+#define ICON_FK_ARROW_UP "\xef\x81\xa2"	// U+f062
+#define ICON_FK_ARROW_DOWN "\xef\x81\xa3"	// U+f063
+#define ICON_FK_SHARE "\xef\x81\xa4"	// U+f064
+#define ICON_FK_EXPAND "\xef\x81\xa5"	// U+f065
+#define ICON_FK_COMPRESS "\xef\x81\xa6"	// U+f066
+#define ICON_FK_PLUS "\xef\x81\xa7"	// U+f067
+#define ICON_FK_MINUS "\xef\x81\xa8"	// U+f068
+#define ICON_FK_ASTERISK "\xef\x81\xa9"	// U+f069
+#define ICON_FK_EXCLAMATION_CIRCLE "\xef\x81\xaa"	// U+f06a
+#define ICON_FK_GIFT "\xef\x81\xab"	// U+f06b
+#define ICON_FK_LEAF "\xef\x81\xac"	// U+f06c
+#define ICON_FK_FIRE "\xef\x81\xad"	// U+f06d
+#define ICON_FK_EYE "\xef\x81\xae"	// U+f06e
+#define ICON_FK_EYE_SLASH "\xef\x81\xb0"	// U+f070
+#define ICON_FK_EXCLAMATION_TRIANGLE "\xef\x81\xb1"	// U+f071
+#define ICON_FK_PLANE "\xef\x81\xb2"	// U+f072
+#define ICON_FK_CALENDAR "\xef\x81\xb3"	// U+f073
+#define ICON_FK_RANDOM "\xef\x81\xb4"	// U+f074
+#define ICON_FK_COMMENT "\xef\x81\xb5"	// U+f075
+#define ICON_FK_MAGNET "\xef\x81\xb6"	// U+f076
+#define ICON_FK_CHEVRON_UP "\xef\x81\xb7"	// U+f077
+#define ICON_FK_CHEVRON_DOWN "\xef\x81\xb8"	// U+f078
+#define ICON_FK_RETWEET "\xef\x81\xb9"	// U+f079
+#define ICON_FK_SHOPPING_CART "\xef\x81\xba"	// U+f07a
+#define ICON_FK_FOLDER "\xef\x81\xbb"	// U+f07b
+#define ICON_FK_FOLDER_OPEN "\xef\x81\xbc"	// U+f07c
+#define ICON_FK_ARROWS_V "\xef\x81\xbd"	// U+f07d
+#define ICON_FK_ARROWS_H "\xef\x81\xbe"	// U+f07e
+#define ICON_FK_BAR_CHART "\xef\x82\x80"	// U+f080
+#define ICON_FK_TWITTER_SQUARE "\xef\x82\x81"	// U+f081
+#define ICON_FK_FACEBOOK_SQUARE "\xef\x82\x82"	// U+f082
+#define ICON_FK_CAMERA_RETRO "\xef\x82\x83"	// U+f083
+#define ICON_FK_KEY "\xef\x82\x84"	// U+f084
+#define ICON_FK_COGS "\xef\x82\x85"	// U+f085
+#define ICON_FK_COMMENTS "\xef\x82\x86"	// U+f086
+#define ICON_FK_THUMBS_O_UP "\xef\x82\x87"	// U+f087
+#define ICON_FK_THUMBS_O_DOWN "\xef\x82\x88"	// U+f088
+#define ICON_FK_STAR_HALF "\xef\x82\x89"	// U+f089
+#define ICON_FK_HEART_O "\xef\x82\x8a"	// U+f08a
+#define ICON_FK_SIGN_OUT "\xef\x82\x8b"	// U+f08b
+#define ICON_FK_LINKEDIN_SQUARE "\xef\x82\x8c"	// U+f08c
+#define ICON_FK_THUMB_TACK "\xef\x82\x8d"	// U+f08d
+#define ICON_FK_EXTERNAL_LINK "\xef\x82\x8e"	// U+f08e
+#define ICON_FK_SIGN_IN "\xef\x82\x90"	// U+f090
+#define ICON_FK_TROPHY "\xef\x82\x91"	// U+f091
+#define ICON_FK_GITHUB_SQUARE "\xef\x82\x92"	// U+f092
+#define ICON_FK_UPLOAD "\xef\x82\x93"	// U+f093
+#define ICON_FK_LEMON_O "\xef\x82\x94"	// U+f094
+#define ICON_FK_PHONE "\xef\x82\x95"	// U+f095
+#define ICON_FK_SQUARE_O "\xef\x82\x96"	// U+f096
+#define ICON_FK_BOOKMARK_O "\xef\x82\x97"	// U+f097
+#define ICON_FK_PHONE_SQUARE "\xef\x82\x98"	// U+f098
+#define ICON_FK_TWITTER "\xef\x82\x99"	// U+f099
+#define ICON_FK_FACEBOOK "\xef\x82\x9a"	// U+f09a
+#define ICON_FK_GITHUB "\xef\x82\x9b"	// U+f09b
+#define ICON_FK_UNLOCK "\xef\x82\x9c"	// U+f09c
+#define ICON_FK_CREDIT_CARD "\xef\x82\x9d"	// U+f09d
+#define ICON_FK_RSS "\xef\x82\x9e"	// U+f09e
+#define ICON_FK_HDD_O "\xef\x82\xa0"	// U+f0a0
+#define ICON_FK_BULLHORN "\xef\x82\xa1"	// U+f0a1
+#define ICON_FK_BELL_O "\xef\x83\xb3"	// U+f0f3
+#define ICON_FK_CERTIFICATE "\xef\x82\xa3"	// U+f0a3
+#define ICON_FK_HAND_O_RIGHT "\xef\x82\xa4"	// U+f0a4
+#define ICON_FK_HAND_O_LEFT "\xef\x82\xa5"	// U+f0a5
+#define ICON_FK_HAND_O_UP "\xef\x82\xa6"	// U+f0a6
+#define ICON_FK_HAND_O_DOWN "\xef\x82\xa7"	// U+f0a7
+#define ICON_FK_ARROW_CIRCLE_LEFT "\xef\x82\xa8"	// U+f0a8
+#define ICON_FK_ARROW_CIRCLE_RIGHT "\xef\x82\xa9"	// U+f0a9
+#define ICON_FK_ARROW_CIRCLE_UP "\xef\x82\xaa"	// U+f0aa
+#define ICON_FK_ARROW_CIRCLE_DOWN "\xef\x82\xab"	// U+f0ab
+#define ICON_FK_GLOBE "\xef\x82\xac"	// U+f0ac
+#define ICON_FK_GLOBE_E "\xef\x8c\x84"	// U+f304
+#define ICON_FK_GLOBE_W "\xef\x8c\x85"	// U+f305
+#define ICON_FK_WRENCH "\xef\x82\xad"	// U+f0ad
+#define ICON_FK_TASKS "\xef\x82\xae"	// U+f0ae
+#define ICON_FK_FILTER "\xef\x82\xb0"	// U+f0b0
+#define ICON_FK_BRIEFCASE "\xef\x82\xb1"	// U+f0b1
+#define ICON_FK_ARROWS_ALT "\xef\x82\xb2"	// U+f0b2
+#define ICON_FK_USERS "\xef\x83\x80"	// U+f0c0
+#define ICON_FK_LINK "\xef\x83\x81"	// U+f0c1
+#define ICON_FK_CLOUD "\xef\x83\x82"	// U+f0c2
+#define ICON_FK_FLASK "\xef\x83\x83"	// U+f0c3
+#define ICON_FK_SCISSORS "\xef\x83\x84"	// U+f0c4
+#define ICON_FK_FILES_O "\xef\x83\x85"	// U+f0c5
+#define ICON_FK_PAPERCLIP "\xef\x83\x86"	// U+f0c6
+#define ICON_FK_FLOPPY_O "\xef\x83\x87"	// U+f0c7
+#define ICON_FK_SQUARE "\xef\x83\x88"	// U+f0c8
+#define ICON_FK_BARS "\xef\x83\x89"	// U+f0c9
+#define ICON_FK_LIST_UL "\xef\x83\x8a"	// U+f0ca
+#define ICON_FK_LIST_OL "\xef\x83\x8b"	// U+f0cb
+#define ICON_FK_STRIKETHROUGH "\xef\x83\x8c"	// U+f0cc
+#define ICON_FK_UNDERLINE "\xef\x83\x8d"	// U+f0cd
+#define ICON_FK_TABLE "\xef\x83\x8e"	// U+f0ce
+#define ICON_FK_MAGIC "\xef\x83\x90"	// U+f0d0
+#define ICON_FK_TRUCK "\xef\x83\x91"	// U+f0d1
+#define ICON_FK_PINTEREST "\xef\x83\x92"	// U+f0d2
+#define ICON_FK_PINTEREST_SQUARE "\xef\x83\x93"	// U+f0d3
+#define ICON_FK_GOOGLE_PLUS_SQUARE "\xef\x83\x94"	// U+f0d4
+#define ICON_FK_GOOGLE_PLUS "\xef\x83\x95"	// U+f0d5
+#define ICON_FK_MONEY "\xef\x83\x96"	// U+f0d6
+#define ICON_FK_CARET_DOWN "\xef\x83\x97"	// U+f0d7
+#define ICON_FK_CARET_UP "\xef\x83\x98"	// U+f0d8
+#define ICON_FK_CARET_LEFT "\xef\x83\x99"	// U+f0d9
+#define ICON_FK_CARET_RIGHT "\xef\x83\x9a"	// U+f0da
+#define ICON_FK_COLUMNS "\xef\x83\x9b"	// U+f0db
+#define ICON_FK_SORT "\xef\x83\x9c"	// U+f0dc
+#define ICON_FK_SORT_DESC "\xef\x83\x9d"	// U+f0dd
+#define ICON_FK_SORT_ASC "\xef\x83\x9e"	// U+f0de
+#define ICON_FK_ENVELOPE "\xef\x83\xa0"	// U+f0e0
+#define ICON_FK_LINKEDIN "\xef\x83\xa1"	// U+f0e1
+#define ICON_FK_UNDO "\xef\x83\xa2"	// U+f0e2
+#define ICON_FK_GAVEL "\xef\x83\xa3"	// U+f0e3
+#define ICON_FK_TACHOMETER "\xef\x83\xa4"	// U+f0e4
+#define ICON_FK_COMMENT_O "\xef\x83\xa5"	// U+f0e5
+#define ICON_FK_COMMENTS_O "\xef\x83\xa6"	// U+f0e6
+#define ICON_FK_BOLT "\xef\x83\xa7"	// U+f0e7
+#define ICON_FK_SITEMAP "\xef\x83\xa8"	// U+f0e8
+#define ICON_FK_UMBRELLA "\xef\x83\xa9"	// U+f0e9
+#define ICON_FK_CLIPBOARD "\xef\x83\xaa"	// U+f0ea
+#define ICON_FK_LIGHTBULB_O "\xef\x83\xab"	// U+f0eb
+#define ICON_FK_EXCHANGE "\xef\x83\xac"	// U+f0ec
+#define ICON_FK_CLOUD_DOWNLOAD "\xef\x83\xad"	// U+f0ed
+#define ICON_FK_CLOUD_UPLOAD "\xef\x83\xae"	// U+f0ee
+#define ICON_FK_USER_MD "\xef\x83\xb0"	// U+f0f0
+#define ICON_FK_STETHOSCOPE "\xef\x83\xb1"	// U+f0f1
+#define ICON_FK_SUITCASE "\xef\x83\xb2"	// U+f0f2
+#define ICON_FK_BELL "\xef\x82\xa2"	// U+f0a2
+#define ICON_FK_COFFEE "\xef\x83\xb4"	// U+f0f4
+#define ICON_FK_CUTLERY "\xef\x83\xb5"	// U+f0f5
+#define ICON_FK_FILE_TEXT_O "\xef\x83\xb6"	// U+f0f6
+#define ICON_FK_BUILDING_O "\xef\x83\xb7"	// U+f0f7
+#define ICON_FK_HOSPITAL_O "\xef\x83\xb8"	// U+f0f8
+#define ICON_FK_AMBULANCE "\xef\x83\xb9"	// U+f0f9
+#define ICON_FK_MEDKIT "\xef\x83\xba"	// U+f0fa
+#define ICON_FK_FIGHTER_JET "\xef\x83\xbb"	// U+f0fb
+#define ICON_FK_BEER "\xef\x83\xbc"	// U+f0fc
+#define ICON_FK_H_SQUARE "\xef\x83\xbd"	// U+f0fd
+#define ICON_FK_PLUS_SQUARE "\xef\x83\xbe"	// U+f0fe
+#define ICON_FK_ANGLE_DOUBLE_LEFT "\xef\x84\x80"	// U+f100
+#define ICON_FK_ANGLE_DOUBLE_RIGHT "\xef\x84\x81"	// U+f101
+#define ICON_FK_ANGLE_DOUBLE_UP "\xef\x84\x82"	// U+f102
+#define ICON_FK_ANGLE_DOUBLE_DOWN "\xef\x84\x83"	// U+f103
+#define ICON_FK_ANGLE_LEFT "\xef\x84\x84"	// U+f104
+#define ICON_FK_ANGLE_RIGHT "\xef\x84\x85"	// U+f105
+#define ICON_FK_ANGLE_UP "\xef\x84\x86"	// U+f106
+#define ICON_FK_ANGLE_DOWN "\xef\x84\x87"	// U+f107
+#define ICON_FK_DESKTOP "\xef\x84\x88"	// U+f108
+#define ICON_FK_LAPTOP "\xef\x84\x89"	// U+f109
+#define ICON_FK_TABLET "\xef\x84\x8a"	// U+f10a
+#define ICON_FK_MOBILE "\xef\x84\x8b"	// U+f10b
+#define ICON_FK_CIRCLE_O "\xef\x84\x8c"	// U+f10c
+#define ICON_FK_QUOTE_LEFT "\xef\x84\x8d"	// U+f10d
+#define ICON_FK_QUOTE_RIGHT "\xef\x84\x8e"	// U+f10e
+#define ICON_FK_SPINNER "\xef\x84\x90"	// U+f110
+#define ICON_FK_CIRCLE "\xef\x84\x91"	// U+f111
+#define ICON_FK_REPLY "\xef\x84\x92"	// U+f112
+#define ICON_FK_GITHUB_ALT "\xef\x84\x93"	// U+f113
+#define ICON_FK_FOLDER_O "\xef\x84\x94"	// U+f114
+#define ICON_FK_FOLDER_OPEN_O "\xef\x84\x95"	// U+f115
+#define ICON_FK_SMILE_O "\xef\x84\x98"	// U+f118
+#define ICON_FK_FROWN_O "\xef\x84\x99"	// U+f119
+#define ICON_FK_MEH_O "\xef\x84\x9a"	// U+f11a
+#define ICON_FK_GAMEPAD "\xef\x84\x9b"	// U+f11b
+#define ICON_FK_KEYBOARD_O "\xef\x84\x9c"	// U+f11c
+#define ICON_FK_FLAG_O "\xef\x84\x9d"	// U+f11d
+#define ICON_FK_FLAG_CHECKERED "\xef\x84\x9e"	// U+f11e
+#define ICON_FK_TERMINAL "\xef\x84\xa0"	// U+f120
+#define ICON_FK_CODE "\xef\x84\xa1"	// U+f121
+#define ICON_FK_REPLY_ALL "\xef\x84\xa2"	// U+f122
+#define ICON_FK_STAR_HALF_O "\xef\x84\xa3"	// U+f123
+#define ICON_FK_LOCATION_ARROW "\xef\x84\xa4"	// U+f124
+#define ICON_FK_CROP "\xef\x84\xa5"	// U+f125
+#define ICON_FK_CODE_FORK "\xef\x84\xa6"	// U+f126
+#define ICON_FK_CHAIN_BROKEN "\xef\x84\xa7"	// U+f127
+#define ICON_FK_QUESTION "\xef\x84\xa8"	// U+f128
+#define ICON_FK_INFO "\xef\x84\xa9"	// U+f129
+#define ICON_FK_EXCLAMATION "\xef\x84\xaa"	// U+f12a
+#define ICON_FK_SUPERSCRIPT "\xef\x84\xab"	// U+f12b
+#define ICON_FK_SUBSCRIPT "\xef\x84\xac"	// U+f12c
+#define ICON_FK_ERASER "\xef\x84\xad"	// U+f12d
+#define ICON_FK_PUZZLE_PIECE "\xef\x84\xae"	// U+f12e
+#define ICON_FK_MICROPHONE "\xef\x84\xb0"	// U+f130
+#define ICON_FK_MICROPHONE_SLASH "\xef\x84\xb1"	// U+f131
+#define ICON_FK_SHIELD "\xef\x84\xb2"	// U+f132
+#define ICON_FK_CALENDAR_O "\xef\x84\xb3"	// U+f133
+#define ICON_FK_FIRE_EXTINGUISHER "\xef\x84\xb4"	// U+f134
+#define ICON_FK_ROCKET "\xef\x84\xb5"	// U+f135
+#define ICON_FK_MAXCDN "\xef\x84\xb6"	// U+f136
+#define ICON_FK_CHEVRON_CIRCLE_LEFT "\xef\x84\xb7"	// U+f137
+#define ICON_FK_CHEVRON_CIRCLE_RIGHT "\xef\x84\xb8"	// U+f138
+#define ICON_FK_CHEVRON_CIRCLE_UP "\xef\x84\xb9"	// U+f139
+#define ICON_FK_CHEVRON_CIRCLE_DOWN "\xef\x84\xba"	// U+f13a
+#define ICON_FK_HTML5 "\xef\x84\xbb"	// U+f13b
+#define ICON_FK_CSS3 "\xef\x84\xbc"	// U+f13c
+#define ICON_FK_ANCHOR "\xef\x84\xbd"	// U+f13d
+#define ICON_FK_UNLOCK_ALT "\xef\x84\xbe"	// U+f13e
+#define ICON_FK_BULLSEYE "\xef\x85\x80"	// U+f140
+#define ICON_FK_ELLIPSIS_H "\xef\x85\x81"	// U+f141
+#define ICON_FK_ELLIPSIS_V "\xef\x85\x82"	// U+f142
+#define ICON_FK_RSS_SQUARE "\xef\x85\x83"	// U+f143
+#define ICON_FK_PLAY_CIRCLE "\xef\x85\x84"	// U+f144
+#define ICON_FK_TICKET "\xef\x85\x85"	// U+f145
+#define ICON_FK_MINUS_SQUARE "\xef\x85\x86"	// U+f146
+#define ICON_FK_MINUS_SQUARE_O "\xef\x85\x87"	// U+f147
+#define ICON_FK_LEVEL_UP "\xef\x85\x88"	// U+f148
+#define ICON_FK_LEVEL_DOWN "\xef\x85\x89"	// U+f149
+#define ICON_FK_CHECK_SQUARE "\xef\x85\x8a"	// U+f14a
+#define ICON_FK_PENCIL_SQUARE "\xef\x85\x8b"	// U+f14b
+#define ICON_FK_EXTERNAL_LINK_SQUARE "\xef\x85\x8c"	// U+f14c
+#define ICON_FK_SHARE_SQUARE "\xef\x85\x8d"	// U+f14d
+#define ICON_FK_COMPASS "\xef\x85\x8e"	// U+f14e
+#define ICON_FK_CARET_SQUARE_O_DOWN "\xef\x85\x90"	// U+f150
+#define ICON_FK_CARET_SQUARE_O_UP "\xef\x85\x91"	// U+f151
+#define ICON_FK_CARET_SQUARE_O_RIGHT "\xef\x85\x92"	// U+f152
+#define ICON_FK_EUR "\xef\x85\x93"	// U+f153
+#define ICON_FK_GBP "\xef\x85\x94"	// U+f154
+#define ICON_FK_USD "\xef\x85\x95"	// U+f155
+#define ICON_FK_INR "\xef\x85\x96"	// U+f156
+#define ICON_FK_JPY "\xef\x85\x97"	// U+f157
+#define ICON_FK_RUB "\xef\x85\x98"	// U+f158
+#define ICON_FK_KRW "\xef\x85\x99"	// U+f159
+#define ICON_FK_BTC "\xef\x85\x9a"	// U+f15a
+#define ICON_FK_FILE "\xef\x85\x9b"	// U+f15b
+#define ICON_FK_FILE_TEXT "\xef\x85\x9c"	// U+f15c
+#define ICON_FK_SORT_ALPHA_ASC "\xef\x85\x9d"	// U+f15d
+#define ICON_FK_SORT_ALPHA_DESC "\xef\x85\x9e"	// U+f15e
+#define ICON_FK_SORT_AMOUNT_ASC "\xef\x85\xa0"	// U+f160
+#define ICON_FK_SORT_AMOUNT_DESC "\xef\x85\xa1"	// U+f161
+#define ICON_FK_SORT_NUMERIC_ASC "\xef\x85\xa2"	// U+f162
+#define ICON_FK_SORT_NUMERIC_DESC "\xef\x85\xa3"	// U+f163
+#define ICON_FK_THUMBS_UP "\xef\x85\xa4"	// U+f164
+#define ICON_FK_THUMBS_DOWN "\xef\x85\xa5"	// U+f165
+#define ICON_FK_YOUTUBE_SQUARE "\xef\x85\xa6"	// U+f166
+#define ICON_FK_YOUTUBE "\xef\x85\xa7"	// U+f167
+#define ICON_FK_XING "\xef\x85\xa8"	// U+f168
+#define ICON_FK_XING_SQUARE "\xef\x85\xa9"	// U+f169
+#define ICON_FK_YOUTUBE_PLAY "\xef\x85\xaa"	// U+f16a
+#define ICON_FK_DROPBOX "\xef\x85\xab"	// U+f16b
+#define ICON_FK_STACK_OVERFLOW "\xef\x85\xac"	// U+f16c
+#define ICON_FK_INSTAGRAM "\xef\x85\xad"	// U+f16d
+#define ICON_FK_FLICKR "\xef\x85\xae"	// U+f16e
+#define ICON_FK_ADN "\xef\x85\xb0"	// U+f170
+#define ICON_FK_BITBUCKET "\xef\x85\xb1"	// U+f171
+#define ICON_FK_BITBUCKET_SQUARE "\xef\x85\xb2"	// U+f172
+#define ICON_FK_TUMBLR "\xef\x85\xb3"	// U+f173
+#define ICON_FK_TUMBLR_SQUARE "\xef\x85\xb4"	// U+f174
+#define ICON_FK_LONG_ARROW_DOWN "\xef\x85\xb5"	// U+f175
+#define ICON_FK_LONG_ARROW_UP "\xef\x85\xb6"	// U+f176
+#define ICON_FK_LONG_ARROW_LEFT "\xef\x85\xb7"	// U+f177
+#define ICON_FK_LONG_ARROW_RIGHT "\xef\x85\xb8"	// U+f178
+#define ICON_FK_APPLE "\xef\x85\xb9"	// U+f179
+#define ICON_FK_WINDOWS "\xef\x85\xba"	// U+f17a
+#define ICON_FK_ANDROID "\xef\x85\xbb"	// U+f17b
+#define ICON_FK_LINUX "\xef\x85\xbc"	// U+f17c
+#define ICON_FK_DRIBBBLE "\xef\x85\xbd"	// U+f17d
+#define ICON_FK_SKYPE "\xef\x85\xbe"	// U+f17e
+#define ICON_FK_FOURSQUARE "\xef\x86\x80"	// U+f180
+#define ICON_FK_TRELLO "\xef\x86\x81"	// U+f181
+#define ICON_FK_FEMALE "\xef\x86\x82"	// U+f182
+#define ICON_FK_MALE "\xef\x86\x83"	// U+f183
+#define ICON_FK_GRATIPAY "\xef\x86\x84"	// U+f184
+#define ICON_FK_SUN_O "\xef\x86\x85"	// U+f185
+#define ICON_FK_MOON_O "\xef\x86\x86"	// U+f186
+#define ICON_FK_ARCHIVE "\xef\x86\x87"	// U+f187
+#define ICON_FK_BUG "\xef\x86\x88"	// U+f188
+#define ICON_FK_VK "\xef\x86\x89"	// U+f189
+#define ICON_FK_WEIBO "\xef\x86\x8a"	// U+f18a
+#define ICON_FK_RENREN "\xef\x86\x8b"	// U+f18b
+#define ICON_FK_PAGELINES "\xef\x86\x8c"	// U+f18c
+#define ICON_FK_STACK_EXCHANGE "\xef\x86\x8d"	// U+f18d
+#define ICON_FK_ARROW_CIRCLE_O_RIGHT "\xef\x86\x8e"	// U+f18e
+#define ICON_FK_ARROW_CIRCLE_O_LEFT "\xef\x86\x90"	// U+f190
+#define ICON_FK_CARET_SQUARE_O_LEFT "\xef\x86\x91"	// U+f191
+#define ICON_FK_DOT_CIRCLE_O "\xef\x86\x92"	// U+f192
+#define ICON_FK_WHEELCHAIR "\xef\x86\x93"	// U+f193
+#define ICON_FK_VIMEO_SQUARE "\xef\x86\x94"	// U+f194
+#define ICON_FK_TRY "\xef\x86\x95"	// U+f195
+#define ICON_FK_PLUS_SQUARE_O "\xef\x86\x96"	// U+f196
+#define ICON_FK_SPACE_SHUTTLE "\xef\x86\x97"	// U+f197
+#define ICON_FK_SLACK "\xef\x86\x98"	// U+f198
+#define ICON_FK_ENVELOPE_SQUARE "\xef\x86\x99"	// U+f199
+#define ICON_FK_WORDPRESS "\xef\x86\x9a"	// U+f19a
+#define ICON_FK_OPENID "\xef\x86\x9b"	// U+f19b
+#define ICON_FK_UNIVERSITY "\xef\x86\x9c"	// U+f19c
+#define ICON_FK_GRADUATION_CAP "\xef\x86\x9d"	// U+f19d
+#define ICON_FK_YAHOO "\xef\x86\x9e"	// U+f19e
+#define ICON_FK_GOOGLE "\xef\x86\xa0"	// U+f1a0
+#define ICON_FK_REDDIT "\xef\x86\xa1"	// U+f1a1
+#define ICON_FK_REDDIT_SQUARE "\xef\x86\xa2"	// U+f1a2
+#define ICON_FK_STUMBLEUPON_CIRCLE "\xef\x86\xa3"	// U+f1a3
+#define ICON_FK_STUMBLEUPON "\xef\x86\xa4"	// U+f1a4
+#define ICON_FK_DELICIOUS "\xef\x86\xa5"	// U+f1a5
+#define ICON_FK_DIGG "\xef\x86\xa6"	// U+f1a6
+#define ICON_FK_DRUPAL "\xef\x86\xa9"	// U+f1a9
+#define ICON_FK_JOOMLA "\xef\x86\xaa"	// U+f1aa
+#define ICON_FK_LANGUAGE "\xef\x86\xab"	// U+f1ab
+#define ICON_FK_FAX "\xef\x86\xac"	// U+f1ac
+#define ICON_FK_BUILDING "\xef\x86\xad"	// U+f1ad
+#define ICON_FK_CHILD "\xef\x86\xae"	// U+f1ae
+#define ICON_FK_PAW "\xef\x86\xb0"	// U+f1b0
+#define ICON_FK_SPOON "\xef\x86\xb1"	// U+f1b1
+#define ICON_FK_CUBE "\xef\x86\xb2"	// U+f1b2
+#define ICON_FK_CUBES "\xef\x86\xb3"	// U+f1b3
+#define ICON_FK_BEHANCE "\xef\x86\xb4"	// U+f1b4
+#define ICON_FK_BEHANCE_SQUARE "\xef\x86\xb5"	// U+f1b5
+#define ICON_FK_STEAM "\xef\x86\xb6"	// U+f1b6
+#define ICON_FK_STEAM_SQUARE "\xef\x86\xb7"	// U+f1b7
+#define ICON_FK_RECYCLE "\xef\x86\xb8"	// U+f1b8
+#define ICON_FK_CAR "\xef\x86\xb9"	// U+f1b9
+#define ICON_FK_TAXI "\xef\x86\xba"	// U+f1ba
+#define ICON_FK_TREE "\xef\x86\xbb"	// U+f1bb
+#define ICON_FK_SPOTIFY "\xef\x86\xbc"	// U+f1bc
+#define ICON_FK_DEVIANTART "\xef\x86\xbd"	// U+f1bd
+#define ICON_FK_SOUNDCLOUD "\xef\x86\xbe"	// U+f1be
+#define ICON_FK_DATABASE "\xef\x87\x80"	// U+f1c0
+#define ICON_FK_FILE_PDF_O "\xef\x87\x81"	// U+f1c1
+#define ICON_FK_FILE_WORD_O "\xef\x87\x82"	// U+f1c2
+#define ICON_FK_FILE_EXCEL_O "\xef\x87\x83"	// U+f1c3
+#define ICON_FK_FILE_POWERPOINT_O "\xef\x87\x84"	// U+f1c4
+#define ICON_FK_FILE_IMAGE_O "\xef\x87\x85"	// U+f1c5
+#define ICON_FK_FILE_ARCHIVE_O "\xef\x87\x86"	// U+f1c6
+#define ICON_FK_FILE_AUDIO_O "\xef\x87\x87"	// U+f1c7
+#define ICON_FK_FILE_VIDEO_O "\xef\x87\x88"	// U+f1c8
+#define ICON_FK_FILE_CODE_O "\xef\x87\x89"	// U+f1c9
+#define ICON_FK_VINE "\xef\x87\x8a"	// U+f1ca
+#define ICON_FK_CODEPEN "\xef\x87\x8b"	// U+f1cb
+#define ICON_FK_JSFIDDLE "\xef\x87\x8c"	// U+f1cc
+#define ICON_FK_LIFE_RING "\xef\x87\x8d"	// U+f1cd
+#define ICON_FK_CIRCLE_O_NOTCH "\xef\x87\x8e"	// U+f1ce
+#define ICON_FK_REBEL "\xef\x87\x90"	// U+f1d0
+#define ICON_FK_EMPIRE "\xef\x87\x91"	// U+f1d1
+#define ICON_FK_GIT_SQUARE "\xef\x87\x92"	// U+f1d2
+#define ICON_FK_GIT "\xef\x87\x93"	// U+f1d3
+#define ICON_FK_HACKER_NEWS "\xef\x87\x94"	// U+f1d4
+#define ICON_FK_TENCENT_WEIBO "\xef\x87\x95"	// U+f1d5
+#define ICON_FK_QQ "\xef\x87\x96"	// U+f1d6
+#define ICON_FK_WEIXIN "\xef\x87\x97"	// U+f1d7
+#define ICON_FK_PAPER_PLANE "\xef\x87\x98"	// U+f1d8
+#define ICON_FK_PAPER_PLANE_O "\xef\x87\x99"	// U+f1d9
+#define ICON_FK_HISTORY "\xef\x87\x9a"	// U+f1da
+#define ICON_FK_CIRCLE_THIN "\xef\x87\x9b"	// U+f1db
+#define ICON_FK_HEADER "\xef\x87\x9c"	// U+f1dc
+#define ICON_FK_PARAGRAPH "\xef\x87\x9d"	// U+f1dd
+#define ICON_FK_SLIDERS "\xef\x87\x9e"	// U+f1de
+#define ICON_FK_SHARE_ALT "\xef\x87\xa0"	// U+f1e0
+#define ICON_FK_SHARE_ALT_SQUARE "\xef\x87\xa1"	// U+f1e1
+#define ICON_FK_BOMB "\xef\x87\xa2"	// U+f1e2
+#define ICON_FK_FUTBOL_O "\xef\x87\xa3"	// U+f1e3
+#define ICON_FK_TTY "\xef\x87\xa4"	// U+f1e4
+#define ICON_FK_BINOCULARS "\xef\x87\xa5"	// U+f1e5
+#define ICON_FK_PLUG "\xef\x87\xa6"	// U+f1e6
+#define ICON_FK_SLIDESHARE "\xef\x87\xa7"	// U+f1e7
+#define ICON_FK_TWITCH "\xef\x87\xa8"	// U+f1e8
+#define ICON_FK_YELP "\xef\x87\xa9"	// U+f1e9
+#define ICON_FK_NEWSPAPER_O "\xef\x87\xaa"	// U+f1ea
+#define ICON_FK_WIFI "\xef\x87\xab"	// U+f1eb
+#define ICON_FK_CALCULATOR "\xef\x87\xac"	// U+f1ec
+#define ICON_FK_PAYPAL "\xef\x87\xad"	// U+f1ed
+#define ICON_FK_GOOGLE_WALLET "\xef\x87\xae"	// U+f1ee
+#define ICON_FK_CC_VISA "\xef\x87\xb0"	// U+f1f0
+#define ICON_FK_CC_MASTERCARD "\xef\x87\xb1"	// U+f1f1
+#define ICON_FK_CC_DISCOVER "\xef\x87\xb2"	// U+f1f2
+#define ICON_FK_CC_AMEX "\xef\x87\xb3"	// U+f1f3
+#define ICON_FK_CC_PAYPAL "\xef\x87\xb4"	// U+f1f4
+#define ICON_FK_CC_STRIPE "\xef\x87\xb5"	// U+f1f5
+#define ICON_FK_BELL_SLASH "\xef\x87\xb6"	// U+f1f6
+#define ICON_FK_BELL_SLASH_O "\xef\x87\xb7"	// U+f1f7
+#define ICON_FK_TRASH "\xef\x87\xb8"	// U+f1f8
+#define ICON_FK_COPYRIGHT "\xef\x87\xb9"	// U+f1f9
+#define ICON_FK_AT "\xef\x87\xba"	// U+f1fa
+#define ICON_FK_EYEDROPPER "\xef\x87\xbb"	// U+f1fb
+#define ICON_FK_PAINT_BRUSH "\xef\x87\xbc"	// U+f1fc
+#define ICON_FK_BIRTHDAY_CAKE "\xef\x87\xbd"	// U+f1fd
+#define ICON_FK_AREA_CHART "\xef\x87\xbe"	// U+f1fe
+#define ICON_FK_PIE_CHART "\xef\x88\x80"	// U+f200
+#define ICON_FK_LINE_CHART "\xef\x88\x81"	// U+f201
+#define ICON_FK_LASTFM "\xef\x88\x82"	// U+f202
+#define ICON_FK_LASTFM_SQUARE "\xef\x88\x83"	// U+f203
+#define ICON_FK_TOGGLE_OFF "\xef\x88\x84"	// U+f204
+#define ICON_FK_TOGGLE_ON "\xef\x88\x85"	// U+f205
+#define ICON_FK_BICYCLE "\xef\x88\x86"	// U+f206
+#define ICON_FK_BUS "\xef\x88\x87"	// U+f207
+#define ICON_FK_IOXHOST "\xef\x88\x88"	// U+f208
+#define ICON_FK_ANGELLIST "\xef\x88\x89"	// U+f209
+#define ICON_FK_CC "\xef\x88\x8a"	// U+f20a
+#define ICON_FK_ILS "\xef\x88\x8b"	// U+f20b
+#define ICON_FK_MEANPATH "\xef\x88\x8c"	// U+f20c
+#define ICON_FK_BUYSELLADS "\xef\x88\x8d"	// U+f20d
+#define ICON_FK_CONNECTDEVELOP "\xef\x88\x8e"	// U+f20e
+#define ICON_FK_DASHCUBE "\xef\x88\x90"	// U+f210
+#define ICON_FK_FORUMBEE "\xef\x88\x91"	// U+f211
+#define ICON_FK_LEANPUB "\xef\x88\x92"	// U+f212
+#define ICON_FK_SELLSY "\xef\x88\x93"	// U+f213
+#define ICON_FK_SHIRTSINBULK "\xef\x88\x94"	// U+f214
+#define ICON_FK_SIMPLYBUILT "\xef\x88\x95"	// U+f215
+#define ICON_FK_SKYATLAS "\xef\x88\x96"	// U+f216
+#define ICON_FK_CART_PLUS "\xef\x88\x97"	// U+f217
+#define ICON_FK_CART_ARROW_DOWN "\xef\x88\x98"	// U+f218
+#define ICON_FK_DIAMOND "\xef\x88\x99"	// U+f219
+#define ICON_FK_SHIP "\xef\x88\x9a"	// U+f21a
+#define ICON_FK_USER_SECRET "\xef\x88\x9b"	// U+f21b
+#define ICON_FK_MOTORCYCLE "\xef\x88\x9c"	// U+f21c
+#define ICON_FK_STREET_VIEW "\xef\x88\x9d"	// U+f21d
+#define ICON_FK_HEARTBEAT "\xef\x88\x9e"	// U+f21e
+#define ICON_FK_VENUS "\xef\x88\xa1"	// U+f221
+#define ICON_FK_MARS "\xef\x88\xa2"	// U+f222
+#define ICON_FK_MERCURY "\xef\x88\xa3"	// U+f223
+#define ICON_FK_TRANSGENDER "\xef\x88\xa4"	// U+f224
+#define ICON_FK_TRANSGENDER_ALT "\xef\x88\xa5"	// U+f225
+#define ICON_FK_VENUS_DOUBLE "\xef\x88\xa6"	// U+f226
+#define ICON_FK_MARS_DOUBLE "\xef\x88\xa7"	// U+f227
+#define ICON_FK_VENUS_MARS "\xef\x88\xa8"	// U+f228
+#define ICON_FK_MARS_STROKE "\xef\x88\xa9"	// U+f229
+#define ICON_FK_MARS_STROKE_V "\xef\x88\xaa"	// U+f22a
+#define ICON_FK_MARS_STROKE_H "\xef\x88\xab"	// U+f22b
+#define ICON_FK_NEUTER "\xef\x88\xac"	// U+f22c
+#define ICON_FK_GENDERLESS "\xef\x88\xad"	// U+f22d
+#define ICON_FK_FACEBOOK_OFFICIAL "\xef\x88\xb0"	// U+f230
+#define ICON_FK_PINTEREST_P "\xef\x88\xb1"	// U+f231
+#define ICON_FK_WHATSAPP "\xef\x88\xb2"	// U+f232
+#define ICON_FK_SERVER "\xef\x88\xb3"	// U+f233
+#define ICON_FK_USER_PLUS "\xef\x88\xb4"	// U+f234
+#define ICON_FK_USER_TIMES "\xef\x88\xb5"	// U+f235
+#define ICON_FK_BED "\xef\x88\xb6"	// U+f236
+#define ICON_FK_VIACOIN "\xef\x88\xb7"	// U+f237
+#define ICON_FK_TRAIN "\xef\x88\xb8"	// U+f238
+#define ICON_FK_SUBWAY "\xef\x88\xb9"	// U+f239
+#define ICON_FK_MEDIUM "\xef\x88\xba"	// U+f23a
+#define ICON_FK_MEDIUM_SQUARE "\xef\x8b\xb8"	// U+f2f8
+#define ICON_FK_Y_COMBINATOR "\xef\x88\xbb"	// U+f23b
+#define ICON_FK_OPTIN_MONSTER "\xef\x88\xbc"	// U+f23c
+#define ICON_FK_OPENCART "\xef\x88\xbd"	// U+f23d
+#define ICON_FK_EXPEDITEDSSL "\xef\x88\xbe"	// U+f23e
+#define ICON_FK_BATTERY_FULL "\xef\x89\x80"	// U+f240
+#define ICON_FK_BATTERY_THREE_QUARTERS "\xef\x89\x81"	// U+f241
+#define ICON_FK_BATTERY_HALF "\xef\x89\x82"	// U+f242
+#define ICON_FK_BATTERY_QUARTER "\xef\x89\x83"	// U+f243
+#define ICON_FK_BATTERY_EMPTY "\xef\x89\x84"	// U+f244
+#define ICON_FK_MOUSE_POINTER "\xef\x89\x85"	// U+f245
+#define ICON_FK_I_CURSOR "\xef\x89\x86"	// U+f246
+#define ICON_FK_OBJECT_GROUP "\xef\x89\x87"	// U+f247
+#define ICON_FK_OBJECT_UNGROUP "\xef\x89\x88"	// U+f248
+#define ICON_FK_STICKY_NOTE "\xef\x89\x89"	// U+f249
+#define ICON_FK_STICKY_NOTE_O "\xef\x89\x8a"	// U+f24a
+#define ICON_FK_CC_JCB "\xef\x89\x8b"	// U+f24b
+#define ICON_FK_CC_DINERS_CLUB "\xef\x89\x8c"	// U+f24c
+#define ICON_FK_CLONE "\xef\x89\x8d"	// U+f24d
+#define ICON_FK_BALANCE_SCALE "\xef\x89\x8e"	// U+f24e
+#define ICON_FK_HOURGLASS_O "\xef\x89\x90"	// U+f250
+#define ICON_FK_HOURGLASS_START "\xef\x89\x91"	// U+f251
+#define ICON_FK_HOURGLASS_HALF "\xef\x89\x92"	// U+f252
+#define ICON_FK_HOURGLASS_END "\xef\x89\x93"	// U+f253
+#define ICON_FK_HOURGLASS "\xef\x89\x94"	// U+f254
+#define ICON_FK_HAND_ROCK_O "\xef\x89\x95"	// U+f255
+#define ICON_FK_HAND_PAPER_O "\xef\x89\x96"	// U+f256
+#define ICON_FK_HAND_SCISSORS_O "\xef\x89\x97"	// U+f257
+#define ICON_FK_HAND_LIZARD_O "\xef\x89\x98"	// U+f258
+#define ICON_FK_HAND_SPOCK_O "\xef\x89\x99"	// U+f259
+#define ICON_FK_HAND_POINTER_O "\xef\x89\x9a"	// U+f25a
+#define ICON_FK_HAND_PEACE_O "\xef\x89\x9b"	// U+f25b
+#define ICON_FK_TRADEMARK "\xef\x89\x9c"	// U+f25c
+#define ICON_FK_REGISTERED "\xef\x89\x9d"	// U+f25d
+#define ICON_FK_CREATIVE_COMMONS "\xef\x89\x9e"	// U+f25e
+#define ICON_FK_GG "\xef\x89\xa0"	// U+f260
+#define ICON_FK_GG_CIRCLE "\xef\x89\xa1"	// U+f261
+#define ICON_FK_TRIPADVISOR "\xef\x89\xa2"	// U+f262
+#define ICON_FK_ODNOKLASSNIKI "\xef\x89\xa3"	// U+f263
+#define ICON_FK_ODNOKLASSNIKI_SQUARE "\xef\x89\xa4"	// U+f264
+#define ICON_FK_GET_POCKET "\xef\x89\xa5"	// U+f265
+#define ICON_FK_WIKIPEDIA_W "\xef\x89\xa6"	// U+f266
+#define ICON_FK_SAFARI "\xef\x89\xa7"	// U+f267
+#define ICON_FK_CHROME "\xef\x89\xa8"	// U+f268
+#define ICON_FK_FIREFOX "\xef\x89\xa9"	// U+f269
+#define ICON_FK_OPERA "\xef\x89\xaa"	// U+f26a
+#define ICON_FK_INTERNET_EXPLORER "\xef\x89\xab"	// U+f26b
+#define ICON_FK_TELEVISION "\xef\x89\xac"	// U+f26c
+#define ICON_FK_CONTAO "\xef\x89\xad"	// U+f26d
+#define ICON_FK_500PX "\xef\x89\xae"	// U+f26e
+#define ICON_FK_AMAZON "\xef\x89\xb0"	// U+f270
+#define ICON_FK_CALENDAR_PLUS_O "\xef\x89\xb1"	// U+f271
+#define ICON_FK_CALENDAR_MINUS_O "\xef\x89\xb2"	// U+f272
+#define ICON_FK_CALENDAR_TIMES_O "\xef\x89\xb3"	// U+f273
+#define ICON_FK_CALENDAR_CHECK_O "\xef\x89\xb4"	// U+f274
+#define ICON_FK_INDUSTRY "\xef\x89\xb5"	// U+f275
+#define ICON_FK_MAP_PIN "\xef\x89\xb6"	// U+f276
+#define ICON_FK_MAP_SIGNS "\xef\x89\xb7"	// U+f277
+#define ICON_FK_MAP_O "\xef\x89\xb8"	// U+f278
+#define ICON_FK_MAP "\xef\x89\xb9"	// U+f279
+#define ICON_FK_COMMENTING "\xef\x89\xba"	// U+f27a
+#define ICON_FK_COMMENTING_O "\xef\x89\xbb"	// U+f27b
+#define ICON_FK_HOUZZ "\xef\x89\xbc"	// U+f27c
+#define ICON_FK_VIMEO "\xef\x89\xbd"	// U+f27d
+#define ICON_FK_BLACK_TIE "\xef\x89\xbe"	// U+f27e
+#define ICON_FK_FONTICONS "\xef\x8a\x80"	// U+f280
+#define ICON_FK_REDDIT_ALIEN "\xef\x8a\x81"	// U+f281
+#define ICON_FK_EDGE "\xef\x8a\x82"	// U+f282
+#define ICON_FK_CREDIT_CARD_ALT "\xef\x8a\x83"	// U+f283
+#define ICON_FK_CODIEPIE "\xef\x8a\x84"	// U+f284
+#define ICON_FK_MODX "\xef\x8a\x85"	// U+f285
+#define ICON_FK_FORT_AWESOME "\xef\x8a\x86"	// U+f286
+#define ICON_FK_USB "\xef\x8a\x87"	// U+f287
+#define ICON_FK_PRODUCT_HUNT "\xef\x8a\x88"	// U+f288
+#define ICON_FK_MIXCLOUD "\xef\x8a\x89"	// U+f289
+#define ICON_FK_SCRIBD "\xef\x8a\x8a"	// U+f28a
+#define ICON_FK_PAUSE_CIRCLE "\xef\x8a\x8b"	// U+f28b
+#define ICON_FK_PAUSE_CIRCLE_O "\xef\x8a\x8c"	// U+f28c
+#define ICON_FK_STOP_CIRCLE "\xef\x8a\x8d"	// U+f28d
+#define ICON_FK_STOP_CIRCLE_O "\xef\x8a\x8e"	// U+f28e
+#define ICON_FK_SHOPPING_BAG "\xef\x8a\x90"	// U+f290
+#define ICON_FK_SHOPPING_BASKET "\xef\x8a\x91"	// U+f291
+#define ICON_FK_HASHTAG "\xef\x8a\x92"	// U+f292
+#define ICON_FK_BLUETOOTH "\xef\x8a\x93"	// U+f293
+#define ICON_FK_BLUETOOTH_B "\xef\x8a\x94"	// U+f294
+#define ICON_FK_PERCENT "\xef\x8a\x95"	// U+f295
+#define ICON_FK_GITLAB "\xef\x8a\x96"	// U+f296
+#define ICON_FK_WPBEGINNER "\xef\x8a\x97"	// U+f297
+#define ICON_FK_WPFORMS "\xef\x8a\x98"	// U+f298
+#define ICON_FK_ENVIRA "\xef\x8a\x99"	// U+f299
+#define ICON_FK_UNIVERSAL_ACCESS "\xef\x8a\x9a"	// U+f29a
+#define ICON_FK_WHEELCHAIR_ALT "\xef\x8a\x9b"	// U+f29b
+#define ICON_FK_QUESTION_CIRCLE_O "\xef\x8a\x9c"	// U+f29c
+#define ICON_FK_BLIND "\xef\x8a\x9d"	// U+f29d
+#define ICON_FK_AUDIO_DESCRIPTION "\xef\x8a\x9e"	// U+f29e
+#define ICON_FK_VOLUME_CONTROL_PHONE "\xef\x8a\xa0"	// U+f2a0
+#define ICON_FK_BRAILLE "\xef\x8a\xa1"	// U+f2a1
+#define ICON_FK_ASSISTIVE_LISTENING_SYSTEMS "\xef\x8a\xa2"	// U+f2a2
+#define ICON_FK_AMERICAN_SIGN_LANGUAGE_INTERPRETING "\xef\x8a\xa3"	// U+f2a3
+#define ICON_FK_DEAF "\xef\x8a\xa4"	// U+f2a4
+#define ICON_FK_GLIDE "\xef\x8a\xa5"	// U+f2a5
+#define ICON_FK_GLIDE_G "\xef\x8a\xa6"	// U+f2a6
+#define ICON_FK_SIGN_LANGUAGE "\xef\x8a\xa7"	// U+f2a7
+#define ICON_FK_LOW_VISION "\xef\x8a\xa8"	// U+f2a8
+#define ICON_FK_VIADEO "\xef\x8a\xa9"	// U+f2a9
+#define ICON_FK_VIADEO_SQUARE "\xef\x8a\xaa"	// U+f2aa
+#define ICON_FK_SNAPCHAT "\xef\x8a\xab"	// U+f2ab
+#define ICON_FK_SNAPCHAT_GHOST "\xef\x8a\xac"	// U+f2ac
+#define ICON_FK_SNAPCHAT_SQUARE "\xef\x8a\xad"	// U+f2ad
+#define ICON_FK_FIRST_ORDER "\xef\x8a\xb0"	// U+f2b0
+#define ICON_FK_YOAST "\xef\x8a\xb1"	// U+f2b1
+#define ICON_FK_THEMEISLE "\xef\x8a\xb2"	// U+f2b2
+#define ICON_FK_GOOGLE_PLUS_OFFICIAL "\xef\x8a\xb3"	// U+f2b3
+#define ICON_FK_FONT_AWESOME "\xef\x8a\xb4"	// U+f2b4
+#define ICON_FK_HANDSHAKE_O "\xef\x8a\xb5"	// U+f2b5
+#define ICON_FK_ENVELOPE_OPEN "\xef\x8a\xb6"	// U+f2b6
+#define ICON_FK_ENVELOPE_OPEN_O "\xef\x8a\xb7"	// U+f2b7
+#define ICON_FK_LINODE "\xef\x8a\xb8"	// U+f2b8
+#define ICON_FK_ADDRESS_BOOK "\xef\x8a\xb9"	// U+f2b9
+#define ICON_FK_ADDRESS_BOOK_O "\xef\x8a\xba"	// U+f2ba
+#define ICON_FK_ADDRESS_CARD "\xef\x8a\xbb"	// U+f2bb
+#define ICON_FK_ADDRESS_CARD_O "\xef\x8a\xbc"	// U+f2bc
+#define ICON_FK_USER_CIRCLE "\xef\x8a\xbd"	// U+f2bd
+#define ICON_FK_USER_CIRCLE_O "\xef\x8a\xbe"	// U+f2be
+#define ICON_FK_USER_O "\xef\x8b\x80"	// U+f2c0
+#define ICON_FK_ID_BADGE "\xef\x8b\x81"	// U+f2c1
+#define ICON_FK_ID_CARD "\xef\x8b\x82"	// U+f2c2
+#define ICON_FK_ID_CARD_O "\xef\x8b\x83"	// U+f2c3
+#define ICON_FK_QUORA "\xef\x8b\x84"	// U+f2c4
+#define ICON_FK_FREE_CODE_CAMP "\xef\x8b\x85"	// U+f2c5
+#define ICON_FK_TELEGRAM "\xef\x8b\x86"	// U+f2c6
+#define ICON_FK_THERMOMETER_FULL "\xef\x8b\x87"	// U+f2c7
+#define ICON_FK_THERMOMETER_THREE_QUARTERS "\xef\x8b\x88"	// U+f2c8
+#define ICON_FK_THERMOMETER_HALF "\xef\x8b\x89"	// U+f2c9
+#define ICON_FK_THERMOMETER_QUARTER "\xef\x8b\x8a"	// U+f2ca
+#define ICON_FK_THERMOMETER_EMPTY "\xef\x8b\x8b"	// U+f2cb
+#define ICON_FK_SHOWER "\xef\x8b\x8c"	// U+f2cc
+#define ICON_FK_BATH "\xef\x8b\x8d"	// U+f2cd
+#define ICON_FK_PODCAST "\xef\x8b\x8e"	// U+f2ce
+#define ICON_FK_WINDOW_MAXIMIZE "\xef\x8b\x90"	// U+f2d0
+#define ICON_FK_WINDOW_MINIMIZE "\xef\x8b\x91"	// U+f2d1
+#define ICON_FK_WINDOW_RESTORE "\xef\x8b\x92"	// U+f2d2
+#define ICON_FK_WINDOW_CLOSE "\xef\x8b\x93"	// U+f2d3
+#define ICON_FK_WINDOW_CLOSE_O "\xef\x8b\x94"	// U+f2d4
+#define ICON_FK_BANDCAMP "\xef\x8b\x95"	// U+f2d5
+#define ICON_FK_GRAV "\xef\x8b\x96"	// U+f2d6
+#define ICON_FK_ETSY "\xef\x8b\x97"	// U+f2d7
+#define ICON_FK_IMDB "\xef\x8b\x98"	// U+f2d8
+#define ICON_FK_RAVELRY "\xef\x8b\x99"	// U+f2d9
+#define ICON_FK_EERCAST "\xef\x8b\x9a"	// U+f2da
+#define ICON_FK_MICROCHIP "\xef\x8b\x9b"	// U+f2db
+#define ICON_FK_SNOWFLAKE_O "\xef\x8b\x9c"	// U+f2dc
+#define ICON_FK_SUPERPOWERS "\xef\x8b\x9d"	// U+f2dd
+#define ICON_FK_WPEXPLORER "\xef\x8b\x9e"	// U+f2de
+#define ICON_FK_MEETUP "\xef\x8b\xa0"	// U+f2e0
+#define ICON_FK_MASTODON "\xef\x8b\xa1"	// U+f2e1
+#define ICON_FK_MASTODON_ALT "\xef\x8b\xa2"	// U+f2e2
+#define ICON_FK_FORK_AWESOME "\xef\x8b\xa3"	// U+f2e3
+#define ICON_FK_PEERTUBE "\xef\x8b\xa4"	// U+f2e4
+#define ICON_FK_DIASPORA "\xef\x8b\xa5"	// U+f2e5
+#define ICON_FK_FRIENDICA "\xef\x8b\xa6"	// U+f2e6
+#define ICON_FK_GNU_SOCIAL "\xef\x8b\xa7"	// U+f2e7
+#define ICON_FK_LIBERAPAY_SQUARE "\xef\x8b\xa8"	// U+f2e8
+#define ICON_FK_LIBERAPAY "\xef\x8b\xa9"	// U+f2e9
+#define ICON_FK_SCUTTLEBUTT "\xef\x8b\xaa"	// U+f2ea
+#define ICON_FK_HUBZILLA "\xef\x8b\xab"	// U+f2eb
+#define ICON_FK_SOCIAL_HOME "\xef\x8b\xac"	// U+f2ec
+#define ICON_FK_ARTSTATION "\xef\x8b\xad"	// U+f2ed
+#define ICON_FK_DISCORD "\xef\x8b\xae"	// U+f2ee
+#define ICON_FK_DISCORD_ALT "\xef\x8b\xaf"	// U+f2ef
+#define ICON_FK_PATREON "\xef\x8b\xb0"	// U+f2f0
+#define ICON_FK_SNOWDRIFT "\xef\x8b\xb1"	// U+f2f1
+#define ICON_FK_ACTIVITYPUB "\xef\x8b\xb2"	// U+f2f2
+#define ICON_FK_ETHEREUM "\xef\x8b\xb3"	// U+f2f3
+#define ICON_FK_KEYBASE "\xef\x8b\xb4"	// U+f2f4
+#define ICON_FK_SHAARLI "\xef\x8b\xb5"	// U+f2f5
+#define ICON_FK_SHAARLI_O "\xef\x8b\xb6"	// U+f2f6
+#define ICON_FK_KEY_MODERN "\xef\x8b\xb7"	// U+f2f7
+#define ICON_FK_XMPP "\xef\x8b\xb9"	// U+f2f9
+#define ICON_FK_ARCHIVE_ORG "\xef\x8b\xbc"	// U+f2fc
+#define ICON_FK_FREEDOMBOX "\xef\x8b\xbd"	// U+f2fd
+#define ICON_FK_FACEBOOK_MESSENGER "\xef\x8b\xbe"	// U+f2fe
+#define ICON_FK_DEBIAN "\xef\x8b\xbf"	// U+f2ff
+#define ICON_FK_MASTODON_SQUARE "\xef\x8c\x80"	// U+f300
+#define ICON_FK_TIPEEE "\xef\x8c\x81"	// U+f301
+#define ICON_FK_REACT "\xef\x8c\x82"	// U+f302
+#define ICON_FK_DOGMAZIC "\xef\x8c\x83"	// U+f303
+#define ICON_FK_ZOTERO "\xef\x8c\x89"	// U+f309
+#define ICON_FK_NODEJS "\xef\x8c\x88"	// U+f308
+#define ICON_FK_NEXTCLOUD "\xef\x8c\x86"	// U+f306
+#define ICON_FK_NEXTCLOUD_SQUARE "\xef\x8c\x87"	// U+f307
+#define ICON_FK_HACKADAY "\xef\x8c\x8a"	// U+f30a
+#define ICON_FK_LARAVEL "\xef\x8c\x8b"	// U+f30b
+#define ICON_FK_SIGNALAPP "\xef\x8c\x8c"	// U+f30c
+#define ICON_FK_GNUPG "\xef\x8c\x8d"	// U+f30d
+#define ICON_FK_PHP "\xef\x8c\x8e"	// U+f30e
+#define ICON_FK_FFMPEG "\xef\x8c\x8f"	// U+f30f
+#define ICON_FK_JOPLIN "\xef\x8c\x90"	// U+f310
+#define ICON_FK_SYNCTHING "\xef\x8c\x91"	// U+f311
+#define ICON_FK_INKSCAPE "\xef\x8c\x92"	// U+f312
+#define ICON_FK_MATRIX_ORG "\xef\x8c\x93"	// U+f313
+#define ICON_FK_PIXELFED "\xef\x8c\x94"	// U+f314
+#define ICON_FK_BOOTSTRAP "\xef\x8c\x95"	// U+f315
+#define ICON_FK_DEV_TO "\xef\x8c\x96"	// U+f316
+#define ICON_FK_HASHNODE "\xef\x8c\x97"	// U+f317
+#define ICON_FK_JIRAFEAU "\xef\x8c\x98"	// U+f318
+#define ICON_FK_EMBY "\xef\x8c\x99"	// U+f319
+#define ICON_FK_WIKIDATA "\xef\x8c\x9a"	// U+f31a
+#define ICON_FK_GIMP "\xef\x8c\x9b"	// U+f31b
+#define ICON_FK_C "\xef\x8c\x9c"	// U+f31c
+#define ICON_FK_DIGITALOCEAN "\xef\x8c\x9d"	// U+f31d
+#define ICON_FK_ATT "\xef\x8c\x9e"	// U+f31e
+#define ICON_FK_GITEA "\xef\x8c\x9f"	// U+f31f
+#define ICON_FK_FILE_EPUB "\xef\x8c\xa1"	// U+f321
+#define ICON_FK_PYTHON "\xef\x8c\xa2"	// U+f322
+#define ICON_FK_ARCHLINUX "\xef\x8c\xa3"	// U+f323
+#define ICON_FK_PLEROMA "\xef\x8c\xa4"	// U+f324
+#define ICON_FK_UNSPLASH "\xef\x8c\xa5"	// U+f325
+#define ICON_FK_HACKSTER "\xef\x8c\xa6"	// U+f326
+#define ICON_FK_SPELL_CHECK "\xef\x8c\xa7"	// U+f327
+#define ICON_FK_MOON "\xef\x8c\xa8"	// U+f328
+#define ICON_FK_SUN "\xef\x8c\xa9"	// U+f329
+#define ICON_FK_F_DROID "\xef\x8c\xaa"	// U+f32a
+#define ICON_FK_BIOMETRIC "\xef\x8c\xab"	// U+f32b
+#define ICON_FK_WIRE "\xef\x8c\xac"	// U+f32c
+#define ICON_FK_TOR_ONION "\xef\x8c\xae"	// U+f32e
+#define ICON_FK_VOLUME_MUTE "\xef\x8c\xaf"	// U+f32f
+#define ICON_FK_BELL_RINGING "\xef\x8c\xad"	// U+f32d
+#define ICON_FK_BELL_RINGING_O "\xef\x8c\xb0"	// U+f330
+#define ICON_FK_HAL "\xef\x8c\xb3"	// U+f333
+#define ICON_FK_JUPYTER "\xef\x8c\xb5"	// U+f335
+#define ICON_FK_JULIA "\xef\x8c\xb4"	// U+f334
+#define ICON_FK_CLASSICPRESS "\xef\x8c\xb1"	// U+f331
+#define ICON_FK_CLASSICPRESS_CIRCLE "\xef\x8c\xb2"	// U+f332
+#define ICON_FK_OPEN_COLLECTIVE "\xef\x8c\xb6"	// U+f336
+#define ICON_FK_ORCID "\xef\x8c\xb7"	// U+f337
+#define ICON_FK_RESEARCHGATE "\xef\x8c\xb8"	// U+f338
+#define ICON_FK_FUNKWHALE "\xef\x8c\xb9"	// U+f339
+#define ICON_FK_ASKFM "\xef\x8c\xba"	// U+f33a
+#define ICON_FK_BLOCKSTACK "\xef\x8c\xbb"	// U+f33b
+#define ICON_FK_BOARDGAMEGEEK "\xef\x8c\xbc"	// U+f33c
+#define ICON_FK_BUNNY "\xef\x8d\x9f"	// U+f35f
+#define ICON_FK_BUYMEACOFFEE "\xef\x8c\xbd"	// U+f33d
+#define ICON_FK_CC_BY "\xef\x8c\xbe"	// U+f33e
+#define ICON_FK_CC_CC "\xef\x8c\xbf"	// U+f33f
+#define ICON_FK_CC_NC_EU "\xef\x8d\x81"	// U+f341
+#define ICON_FK_CC_NC_JP "\xef\x8d\x82"	// U+f342
+#define ICON_FK_CC_NC "\xef\x8d\x80"	// U+f340
+#define ICON_FK_CC_ND "\xef\x8d\x83"	// U+f343
+#define ICON_FK_CC_PD "\xef\x8d\x84"	// U+f344
+#define ICON_FK_CC_REMIX "\xef\x8d\x85"	// U+f345
+#define ICON_FK_CC_SA "\xef\x8d\x86"	// U+f346
+#define ICON_FK_CC_SHARE "\xef\x8d\x87"	// U+f347
+#define ICON_FK_CC_ZERO "\xef\x8d\x88"	// U+f348
+#define ICON_FK_CONWAY_GLIDER "\xef\x8d\x89"	// U+f349
+#define ICON_FK_CSHARP "\xef\x8d\x8a"	// U+f34a
+#define ICON_FK_EMAIL_BULK "\xef\x8d\x8b"	// U+f34b
+#define ICON_FK_EMAIL_BULK_O "\xef\x8d\x8c"	// U+f34c
+#define ICON_FK_GNU "\xef\x8d\x8d"	// U+f34d
+#define ICON_FK_GOOGLE_PLAY "\xef\x8d\x8e"	// U+f34e
+#define ICON_FK_HEROKU "\xef\x8d\x8f"	// U+f34f
+#define ICON_FK_HOME_ASSISTANT "\xef\x8d\x90"	// U+f350
+#define ICON_FK_JAVA "\xef\x8d\x91"	// U+f351
+#define ICON_FK_MARIADB "\xef\x8d\x92"	// U+f352
+#define ICON_FK_MARKDOWN "\xef\x8d\x93"	// U+f353
+#define ICON_FK_MYSQL "\xef\x8d\x94"	// U+f354
+#define ICON_FK_NORDCAST "\xef\x8d\x95"	// U+f355
+#define ICON_FK_PLUME "\xef\x8d\x96"	// U+f356
+#define ICON_FK_POSTGRESQL "\xef\x8d\x97"	// U+f357
+#define ICON_FK_SASS_ALT "\xef\x8d\x99"	// U+f359
+#define ICON_FK_SASS "\xef\x8d\x98"	// U+f358
+#define ICON_FK_SKATE "\xef\x8d\x9a"	// U+f35a
+#define ICON_FK_SKETCHFAB "\xef\x8d\x9b"	// U+f35b
+#define ICON_FK_TEX "\xef\x8d\x9c"	// U+f35c
+#define ICON_FK_TEXTPATTERN "\xef\x8d\x9d"	// U+f35d
+#define ICON_FK_UNITY "\xef\x8d\x9e"	// U+f35e
+#define ICON_FK_HEDGEDOC "\xef\x8d\xa0"	// U+f360
+#define ICON_FK_FEDIVERSE "\xef\x8d\xa1"	// U+f361
+#define ICON_FK_PROFTPD "\xef\x8d\xa2"	// U+f362
+#define ICON_FK_OSI "\xef\x8d\xa3"	// U+f363
+#define ICON_FK_EYEEM "\xef\x8d\xa4"	// U+f364
+#define ICON_FK_EYEEM_O "\xef\x8d\xa5"	// U+f365
+#define ICON_FK_CODEBERG "\xef\x8d\xa6"	// U+f366
+#define ICON_FK_DISCOURSE "\xef\x8d\xa7"	// U+f367
+#define ICON_FK_MUMBLE "\xef\x8d\xa8"	// U+f368
+#define ICON_FK_FREEDESKTOP "\xef\x8d\xa9"	// U+f369
+#define ICON_FK_JAVASCRIPT "\xef\x8d\xb0"	// U+f370
+#define ICON_FK_LEMMY "\xef\x8d\xb1"	// U+f371
+#define ICON_FK_IPFS "\xef\x8d\xb2"	// U+f372
+#define ICON_FK_CANONICAL "\xef\x8d\xaa"	// U+f36a
+#define ICON_FK_UBUNTU "\xef\x8d\xab"	// U+f36b

+ 1 - 1
Pika/thirdparty/imgui-docking/imgui/imguiThemes.h

@@ -371,7 +371,7 @@ namespace imguiThemes
         style.PopupBorderSize = 1;
         style.FrameBorderSize = 1;
         style.TabBorderSize = 1;
-        style.WindowRounding = 7;
+        style.WindowRounding = 0;
         style.ChildRounding = 4;
         style.FrameRounding = 3;
         style.PopupRounding = 4;