diff --git a/CMake/pugixml.cmake b/CMake/pugixml.cmake index 996f4ed..fd5f750 100644 --- a/CMake/pugixml.cmake +++ b/CMake/pugixml.cmake @@ -1,4 +1,4 @@ -if(NOT TARGET pugixml-static) +if(NOT TARGET pugixml) include(FetchContent) FetchContent_Declare( diff --git a/Libraries/Kanimaji/CMakeLists.txt b/Libraries/Kanimaji/CMakeLists.txt index 2d0181a..7c72c1b 100644 --- a/Libraries/Kanimaji/CMakeLists.txt +++ b/Libraries/Kanimaji/CMakeLists.txt @@ -12,7 +12,7 @@ target_link_libraries(Kanimaji KVGToolsCommon PRIVATE - pugixml-static + pugixml ) target_include_directories(Kanimaji diff --git a/Libraries/Tablegen/CMakeLists.txt b/Libraries/Tablegen/CMakeLists.txt index 5cd1481..7b17c78 100644 --- a/Libraries/Tablegen/CMakeLists.txt +++ b/Libraries/Tablegen/CMakeLists.txt @@ -17,7 +17,7 @@ target_link_libraries(Tablegen KVGToolsCommon PRIVATE - pugixml-static + pugixml ) target_sources(Tablegen diff --git a/Libraries/Tablegen/Include/Tablegen/Settings.hpp b/Libraries/Tablegen/Include/Tablegen/Settings.hpp index 853d4e3..3e387fc 100644 --- a/Libraries/Tablegen/Include/Tablegen/Settings.hpp +++ b/Libraries/Tablegen/Include/Tablegen/Settings.hpp @@ -4,6 +4,7 @@ #include #include +#include namespace Tablegen { @@ -48,6 +49,7 @@ namespace Tablegen std::size_t CharactersPerRow; std::string ImageFormat; std::string AnimationFormat; + std::vector Characters; static Settings Default(); }; diff --git a/Libraries/Tablegen/Include/Tablegen/Tablegen.hpp b/Libraries/Tablegen/Include/Tablegen/Tablegen.hpp index aa97c82..57a21eb 100644 --- a/Libraries/Tablegen/Include/Tablegen/Tablegen.hpp +++ b/Libraries/Tablegen/Include/Tablegen/Tablegen.hpp @@ -8,21 +8,17 @@ #endif #include -#include namespace Tablegen { - std::string GeneratePage(std::vector characters, - const Settings& settings = Settings::Default()); + std::string GeneratePage(const Settings& settings = Settings::Default()); - void GeneratePage(const std::string& path, std::vector characters, - const Settings& settings = Settings::Default()); + void GeneratePage(const std::string& path, const Settings& settings = Settings::Default()); # ifdef TABLEGEN_EXPOSE_XML - void GenerateAsChild(pugi::xml_node& node, std::vector characters, - const Settings& settings = Settings::Default()); + void GenerateAsChild(pugi::xml_node& node, const Settings& settings = Settings::Default()); - pugi::xml_document GenerateDocument(std::vector characters, const Settings& settings = Settings::Default()); + pugi::xml_document GenerateDocument(const Settings& settings = Settings::Default()); # endif } diff --git a/Libraries/Tablegen/Source/Settings.cpp b/Libraries/Tablegen/Source/Settings.cpp index d6cbe15..2602eab 100644 --- a/Libraries/Tablegen/Source/Settings.cpp +++ b/Libraries/Tablegen/Source/Settings.cpp @@ -32,6 +32,7 @@ namespace Tablegen .CharactersPerRow = 3, .ImageFormat = "https://3011.io/Assets/Images/Kanji/Static/{}.png", .AnimationFormat = "https://3011.io/Assets/Temp/{}.svg", + .Characters = {}, }; } } diff --git a/Libraries/Tablegen/Source/Tablegen.cpp b/Libraries/Tablegen/Source/Tablegen.cpp index 248e605..bff9b28 100644 --- a/Libraries/Tablegen/Source/Tablegen.cpp +++ b/Libraries/Tablegen/Source/Tablegen.cpp @@ -95,9 +95,9 @@ namespace Tablegen } } - std::string GeneratePage(std::vector characters, const Settings& settings) + std::string GeneratePage(const Settings& settings) { - pugi::xml_document doc = GenerateDocument(characters, settings); + pugi::xml_document doc = GenerateDocument(settings); std::uint32_t formatOptions; formatOptions = pugi::format_indent | pugi::format_no_escapes | pugi::format_no_declaration; @@ -106,18 +106,16 @@ namespace Tablegen return str.str(); } - void GeneratePage(const std::string& path, std::vector characters, - const Settings& settings) + void GeneratePage(const std::string& path, const Settings& settings) { - pugi::xml_document doc = GenerateDocument(characters, settings); + pugi::xml_document doc = GenerateDocument(settings); std::uint32_t formatOptions; formatOptions = pugi::format_indent | pugi::format_no_escapes | pugi::format_no_declaration; doc.save_file("test.html", " ", formatOptions); } - void GenerateAsChild(pugi::xml_node& node, std::vector characters, - const Settings& settings) + void GenerateAsChild(pugi::xml_node& node, const Settings& settings) { pugi::xml_node tableRoot = node; @@ -153,7 +151,7 @@ namespace Tablegen std::string tagIndent((indentLevel > 0 ? indentLevel - 1 : 0) * 4, ' '); pugi::xml_node tableBody = table.append_child("tbody"); - for (pugi::xml_node row; const auto& [i, character] : vw::enumerate(characters)) { + for (pugi::xml_node row; const auto& [i, character] : vw::enumerate(settings.Characters)) { //////////////////////////////////////////////////////////////////// // HTML //////////////////////////////////////////////////////////////////// @@ -203,11 +201,10 @@ namespace Tablegen script.append_child(pugi::node_pcdata).set_value(Script(indent, tagIndent, buttons)); } - pugi::xml_document GenerateDocument(std::vector characters, - const Settings& settings) + pugi::xml_document GenerateDocument(const Settings& settings) { pugi::xml_document doc; - GenerateAsChild(doc, characters, settings); + GenerateAsChild(doc); return doc; } }