Commit Graph

79 Commits

Author SHA1 Message Date
Mikael Sand 027b8c16aa fix: Text color doesn't work with inlineSize #1225 2020-01-01 20:28:30 +02:00
Jakub Adamczyk 6be3614d86 fix memory font memory leaks iOS 2019-12-09 16:06:28 +01:00
Mikael Sand 974f3a8e8e fix(ios): memory leak in tspan, fixes #1073 2019-10-05 18:44:26 +03:00
Mikael Sand 8687a3d1e9 fix: native method signatures web compatibility / spec conformance 2019-10-04 19:55:24 +03:00
Mikael Sand df69c26f9c fix(ios): optimize extractPathData, clear PathMeasure when no textPath
Return early if calling extractPathData with same CGPath as previously
2019-10-04 17:31:08 +03:00
Mikael Sand 78c4f2098d feat(ios): implement getTotalLength and getPointAtLength 2019-10-03 22:17:59 +03:00
Mikael Sand 95b0e0f498 bugfix(ios): Fix text onPress 2019-08-05 19:14:47 +03:00
Mikael Sand 44b700eed8 feat: Implement inlineSize support 2019-07-30 19:02:03 +03:00
Mikael Sand bf0adb4a82 Improve variable font weight support
Refactor SVGLengthUnitType, AbsoluteFontWeight
2019-07-20 20:08:15 +03:00
Mikael Sand 0a94b1ee89 [ios] support numeric, relative and animated font-weight
optimize enum conversion handling for null and empty string
2019-07-19 18:11:05 +03:00
Mikael Sand e69d2320b2 Improve text subtree advance calculation caching 2019-02-10 02:52:15 +02:00
Mikael Sand d5fa136a0f Fix text-anchor subtree advance/extent calculation for letter-spacing
Related to
https://github.com/react-native-community/react-native-svg/issues/570
2019-02-10 01:47:46 +02:00
Mikael Sand 04fc2cdce5 [iOS] Attempt to fix text-anchor subtree advance/extent calculation
Related to
https://github.com/react-native-community/react-native-svg/issues/600
https://github.com/react-native-community/react-native-svg/issues/570
2019-02-09 22:05:47 +02:00
Mikael Sand abb17bc7f0 Fix re-rendering of emoji when path data is cached, closes #927 2019-02-08 03:19:21 +02:00
Mikael Sand c69ac574cd [iOS] Fix glyph path and clip path release. 2019-01-12 22:19:59 +02:00
Mikael Sand a25f05da47 [iOS] Cache node/group paths. Simpler memory handling, needs testing. 2019-01-12 21:28:46 +02:00
Mikael Sand 72a53f3730 [ios] Fix remaining warnings. 2018-10-21 21:48:43 +03:00
Mikael Sand d7f5834bec [ios] Simplify ios build conf. Add stricter warnings and fix them. 2018-10-21 19:38:29 +03:00
Mikael Sand 9fe9e2d5b3 [ios] Handle failed realloc gracefully. Change float/double to CGFloat.
Reduces potential for wrong type of float given to core graphics.
Reduces cpu & memory consumption on devices where CGFloat is float.
Remove redundant parameters.
2018-10-20 20:46:04 +03:00
Mikael Sand 64b6056a2c [ios] Harmonize setupTextPath with android 2018-10-19 04:00:59 +03:00
Mikael Sand 1e0a9ba5ff [ios] Upgrade project version, fix warnings and types 2018-10-19 03:52:04 +03:00
Mikael Sand a8fe15c506 [iOS] Refactor remaining uses of NSString to SVGLength 2018-10-19 01:19:35 +03:00
Mikael Sand 50eee0abe7 Optimize setting properties and animation: Implement SVGLength
Removes redundant round-trip (double > string > double) when animating.
Optimizes for the case when dynamic arguments are numbers.
Improves memory consumption and cpu load.
2018-10-18 17:56:07 +03:00
Mikael Sand bf3fc3d677 Merge pull request #746 from msand/emoji
Implement basic support for unicode emoji
2018-09-15 19:11:17 +03:00
Mikael Sand c0f51d81a8 [iOS] More extensive invalidation logic 2018-09-12 20:37:00 +03:00
Mikael Sand d0a9cbaceb Fix caching of text 2018-08-25 00:17:36 +03:00
Mikael Sand e613efa6a0 [ios] Fix unicode emoji off by one error. 2018-08-10 01:14:11 +03:00
Mikael Sand 0b7cd5241e [ios] Fix unicode emoji layout. 2018-08-09 23:47:31 +03:00
Mikael Sand 87cc194fc2 [ios] Fix substring range length calculation for unicode emoji. 2018-08-09 22:02:09 +03:00
Mikael Sand 49a892e52c [ios] Fix substring range length calculation for unicode emoji. 2018-08-09 21:24:09 +03:00
Mikael Sand 429f1969c3 Implement basic support for unicode emoji 2018-07-30 05:45:50 +03:00
Mikael Sand f225d0648d [ios] Restore ability to disable kerning 2018-07-02 09:10:15 +03:00
Mikael Sand 85729ee658 [ios] Fix kerning for Korean and Chinese characters. Issue #719 2018-07-02 08:16:05 +03:00
Mikael Sand 13fcdf6f15 Merge remote-tracking branch 'msand/NestedSvg' into merge-test
# Conflicts:
#	ios/Elements/RNSVGGroup.m
#	ios/RNSVGNode.h
#	ios/RNSVGNode.m
2018-03-19 00:27:01 +02:00
Nikolay Demyankov f7c81ef368 Remove getAlignmentBaseline and getBaselineShift methods, use property methods instead. 2018-03-14 17:00:38 +01:00
Nikolay Demyankov ef8b687ff0 Fix retain cycle for the textRoot property. 2018-03-14 15:31:02 +01:00
Mikael Sand b5eeb1ee72 Allow nesting React-Native View components inside svg 2018-02-21 12:17:12 +02:00
Ben Roth 5f74c92a58 Namespaces or un-globalifies a handful more iOS globals 2018-02-16 17:14:10 -08:00
Ben Roth b217dcaff8 Prefix iOS symbols with RNSVG
fixes https://github.com/react-native-community/react-native-svg/issues/603
2018-02-14 19:04:32 -08:00
Mikael Sand 4a8808b0fb Fix handling of combined ligatures and kerning.
Remove hasGlyph helper and ligature tracking array.
Use single call to:
 - CFAttributedStringCreate
 - CTLineCreateWithAttributedString
and a call per bi-di/layout run to:
 - CTRunGetGlyphs for glyphs
 - CTFontGetAdvancesForGlyphs for advances
 - CTRunGetStringIndices for indices of ligatures
And an efficient loop over the substituted characters of ligatures,
to make glyph context calls for incrementing the attribute indices.
2018-01-02 23:17:04 +02:00
Mikael Sand 17a66f3c2c Fix ligature glyph advance value calculation on ios 2017-12-31 15:36:26 +02:00
Mikael Sand f8b0d34c6a Fix types and glyph context nextX spacing handling. 2017-12-31 04:23:58 +02:00
Mikael Sand 9ab405cbec Add binary search for text paths with lineCount >= 16 2017-12-31 01:38:28 +02:00
Mikael Sand f07e8f041c Allow TextPath to reference any RNSVGNode instead of only RNSVGPath.
Remove unused RNSVGTextAnchor
2017-12-30 03:35:58 +02:00
Mikael Sand 7088d52b71 Refactor and simplify, cache path properties.
Remove use of UIBezierPath and categories.
2017-12-29 23:04:24 +02:00
Mikael Sand b9959c779c Implement tailor made data structure and logic for text on a path rendering.
Remove postinstall script and dependencies on PerformanceBezier & QuartzBookPack.
2017-12-28 06:25:07 +02:00
Mikael Sand ec2a967592 Implement getAlignmentBaseline and getBaselineShift in ios. (#527)
* Implement correct transform parser

* Implement getAlignmentBaseline and getBaselineShift in ios.
Add comments to glyphcontext and align with android.
Implement correct isWordSeparator predicate.
Cleanup GlyphContext j2objc remnants.

* Fix getBaselineShift bugs and font data invalidation.
2017-12-16 08:57:53 -08:00
szakhlypa ffea98f863 Fix memory leak in iOS RNSVGTSpan (#521) 2017-11-23 13:46:48 -08:00
Horcrux 177f71c801 import QuartzBookPack as framework 2017-11-07 21:03:53 +08:00
magicismight be8797be52 Add PerformanceBezier as a submodule 2017-09-24 23:44:17 +08:00