Revision: 16579
http://sourceforge.net/p/skim-app/code/16579
Author: hofman
Date: 2026-09-30 16:42:31 +0000 (Wed, 30 Sep 2026)
Log Message:
-----------
Add some spaces in fdf
Modified Paths:
--------------
trunk/NSDocument_SKExtensions.m
trunk/PDFAnnotation_SKExtensions.m
trunk/SKFDFParser.m
Modified: trunk/NSDocument_SKExtensions.m
===================================================================
--- trunk/NSDocument_SKExtensions.m 2026-09-30 15:53:20 UTC (rev 16578)
+++ trunk/NSDocument_SKExtensions.m 2026-09-30 16:42:31 UTC (rev 16579)
@@ -299,28 +299,28 @@
NSMutableString *string = [NSMutableString
stringWithFormat:@"%%FDF-1.2\n%%%C%C%C%C\n", (unichar)0xe2, (unichar)0xe3,
(unichar)0xcf, (unichar)0xd3];
NSMutableString *annots = [NSMutableString string];
for (PDFAnnotation *note in [self notes]) {
- [string appendFormat:@"%ld 0 obj<<%@>>\nendobj\n", (long)(++i), [note
fdfString]];
+ [string appendFormat:@"%ld 0 obj << %@>>\nendobj\n", (long)(++i),
[note fdfString]];
[annots appendFormat:@"%ld 0 R ", (long)i];
}
- [string appendFormat:@"%ld 0 obj<<", (long)(++i)];
+ [string appendFormat:@"%ld 0 obj << ", (long)(++i)];
[string appendFDFName:SKFDFFDFKey];
- [string appendString:@"<<"];
+ [string appendString:@"<< "];
[string appendFDFName:SKFDFAnnotationsKey];
- [string appendFormat:@"[%@]", annots];
+ [string appendFormat:@"[ %@] ", annots];
[string appendFDFName:SKFDFFileKey];
[string appendString:@"("];
if (filename)
[string appendString:[[filename
lossyStringUsingEncoding:NSISOLatin1StringEncoding]
stringByEscapingParenthesis]];
- [string appendString:@")"];
+ [string appendString:@") "];
if ([fileIDStrings count] == 2) {
[string appendFDFName:SKFDFFileIDKey];
- [string appendFormat:@"[<%@><%@>]", [fileIDStrings objectAtIndex:0],
[fileIDStrings objectAtIndex:1]];
+ [string appendFormat:@"[<%@><%@>] ", [fileIDStrings objectAtIndex:0],
[fileIDStrings objectAtIndex:1]];
}
- [string appendString:@">>"];
+ [string appendString:@">> "];
[string appendString:@">>\nendobj\n"];
[string appendString:@"trailer\n<<"];
[string appendFDFName:SKFDFRootKey];
- [string appendFormat:@" %ld 0 R", (long)i];
+ [string appendFormat:@" %ld 0 R ", (long)i];
[string appendString:@">>\n"];
[string appendString:@"%%EOF\n"];
return [string dataUsingEncoding:NSISOLatin1StringEncoding];
Modified: trunk/PDFAnnotation_SKExtensions.m
===================================================================
--- trunk/PDFAnnotation_SKExtensions.m 2026-09-30 15:53:20 UTC (rev 16578)
+++ trunk/PDFAnnotation_SKExtensions.m 2026-09-30 16:42:31 UTC (rev 16579)
@@ -414,48 +414,48 @@
[fdfString appendFDFName:SKFDFTypeKey];
[fdfString appendFDFName:SKFDFAnnotation];
[fdfString appendFDFName:SKFDFAnnotationTypeKey];
- [fdfString appendString:[self
valueForAnnotationKey:PDFAnnotationKeySubtype]];
+ [fdfString appendFormat:@"%@ ", [self
valueForAnnotationKey:PDFAnnotationKeySubtype]];
[fdfString appendFDFName:SKFDFAnnotationBoundsKey];
- [fdfString appendFormat:@"[%g %g %g %g]", NSMinX(bounds), NSMinY(bounds),
NSMaxX(bounds), NSMaxY(bounds)];
+ [fdfString appendFormat:@"[ %g %g %g %g ] ", NSMinX(bounds),
NSMinY(bounds), NSMaxX(bounds), NSMaxY(bounds)];
[fdfString appendFDFName:SKFDFAnnotationPageIndexKey];
- [fdfString appendFormat:@" %lu", (unsigned long)[self pageIndex]];
+ [fdfString appendFormat:@"%lu ", (unsigned long)[self pageIndex]];
[fdfString appendFDFName:SKFDFAnnotationFlagsKey];
- [fdfString appendString:@" 4"];
+ [fdfString appendString:@"4 "];
if (a > 0.0) {
[fdfString appendFDFName:SKFDFAnnotationColorKey];
- [fdfString appendFormat:@"[%g %g %g]", r, g, b];
+ [fdfString appendFormat:@"[ %g %g %g ] ", r, g, b];
}
if (border) {
[fdfString appendFDFName:SKFDFAnnotationBorderStylesKey];
- [fdfString appendString:@"<<"];
+ [fdfString appendString:@"<< "];
if ([border lineWidth] > 0.0) {
[fdfString appendFDFName:SKFDFAnnotationLineWidthKey];
- [fdfString appendFormat:@" %g", [border lineWidth]];
+ [fdfString appendFormat:@"%g ", [border lineWidth]];
[fdfString appendFDFName:SKFDFAnnotationBorderStyleKey];
[fdfString
appendFDFName:SKFDFBorderStyleFromPDFBorderStyle([border style])];
if ([border style] == kPDFBorderStyleDashed) {
[fdfString appendFDFName:SKFDFAnnotationDashPatternKey];
- [fdfString appendFormat:@"[%@]", [[[border dashPattern]
valueForKey:@"stringValue"] componentsJoinedByString:@" "]];
+ [fdfString appendFormat:@"[ %@ ] ", [[[border dashPattern]
valueForKey:@"stringValue"] componentsJoinedByString:@" "]];
}
} else {
[fdfString appendFDFName:SKFDFAnnotationLineWidthKey];
- [fdfString appendString:@" 0"];
+ [fdfString appendString:@"0 "];
}
- [fdfString appendString:@">>"];
+ [fdfString appendString:@">> "];
}
if (contents) {
[fdfString appendFDFName:SKFDFAnnotationContentsKey];
[fdfString appendString:@"("];
[fdfString appendString:[[contents
lossyStringUsingEncoding:NSISOLatin1StringEncoding]
stringByEscapingParenthesis]];
- [fdfString appendString:@")"];
+ [fdfString appendString:@") "];
}
if (modDate) {
[fdfString appendFDFName:SKFDFAnnotationModificationDateKey];
- [fdfString appendFormat:@"(%@)", [modDate PDFDescription]];
+ [fdfString appendFormat:@"(%@) ", [modDate PDFDescription]];
}
if (userName) {
[fdfString appendFDFName:SKFDFAnnotationUserNameKey];
- [fdfString appendFormat:@"(%@)", [[userName
lossyStringUsingEncoding:NSISOLatin1StringEncoding]
stringByEscapingParenthesis]];
+ [fdfString appendFormat:@"(%@) ", [[userName
lossyStringUsingEncoding:NSISOLatin1StringEncoding]
stringByEscapingParenthesis]];
}
if ([self hasInteriorColor]) {
a = 0.0;
@@ -462,51 +462,51 @@
[[[self interiorColor] colorUsingColorSpaceName:NSDeviceRGBColorSpace]
getRed:&r green:&g blue:&b alpha:&a];
if (a > 0.0) {
[fdfString appendFDFName:SKFDFAnnotationInteriorColorKey];
- [fdfString appendFormat:@"[%g %g %g]", r, g, b];
+ [fdfString appendFormat:@"[ %g %g %g ] ", r, g, b];
}
}
if ([type isEqualToString:SKNFreeTextString]) {
[[[self fontColor] colorUsingColorSpaceName:NSDeviceRGBColorSpace]
getRed:&r green:&g blue:&b alpha:&a];
[fdfString appendFDFName:SKFDFDefaultAppearanceKey];
- [fdfString appendFormat:@"(/%@ %g Tf %g %g %g rg)", [self fontName],
[self fontSize], r, g, b];
+ [fdfString appendFormat:@"(/%@ %g Tf %g %g %g rg) ", [self fontName],
[self fontSize], r, g, b];
[fdfString appendFDFName:SKFDFDefaultStyleKey];
[[[self fontColor] colorUsingColorSpace:[NSColorSpace sRGBColorSpace]]
getRed:&r green:&g blue:&b alpha:&a];
- [fdfString appendFormat:@"(font: %@ %gpt; text-align:%@;
color:#%.2x%.2x%.2x)", [self fontName], [self fontSize],
alignmentStyleKeyword([self alignment]), (unsigned int)(255*r), (unsigned
int)(255*g), (unsigned int)(255*b)];
+ [fdfString appendFormat:@"(font: %@ %gpt; text-align:%@;
color:#%.2x%.2x%.2x) ", [self fontName], [self fontSize],
alignmentStyleKeyword([self alignment]), (unsigned int)(255*r), (unsigned
int)(255*g), (unsigned int)(255*b)];
[fdfString appendFDFName:SKFDFAnnotationAlignmentKey];
- [fdfString appendFormat:@" %ld",
(long)SKFDFFreeTextAnnotationAlignmentFromPDFFreeTextAnnotationAlignment([self
alignment])];
+ [fdfString appendFormat:@"%ld ",
(long)SKFDFFreeTextAnnotationAlignmentFromPDFFreeTextAnnotationAlignment([self
alignment])];
} else if ([type isEqualToString:SKNHighlightString] || [type
isEqualToString:SKNUnderlineString] || [type
isEqualToString:SKNStrikeOutString]) {
[fdfString appendFDFName:SKFDFAnnotationQuadrilateralPointsKey];
- [fdfString appendString:@"["];
+ [fdfString appendString:@"[ "];
for (NSValue *value in [self quadrilateralPoints]) {
NSPoint point = [value pointValue];
[fdfString appendFormat:@"%g %g ", point.x + NSMinX(bounds),
point.y + NSMinY(bounds)];
}
- [fdfString appendString:@"]"];
+ [fdfString appendString:@"] "];
} else if ([type isEqualToString:SKNLineString]) {
[fdfString appendFDFName:SKFDFAnnotationLineStylesKey];
- [fdfString appendString:@"["];
+ [fdfString appendString:@"[ "];
[fdfString appendFDFName:SKFDFLineStyleFromPDFLineStyle([self
startLineStyle])];
[fdfString appendFDFName:SKFDFLineStyleFromPDFLineStyle([self
endLineStyle])];
- [fdfString appendString:@"]"];
+ [fdfString appendString:@"] "];
NSPoint startPoint = SKAddPoints([self startPoint], bounds.origin);
NSPoint endPoint = SKAddPoints([self endPoint], bounds.origin);
[fdfString appendFDFName:SKFDFAnnotationLinePointsKey];
- [fdfString appendFormat:@"[%g %g %g %g]", startPoint.x, startPoint.y,
endPoint.x, endPoint.y];
+ [fdfString appendFormat:@"[ %g %g %g %g ] ", startPoint.x,
startPoint.y, endPoint.x, endPoint.y];
} else if ([type isEqualToString:SKNInkString]) {
NSPoint point;
NSInteger i, iMax;
[fdfString appendFDFName:SKFDFAnnotationInkListKey];
- [fdfString appendString:@"["];
+ [fdfString appendString:@"[ "];
for (NSBezierPath *path in [self paths]) {
iMax = [path elementCount];
- [fdfString appendString:@"["];
+ [fdfString appendString:@"[ "];
for (i = 0; i < iMax; i++) {
point = [path associatedPointForElementAtIndex:i];
[fdfString appendFormat:@"%g %g ", point.x + NSMinX(bounds),
point.y + NSMinY(bounds)];
}
- [fdfString appendString:@"]"];
+ [fdfString appendString:@"] "];
}
- [fdfString appendString:@"]"];
+ [fdfString appendString:@"] "];
} else if ([type isEqualToString:SKNNoteString] || [type
isEqualToString:SKNTextString] || [type isEqualToString:SKNStampString]) {
[fdfString appendFDFName:SKFDFAnnotationIconTypeKey];
[fdfString
appendFDFName:SKFDFTextAnnotationIconTypeFromPDFTextAnnotationIconType([self
iconType])];
@@ -513,14 +513,14 @@
} else if ([type isEqualToString:SKNWidgetString]) {
NSString *ft = [self widgetFieldType];
[fdfString appendFDFName:SKFDFAnnotationFieldTypeKey];
- [fdfString appendString:ft];
+ [fdfString appendFormat:@"%@ ", ft];
[fdfString appendFDFName:SKFDFAnnotationFieldNameKey];
- [fdfString appendFormat:@"(%@)", [[[self fieldName] ?: @""
lossyStringUsingEncoding:NSISOLatin1StringEncoding]
stringByEscapingParenthesis]];
+ [fdfString appendFormat:@"(%@) ", [[[self fieldName] ?: @""
lossyStringUsingEncoding:NSISOLatin1StringEncoding]
stringByEscapingParenthesis]];
[fdfString appendFDFName:SKFDFAnnotationFieldValueKey];
if ([ft isEqualToString:PDFAnnotationWidgetSubtypeButton]) {
- [fdfString appendFormat:@"/%@", [self buttonWidgetState] ==
kPDFWidgetOnState ? [self buttonWidgetStateString] : @"Off"];
+ [fdfString appendFormat:@"/%@ ", [self buttonWidgetState] ==
kPDFWidgetOnState ? [self buttonWidgetStateString] : @"Off"];
} else {
- [fdfString appendFormat:@"(%@)", [[[self widgetStringValue] ?: @""
lossyStringUsingEncoding:NSISOLatin1StringEncoding]
stringByEscapingParenthesis]];
+ [fdfString appendFormat:@"(%@) ", [[[self widgetStringValue] ?:
@"" lossyStringUsingEncoding:NSISOLatin1StringEncoding]
stringByEscapingParenthesis]];
}
}
Modified: trunk/SKFDFParser.m
===================================================================
--- trunk/SKFDFParser.m 2026-09-30 15:53:20 UTC (rev 16578)
+++ trunk/SKFDFParser.m 2026-09-30 16:42:31 UTC (rev 16579)
@@ -479,6 +479,6 @@
@implementation NSMutableString (SKFDFExtensions)
- (void)appendFDFName:(SKFDFString)name {
- [self appendFormat:@"/%s", name];
+ [self appendFormat:@"/%s ", name];
}
@end
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