Revision: 13274
http://sourceforge.net/p/skim-app/code/13274
Author: hofman
Date: 2023-02-01 10:44:41 +0000 (Wed, 01 Feb 2023)
Log Message:
-----------
get fontColor from /DA annotation value
Modified Paths:
--------------
trunk/SkimNotes/PDFAnnotation_SKNExtensions.m
Modified: trunk/SkimNotes/PDFAnnotation_SKNExtensions.m
===================================================================
--- trunk/SkimNotes/PDFAnnotation_SKNExtensions.m 2023-02-01 10:00:37 UTC
(rev 13273)
+++ trunk/SkimNotes/PDFAnnotation_SKNExtensions.m 2023-02-01 10:44:41 UTC
(rev 13274)
@@ -441,11 +441,29 @@
if (font)
[dict setObject:font forKey:SKNPDFAnnotationFontKey];
+ NSColor *fontColor = nil;
if ([self respondsToSelector:@selector(fontColor)]) {
- NSColor *fontColor = [(PDFAnnotationFreeText *)self fontColor];
- if (fontColor)
- [dict setObject:fontColor
forKey:SKNPDFAnnotationFontColorKey];
+ fontColor = [(PDFAnnotationFreeText *)self fontColor];
}
+ if (fontColor == nil && (value = [self
valueForAnnotationKey:@"/DA"])) {
+ NSUInteger end = [value rangeOfString:@"rg"].location;
+ if (end != NSNotFound) {
+ NSCharacterSet *numberChars = [NSCharacterSet
characterSetWithCharactersInString:@"0123456789. "];
+ NSUInteger start = end;
+ while (start > 0 && [numberChars characterIsMember:[value
characterAtIndex:start--]]) {}
+ if (start < end) {
+ NSScanner *scanner = [[NSScanner alloc]
initWithString:[value substringWithRange:NSMakeRange(start, end - start)]];
+ CGFloat c;
+ NSMutableArray *array = [NSMutableArray array];
+ while ([scanner scanDouble:&c])
+ [array addObject:[NSNumber numberWithDouble:c]];
+ fontColor = SKNColorFromArray(array);
+ [scanner release];
+ }
+ }
+ }
+ if (fontColor)
+ [dict setObject:fontColor forKey:SKNPDFAnnotationFontColorKey];
}
if ([type isEqualToString:SKNWidgetString]) {
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit