summaryrefslogtreecommitdiffstats
path: root/src/style.cpp
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2016-03-14 16:37:50 +0000
committerJabiertxof <jtx@jtx.marker.es>2016-03-14 16:37:50 +0000
commitb8d22beef5345210ad27cdc2685083aeae6f8f3b (patch)
treed69b8bfd19d3627a8425a1b265c2abf229b05354 /src/style.cpp
parentfixes for update to trunk (diff)
parent"Relative to" option for node alignment. (diff)
downloadinkscape-b8d22beef5345210ad27cdc2685083aeae6f8f3b.tar.gz
inkscape-b8d22beef5345210ad27cdc2685083aeae6f8f3b.zip
update to trunk
(bzr r13708.1.39)
Diffstat (limited to 'src/style.cpp')
-rw-r--r--src/style.cpp46
1 files changed, 26 insertions, 20 deletions
diff --git a/src/style.cpp b/src/style.cpp
index d8402e08a..99beaed22 100644
--- a/src/style.cpp
+++ b/src/style.cpp
@@ -113,7 +113,7 @@ SPStyle::SPStyle(SPDocument *document_in, SPObject *object_in) :
font_weight( "font-weight", enum_font_weight, SP_CSS_FONT_WEIGHT_NORMAL, SP_CSS_FONT_WEIGHT_400 ),
font_stretch( "font-stretch", enum_font_stretch, SP_CSS_FONT_STRETCH_NORMAL ),
font_size(),
- line_height( "line-height", 1.0 ), // SPILengthOrNormal
+ line_height( "line-height", 125 ), // SPILengthOrNormal
font_family( "font-family", "sans-serif" ), // SPIString w/default
font(), // SPIFont
font_specification( "-inkscape-font-specification" ), // SPIString
@@ -136,8 +136,9 @@ SPStyle::SPStyle(SPDocument *document_in, SPObject *object_in) :
text_transform( "text-transform", enum_text_transform, SP_CSS_TEXT_TRANSFORM_NONE ),
direction( "direction", enum_direction, SP_CSS_DIRECTION_LTR ),
- block_progression("block-progression", enum_block_progression, SP_CSS_BLOCK_PROGRESSION_TB),
writing_mode( "writing-mode", enum_writing_mode, SP_CSS_WRITING_MODE_LR_TB ),
+ text_orientation( "text-orientation",enum_text_orientation,SP_CSS_TEXT_ORIENTATION_MIXED ),
+ dominant_baseline("dominant-baseline",enum_baseline, SP_CSS_BASELINE_AUTO ),
baseline_shift(),
text_anchor( "text-anchor", enum_text_anchor, SP_CSS_TEXT_ANCHOR_START ),
white_space( "white-space", enum_white_space, SP_CSS_WHITE_SPACE_NORMAL ),
@@ -286,7 +287,7 @@ SPStyle::SPStyle(SPDocument *document_in, SPObject *object_in) :
_properties.push_back( &color );
// 'font-size'/'font' must be before properties that need to know em, ex size (SPILength,
- // SPILenghtOrNormal)
+ // SPILengthOrNormal)
_properties.push_back( &font_style );
_properties.push_back( &font_variant );
_properties.push_back( &font_weight );
@@ -318,9 +319,10 @@ SPStyle::SPStyle(SPDocument *document_in, SPObject *object_in) :
_properties.push_back( &word_spacing );
_properties.push_back( &text_transform );
- _properties.push_back( &direction );
- _properties.push_back( &block_progression );
_properties.push_back( &writing_mode );
+ _properties.push_back( &direction );
+ _properties.push_back( &text_orientation );
+ _properties.push_back( &dominant_baseline );
_properties.push_back( &baseline_shift );
_properties.push_back( &text_anchor );
_properties.push_back( &white_space );
@@ -381,7 +383,7 @@ SPStyle::SPStyle(SPDocument *document_in, SPObject *object_in) :
// // 'color' must be before 'fill', 'stroke', 'text-decoration-color', ...
// _propmap.insert( std::make_pair( color.name, reinterpret_cast<SPIBasePtr>(&SPStyle::color ) ) );
- // // 'font-size' must be before properties that need to know em, ex size (SPILength, SPILenghtOrNormal)
+ // // 'font-size' must be before properties that need to know em, ex size (SPILength, SPILengthOrNormal)
// _propmap.insert( std::make_pair( font_style.name, reinterpret_cast<SPIBasePtr>(&SPStyle::font_style ) ) );
// _propmap.insert( std::make_pair( font_variant.name, reinterpret_cast<SPIBasePtr>(&SPStyle::font_variant ) ) );
// _propmap.insert( std::make_pair( font_weight.name, reinterpret_cast<SPIBasePtr>(&SPStyle::font_weight ) ) );
@@ -413,8 +415,9 @@ SPStyle::SPStyle(SPDocument *document_in, SPObject *object_in) :
// _propmap.insert( std::make_pair( text_transform.name, reinterpret_cast<SPIBasePtr>(&SPStyle::text_transform ) ) );
// _propmap.insert( std::make_pair( direction.name, reinterpret_cast<SPIBasePtr>(&SPStyle::direction ) ) );
- // _propmap.insert( std::make_pair( block_progression.name, reinterpret_cast<SPIBasePtr>(&SPStyle::block_progression ) ) );
// _propmap.insert( std::make_pair( writing_mode.name, reinterpret_cast<SPIBasePtr>(&SPStyle::writing_mode ) ) );
+ // _propmap.insert( std::make_pair( text_orientation.name, reinterpret_cast<SPIBasePtr>(&SPStyle::text_orientation ) ) );
+ // _propmap.insert( std::make_pair( dominant_baseline.name, reinterpret_cast<SPIBasePtr>(&SPStyle::dominant_baseline ) ) );
// _propmap.insert( std::make_pair( baseline_shift.name, reinterpret_cast<SPIBasePtr>(&SPStyle::baseline_shift ) ) );
// _propmap.insert( std::make_pair( text_anchor.name, reinterpret_cast<SPIBasePtr>(&SPStyle::text_anchor ) ) );
// _propmap.insert( std::make_pair( white_space.name, reinterpret_cast<SPIBasePtr>(&SPStyle::white_space ) ) );
@@ -778,12 +781,12 @@ SPStyle::readIfUnset( gint id, gchar const *val ) {
case SP_PROP_DIRECTION:
direction.readIfUnset( val );
break;
- case SP_PROP_BLOCK_PROGRESSION:
- block_progression.readIfUnset( val );
- break;
case SP_PROP_WRITING_MODE:
writing_mode.readIfUnset( val );
break;
+ case SP_PROP_TEXT_ORIENTATION:
+ text_orientation.readIfUnset( val );
+ break;
case SP_PROP_TEXT_ANCHOR:
text_anchor.readIfUnset( val );
break;
@@ -796,6 +799,9 @@ SPStyle::readIfUnset( gint id, gchar const *val ) {
case SP_PROP_SHAPE_PADDING:
shape_padding.readIfUnset( val );
break;
+ case SP_PROP_DOMINANT_BASELINE:
+ dominant_baseline.readIfUnset( val );
+ break;
case SP_PROP_BASELINE_SHIFT:
baseline_shift.readIfUnset( val );
break;
@@ -805,9 +811,6 @@ SPStyle::readIfUnset( gint id, gchar const *val ) {
case SP_PROP_ALIGNMENT_BASELINE:
g_warning("Unimplemented style property SP_PROP_ALIGNMENT_BASELINE: value: %s", val);
break;
- case SP_PROP_DOMINANT_BASELINE:
- g_warning("Unimplemented style property SP_PROP_DOMINANT_BASELINE: value: %s", val);
- break;
case SP_PROP_GLYPH_ORIENTATION_HORIZONTAL:
g_warning("Unimplemented style property SP_PROP_ORIENTATION_HORIZONTAL: value: %s", val);
break;
@@ -1258,7 +1261,7 @@ SPStyle::getFontFeatureString() {
if( font_variant_east_asian.value & SP_CSS_FONT_VARIANT_EAST_ASIAN_RUBY )
feature_string += "ruby, ";
- if ( strcmp( font_feature_settings.value, "normal") ) {
+ if ( font_feature_settings.value && strcmp( font_feature_settings.value, "normal") ) {
// We do no sanity checking...
feature_string += font_feature_settings.value;
feature_string += ", ";
@@ -1689,16 +1692,19 @@ sp_style_unset_property_attrs(SPObject *o)
repr->setAttribute("text-anchor", NULL);
}
if (style->white_space.set) {
- repr->setAttribute("white_space", NULL);
+ repr->setAttribute("white-space", NULL);
}
if (style->shape_inside.set) {
- repr->setAttribute("shape_inside", NULL);
+ repr->setAttribute("shape-inside", NULL);
}
if (style->shape_padding.set) {
- repr->setAttribute("shape_padding", NULL);
+ repr->setAttribute("shape-padding", NULL);
}
if (style->writing_mode.set) {
- repr->setAttribute("writing_mode", NULL);
+ repr->setAttribute("writing-mode", NULL);
+ }
+ if (style->text_orientation.set) {
+ repr->setAttribute("text-orientation", NULL);
}
if (style->filter.set) {
repr->setAttribute("filter", NULL);
@@ -1781,8 +1787,8 @@ sp_css_attr_unset_text(SPCSSAttr *css)
sp_repr_css_set_property(css, "word-spacing", NULL);
sp_repr_css_set_property(css, "text-transform", NULL);
sp_repr_css_set_property(css, "direction", NULL);
- sp_repr_css_set_property(css, "block-progression", NULL);
sp_repr_css_set_property(css, "writing-mode", NULL);
+ sp_repr_css_set_property(css, "text-orientation", NULL);
sp_repr_css_set_property(css, "text-anchor", NULL);
sp_repr_css_set_property(css, "white-space", NULL);
sp_repr_css_set_property(css, "shape-inside", NULL);
@@ -1951,7 +1957,7 @@ sp_css_attr_scale(SPCSSAttr *css, double ex)
sp_css_attr_scale_property_single(css, "kerning", ex);
sp_css_attr_scale_property_single(css, "letter-spacing", ex);
sp_css_attr_scale_property_single(css, "word-spacing", ex);
- sp_css_attr_scale_property_single(css, "line-height", ex, true);
+ //sp_css_attr_scale_property_single(css, "line-height", ex, true);
return css;
}