tdf#153368: Support optical size for variable fonts, part 3
Add loext:font-optical-sizing attribute with two values, "auto" and "none", modeled after CSS font-optical-sizing: https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/font-optical-sizing Change-Id: I05396f084dc81d0a797be0e7c0cd57991a6876e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200502 Tested-by: Jenkins Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
This commit is contained in:
committed by
Khaled Hosny
parent
d128bdf1fe
commit
331e2c3b89
@@ -877,6 +877,7 @@ namespace xmloff::token {
|
||||
XML_FONT_NAME,
|
||||
XML_FONT_NAME_ASIAN,
|
||||
XML_FONT_NAME_COMPLEX,
|
||||
XML_FONT_OPTICAL_SIZING,
|
||||
XML_FONT_PITCH,
|
||||
XML_FONT_PITCH_ASIAN,
|
||||
XML_FONT_PITCH_COMPLEX,
|
||||
|
||||
@@ -303,6 +303,8 @@
|
||||
|
||||
#define XML_TYPE_TEXT_SCRIPT_TYPE (XML_TEXT_TYPES_START + 134)
|
||||
|
||||
#define XML_TYPE_TEXT_FONT_OPTICAL_SIZING (XML_TEXT_TYPES_START + 135)
|
||||
|
||||
#endif // INCLUDED_XMLOFF_XMLTYPES_HXX
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
|
||||
@@ -4009,6 +4009,18 @@ xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.
|
||||
</rng:optional>
|
||||
</rng:define>
|
||||
|
||||
<!-- TODO no proposal -->
|
||||
<rng:define name="style-text-properties-attlist" combine="interleave">
|
||||
<rng:optional>
|
||||
<rng:attribute name="loext:font-optical-sizing">
|
||||
<rng:choice>
|
||||
<rng:value>auto</rng:value>
|
||||
<rng:value>none</rng:value>
|
||||
</rng:choice>
|
||||
</rng:attribute>
|
||||
</rng:optional>
|
||||
</rng:define>
|
||||
|
||||
<!-- TODO no proposal -->
|
||||
<rng:define name="style-graphic-properties-elements" combine="interleave">
|
||||
<rng:optional>
|
||||
|
||||
@@ -98,6 +98,7 @@ inline constexpr OUString PROP_CharLocale = u"CharLocale"_ustr;
|
||||
inline constexpr OUString PROP_CharLocaleAsian = u"CharLocaleAsian"_ustr;
|
||||
inline constexpr OUString PROP_CharLocaleComplex = u"CharLocaleComplex"_ustr;
|
||||
inline constexpr OUString PROP_CharNoHyphenation = u"CharNoHyphenation"_ustr;
|
||||
inline constexpr OUString PROP_CharOpticalSizing = u"CharOpticalSizing"_ustr;
|
||||
inline constexpr OUString PROP_CharOverline = u"CharOverline"_ustr;
|
||||
inline constexpr OUString PROP_CharOverlineColor = u"CharOverlineColor"_ustr;
|
||||
inline constexpr OUString PROP_CharOverlineHasColor = u"CharOverlineHasColor"_ustr;
|
||||
|
||||
@@ -889,6 +889,7 @@ namespace xmloff::token {
|
||||
TOKEN( "font-name", XML_FONT_NAME ),
|
||||
TOKEN( "font-name-asian", XML_FONT_NAME_ASIAN ),
|
||||
TOKEN( "font-name-complex", XML_FONT_NAME_COMPLEX ),
|
||||
TOKEN( "font-optical-sizing", XML_FONT_OPTICAL_SIZING ),
|
||||
TOKEN( "font-pitch", XML_FONT_PITCH ),
|
||||
TOKEN( "font-pitch-asian", XML_FONT_PITCH_ASIAN ),
|
||||
TOKEN( "font-pitch-complex", XML_FONT_PITCH_COMPLEX ),
|
||||
|
||||
@@ -1393,6 +1393,10 @@ static const XMLPropertyHandler *GetPropertyHandler
|
||||
case XML_TYPE_TEXT_FONT_RELIEF:
|
||||
pHdl = new XMLConstantsPropertyHandler( pXML_FontRelief_Enum, XML_TOKEN_INVALID );
|
||||
break;
|
||||
case XML_TYPE_TEXT_FONT_OPTICAL_SIZING:
|
||||
pHdl = new XMLNamedBoolPropertyHdl( GetXMLToken( XML_AUTO ),
|
||||
GetXMLToken( XML_NONE ) );
|
||||
break;
|
||||
case XML_TYPE_TEXT_ROTATION_ANGLE:
|
||||
pHdl = new XMLTextRotationAnglePropHdl_Impl;
|
||||
break;
|
||||
|
||||
@@ -253,6 +253,7 @@ XMLPropertyMapEntry constexpr aXMLParaPropMap[] =
|
||||
MT_E( PROP_CharScaleWidth, XML_NAMESPACE_STYLE, XML_TEXT_SCALE, XML_TYPE_PERCENT16, 0 ),
|
||||
//RES_CHRATR_RELIEF
|
||||
MT_E( PROP_CharRelief, XML_NAMESPACE_STYLE, XML_FONT_RELIEF, XML_TYPE_TEXT_FONT_RELIEF, 0 ),
|
||||
MAP_EXT( PROP_CharOpticalSizing, XML_NAMESPACE_LO_EXT, XML_FONT_OPTICAL_SIZING, XML_TYPE_TEXT_FONT_OPTICAL_SIZING | XML_TYPE_PROP_TEXT, 0 ),
|
||||
// RES_CHRATR_HIDDEN
|
||||
MT_E( PROP_CharHidden, XML_NAMESPACE_TEXT, XML_DISPLAY, XML_TYPE_TEXT_HIDDEN_AS_DISPLAY|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_TEXT_DISPLAY ),
|
||||
// RES_CHRATR_OVERLINE
|
||||
@@ -639,6 +640,7 @@ XMLPropertyMapEntry constexpr aXMLTextPropMap[] =
|
||||
MT_E( PROP_, XML_NAMESPACE_STYLE, XML_TEXT_COMBINE, XML_TYPE_TEXT_COMBINE_CHARACTERS|MID_FLAG_NO_PROPERTY, CTF_COMBINED_CHARACTERS_FIELD ),
|
||||
//RES_CHRATR_RELIEF
|
||||
MT_E( PROP_CharRelief, XML_NAMESPACE_STYLE, XML_FONT_RELIEF, XML_TYPE_TEXT_FONT_RELIEF, 0 ),
|
||||
MAP_EXT( PROP_CharOpticalSizing, XML_NAMESPACE_LO_EXT, XML_FONT_OPTICAL_SIZING, XML_TYPE_TEXT_FONT_OPTICAL_SIZING | XML_TYPE_PROP_TEXT, 0 ),
|
||||
// RES_CHRATR_HIDDEN
|
||||
MT_E( PROP_CharHidden, XML_NAMESPACE_TEXT, XML_DISPLAY, XML_TYPE_TEXT_HIDDEN_AS_DISPLAY|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_TEXT_DISPLAY ),
|
||||
// RES_CHRATR_OVERLINE
|
||||
|
||||
@@ -794,6 +794,7 @@ font-kerning
|
||||
font-name
|
||||
font-name-asian
|
||||
font-name-complex
|
||||
font-optical-sizing
|
||||
font-pitch
|
||||
font-pitch-asian
|
||||
font-pitch-complex
|
||||
|
||||
Reference in New Issue
Block a user