X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Fmarkup-processor-font.cpp;h=802f9e9f26f7790ba44f9dc070d0b8f06d2c662f;hb=refs%2Fchanges%2F69%2F272869%2F5;hp=df8b6ec9cc601b22e14a75d634077210ba9ec9d6;hpb=6970e395a31aae5e97be905e01e47fd49e043f94;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/markup-processor-font.cpp b/dali-toolkit/internal/text/markup-processor-font.cpp index df8b6ec..802f9e9 100644 --- a/dali-toolkit/internal/text/markup-processor-font.cpp +++ b/dali-toolkit/internal/text/markup-processor-font.cpp @@ -24,7 +24,9 @@ // INTERNAL INCLUDES #include +#include #include +#include #include namespace Dali @@ -35,12 +37,6 @@ namespace Text { namespace { -const std::string XHTML_FAMILY_ATTRIBUTE("family"); -const std::string XHTML_SIZE_ATTRIBUTE("size"); -const std::string XHTML_WEIGHT_ATTRIBUTE("weight"); -const std::string XHTML_WIDTH_ATTRIBUTE("width"); -const std::string XHTML_SLANT_ATTRIBUTE("slant"); - const std::string FONT_PREFIX("font-"); const unsigned int FONT_PREFIX_LENGTH = 5u; const unsigned int MIN_FONT_ATTRIBUTE_SIZE = 4u; ///< The minimum length of any of the possible 'weight', 'width' , 'slant' or 'size' values. @@ -68,35 +64,23 @@ void ProcessFontFamily(const Attribute& attribute, FontDescriptionRun& fontRun) void ProcessFontSize(const Attribute& attribute, FontDescriptionRun& fontRun) { // 64.f is used to convert from point size to 26.6 pixel format. - fontRun.size = static_cast(StringToFloat(attribute.valueBuffer) * PIXEL_FORMAT_64_FACTOR); + fontRun.size = static_cast(ProcessFloatAttribute(attribute) * PIXEL_FORMAT_64_FACTOR); fontRun.sizeDefined = true; } void ProcessFontWeight(const Attribute& attribute, FontDescriptionRun& fontRun) { - char value[MAX_FONT_ATTRIBUTE_SIZE + 1u]; - processFontAttributeValue(value, attribute); - - fontRun.weight = StringToWeight(value); - fontRun.weightDefined = true; + fontRun.weightDefined = ProcessEnumerationAttribute(attribute, MAX_FONT_ATTRIBUTE_SIZE, &StringToWeight, fontRun.weight); } void ProcessFontWidth(const Attribute& attribute, FontDescriptionRun& fontRun) { - char value[MAX_FONT_ATTRIBUTE_SIZE + 1u]; - processFontAttributeValue(value, attribute); - - fontRun.width = StringToWidth(value); - fontRun.widthDefined = true; + fontRun.widthDefined = ProcessEnumerationAttribute(attribute, MAX_FONT_ATTRIBUTE_SIZE, &StringToWidth, fontRun.width); } void ProcessFontSlant(const Attribute& attribute, FontDescriptionRun& fontRun) { - char value[MAX_FONT_ATTRIBUTE_SIZE + 1u]; - processFontAttributeValue(value, attribute); - - fontRun.slant = StringToSlant(value); - fontRun.slantDefined = true; + fontRun.slantDefined = ProcessEnumerationAttribute(attribute, MAX_FONT_ATTRIBUTE_SIZE, &StringToSlant, fontRun.slant); } void ProcessFontTag(const Tag& tag, FontDescriptionRun& fontRun) @@ -108,23 +92,23 @@ void ProcessFontTag(const Tag& tag, FontDescriptionRun& fontRun) { const Attribute& attribute(*it); - if(TokenComparison(XHTML_FAMILY_ATTRIBUTE, attribute.nameBuffer, attribute.nameLength)) + if(TokenComparison(MARKUP::FONT_ATTRIBUTES::FAMILY, attribute.nameBuffer, attribute.nameLength)) { ProcessFontFamily(attribute, fontRun); } - else if(TokenComparison(XHTML_SIZE_ATTRIBUTE, attribute.nameBuffer, attribute.nameLength)) + else if(TokenComparison(MARKUP::FONT_ATTRIBUTES::SIZE, attribute.nameBuffer, attribute.nameLength)) { ProcessFontSize(attribute, fontRun); } - else if(TokenComparison(XHTML_WEIGHT_ATTRIBUTE, attribute.nameBuffer, attribute.nameLength)) + else if(TokenComparison(MARKUP::FONT_ATTRIBUTES::WEIGHT, attribute.nameBuffer, attribute.nameLength)) { ProcessFontWeight(attribute, fontRun); } - else if(TokenComparison(XHTML_WIDTH_ATTRIBUTE, attribute.nameBuffer, attribute.nameLength)) + else if(TokenComparison(MARKUP::FONT_ATTRIBUTES::WIDTH, attribute.nameBuffer, attribute.nameLength)) { ProcessFontWidth(attribute, fontRun); } - else if(TokenComparison(XHTML_SLANT_ATTRIBUTE, attribute.nameBuffer, attribute.nameLength)) + else if(TokenComparison(MARKUP::FONT_ATTRIBUTES::SLANT, attribute.nameBuffer, attribute.nameLength)) { ProcessFontSlant(attribute, fontRun); }