- if (size_flag) {
- switch (old_size) {
- case TINY_SIZE:
- tagsToClose.push_back(html::EndFontTag(html::FT_SIZE_TINY));
- break;
- case SCRIPT_SIZE:
- tagsToClose.push_back(html::EndFontTag(html::FT_SIZE_SCRIPT));
- break;
- case FOOTNOTE_SIZE:
- tagsToClose.push_back(html::EndFontTag(html::FT_SIZE_FOOTNOTE));
- break;
- case SMALL_SIZE:
- tagsToClose.push_back(html::EndFontTag(html::FT_SIZE_SMALL));
- break;
- case LARGE_SIZE:
- tagsToClose.push_back(html::EndFontTag(html::FT_SIZE_LARGE));
- break;
- case LARGER_SIZE:
- tagsToClose.push_back(html::EndFontTag(html::FT_SIZE_LARGER));
- break;
- case LARGEST_SIZE:
- tagsToClose.push_back(html::EndFontTag(html::FT_SIZE_LARGEST));
- break;
- case HUGE_SIZE:
- tagsToClose.push_back(html::EndFontTag(html::FT_SIZE_HUGE));
- break;
- case HUGER_SIZE:
- tagsToClose.push_back(html::EndFontTag(html::FT_SIZE_HUGER));
- break;
- case INCREASE_SIZE:
- tagsToClose.push_back(html::EndFontTag(html::FT_SIZE_INCREASE));
- break;
- case DECREASE_SIZE:
- tagsToClose.push_back(html::EndFontTag(html::FT_SIZE_DECREASE));
- break;
- case INHERIT_SIZE:
- case NORMAL_SIZE:
- break;
- default:
- // the other tags are for internal use
- LATTEST(false);
- break;
- }
- size_flag = false;
- }
- switch (curr_size) {
- case TINY_SIZE:
- tagsToOpen.push_back(html::FontTag(html::FT_SIZE_TINY));
- size_flag = true;
- break;
- case SCRIPT_SIZE:
- tagsToOpen.push_back(html::FontTag(html::FT_SIZE_SCRIPT));
- size_flag = true;
- break;
- case FOOTNOTE_SIZE:
- tagsToOpen.push_back(html::FontTag(html::FT_SIZE_FOOTNOTE));
- size_flag = true;
- break;
- case SMALL_SIZE:
- tagsToOpen.push_back(html::FontTag(html::FT_SIZE_SMALL));
- size_flag = true;
- break;
- case LARGE_SIZE:
- tagsToOpen.push_back(html::FontTag(html::FT_SIZE_LARGE));
- size_flag = true;
- break;
- case LARGER_SIZE:
- tagsToOpen.push_back(html::FontTag(html::FT_SIZE_LARGER));
- size_flag = true;
- break;
- case LARGEST_SIZE:
- tagsToOpen.push_back(html::FontTag(html::FT_SIZE_LARGEST));
- size_flag = true;
- break;
- case HUGE_SIZE:
- tagsToOpen.push_back(html::FontTag(html::FT_SIZE_HUGE));
- size_flag = true;
- break;
- case HUGER_SIZE:
- tagsToOpen.push_back(html::FontTag(html::FT_SIZE_HUGER));
- size_flag = true;
- break;
- case INCREASE_SIZE:
- tagsToOpen.push_back(html::FontTag(html::FT_SIZE_INCREASE));
- size_flag = true;
- break;
- case DECREASE_SIZE:
- tagsToOpen.push_back(html::FontTag(html::FT_SIZE_DECREASE));
- size_flag = true;
- break;
- case NORMAL_SIZE:
- case INHERIT_SIZE:
- break;
- default:
- // the other tags are for internal use
- LATTEST(false);
- break;
- }
+ if (size_flag) {
+ switch (old_size) {
+ case TINY_SIZE:
+ tagsToClose.emplace_back(fontToHtmlTag(xml::FT_SIZE_TINY), xml::FT_SIZE_TINY);
+ break;
+ case SCRIPT_SIZE:
+ tagsToClose.emplace_back(fontToHtmlTag(xml::FT_SIZE_SCRIPT), xml::FT_SIZE_SCRIPT);
+ break;
+ case FOOTNOTE_SIZE:
+ tagsToClose.emplace_back(fontToHtmlTag(xml::FT_SIZE_FOOTNOTE), xml::FT_SIZE_FOOTNOTE);
+ break;
+ case SMALL_SIZE:
+ tagsToClose.emplace_back(fontToHtmlTag(xml::FT_SIZE_SMALL), xml::FT_SIZE_SMALL);
+ break;
+ case LARGE_SIZE:
+ tagsToClose.emplace_back(fontToHtmlTag(xml::FT_SIZE_LARGE), xml::FT_SIZE_LARGE);
+ break;
+ case LARGER_SIZE:
+ tagsToClose.emplace_back(fontToHtmlTag(xml::FT_SIZE_LARGER), xml::FT_SIZE_LARGER);
+ break;
+ case LARGEST_SIZE:
+ tagsToClose.emplace_back(fontToHtmlTag(xml::FT_SIZE_LARGEST), xml::FT_SIZE_LARGEST);
+ break;
+ case HUGE_SIZE:
+ tagsToClose.emplace_back(fontToHtmlTag(xml::FT_SIZE_HUGE), xml::FT_SIZE_HUGE);
+ break;
+ case HUGER_SIZE:
+ tagsToClose.emplace_back(fontToHtmlTag(xml::FT_SIZE_HUGER), xml::FT_SIZE_HUGER);
+ break;
+ case INCREASE_SIZE:
+ tagsToClose.emplace_back(fontToHtmlTag(xml::FT_SIZE_INCREASE), xml::FT_SIZE_INCREASE);
+ break;
+ case DECREASE_SIZE:
+ tagsToClose.emplace_back(fontToHtmlTag(xml::FT_SIZE_DECREASE), xml::FT_SIZE_DECREASE);
+ break;
+ case INHERIT_SIZE:
+ case NORMAL_SIZE:
+ break;
+ default:
+ // the other tags are for internal use
+ LATTEST(false);
+ break;
+ }
+ size_flag = false;
+ }
+ switch (curr_size) {
+ case TINY_SIZE:
+ tagsToOpen.emplace_back(fontToHtmlTag(xml::FT_SIZE_TINY), xml::FT_SIZE_TINY);
+ size_flag = true;
+ break;
+ case SCRIPT_SIZE:
+ tagsToOpen.emplace_back(fontToHtmlTag(xml::FT_SIZE_SCRIPT), xml::FT_SIZE_SCRIPT);
+ size_flag = true;
+ break;
+ case FOOTNOTE_SIZE:
+ tagsToOpen.emplace_back(fontToHtmlTag(xml::FT_SIZE_FOOTNOTE), xml::FT_SIZE_FOOTNOTE);
+ size_flag = true;
+ break;
+ case SMALL_SIZE:
+ tagsToOpen.emplace_back(fontToHtmlTag(xml::FT_SIZE_SMALL), xml::FT_SIZE_SMALL);
+ size_flag = true;
+ break;
+ case LARGE_SIZE:
+ tagsToOpen.emplace_back(fontToHtmlTag(xml::FT_SIZE_LARGE), xml::FT_SIZE_LARGE);
+ size_flag = true;
+ break;
+ case LARGER_SIZE:
+ tagsToOpen.emplace_back(fontToHtmlTag(xml::FT_SIZE_LARGER), xml::FT_SIZE_LARGER);
+ size_flag = true;
+ break;
+ case LARGEST_SIZE:
+ tagsToOpen.emplace_back(fontToHtmlTag(xml::FT_SIZE_LARGEST), xml::FT_SIZE_LARGEST);
+ size_flag = true;
+ break;
+ case HUGE_SIZE:
+ tagsToOpen.emplace_back(fontToHtmlTag(xml::FT_SIZE_HUGE), xml::FT_SIZE_HUGE);
+ size_flag = true;
+ break;
+ case HUGER_SIZE:
+ tagsToOpen.emplace_back(fontToHtmlTag(xml::FT_SIZE_HUGER), xml::FT_SIZE_HUGER);
+ size_flag = true;
+ break;
+ case INCREASE_SIZE:
+ tagsToOpen.emplace_back(fontToHtmlTag(xml::FT_SIZE_INCREASE), xml::FT_SIZE_INCREASE);
+ size_flag = true;
+ break;
+ case DECREASE_SIZE:
+ tagsToOpen.emplace_back(fontToHtmlTag(xml::FT_SIZE_DECREASE), xml::FT_SIZE_DECREASE);
+ size_flag = true;
+ break;
+ case INHERIT_SIZE:
+ case NORMAL_SIZE:
+ break;
+ default:
+ // the other tags are for internal use
+ LATTEST(false);
+ break;
+ }