Skip to content

Commit 3b59c36

Browse files
committed
Implement initial versions of libraries (lispkit image) and (lispkit image process).
1 parent 8186f64 commit 3b59c36

File tree

14 files changed

+5856
-19
lines changed

14 files changed

+5856
-19
lines changed

LispKit.xcodeproj/project.pbxproj

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@
8080
CC131C521CDE840C006C030C /* LocalSyntaxRules.scm in Resources */ = {isa = PBXBuildFile; fileRef = CC131C511CDE840C006C030C /* LocalSyntaxRules.scm */; };
8181
CC1348E82D26AB38002DBF0D /* VisionLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC1348E72D26AB2F002DBF0D /* VisionLibrary.swift */; };
8282
CC1348E92D26AB38002DBF0D /* VisionLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC1348E72D26AB2F002DBF0D /* VisionLibrary.swift */; };
83+
CC1348EB2D2E7AD4002DBF0D /* ImageLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC1348EA2D2E7AD0002DBF0D /* ImageLibrary.swift */; };
84+
CC1348EC2D2E7AD4002DBF0D /* ImageLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC1348EA2D2E7AD0002DBF0D /* ImageLibrary.swift */; };
8385
CC14F4B01F939486000FB1E0 /* Features.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC14F4AF1F939486000FB1E0 /* Features.swift */; };
8486
CC14F4B21F93A455000FB1E0 /* FeatureRequirement.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC14F4B11F93A455000FB1E0 /* FeatureRequirement.swift */; };
8587
CC14F4B31F93AE04000FB1E0 /* AvlTrees.scm in Copy examples */ = {isa = PBXBuildFile; fileRef = CC14F4AE1F9385BF000FB1E0 /* AvlTrees.scm */; };
@@ -238,6 +240,10 @@
238240
CC3C92441D84C0D800016C28 /* Library.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC3C92431D84C0D800016C28 /* Library.swift */; };
239241
CC3F782F2157D49000F88F9B /* 51.sld in Copy pre-installed SRFI libraries */ = {isa = PBXBuildFile; fileRef = CC3F782E2157D22B00F88F9B /* 51.sld */; };
240242
CC3F78312157D73700F88F9B /* 11.sld in Copy pre-installed SRFI libraries */ = {isa = PBXBuildFile; fileRef = CC3F78302157D63E00F88F9B /* 11.sld */; };
243+
CC421D3B2D4786B6006AED19 /* process.sld in Sources */ = {isa = PBXBuildFile; fileRef = CC421D3A2D4786B2006AED19 /* process.sld */; };
244+
CC421D3C2D4786B6006AED19 /* process.sld in Sources */ = {isa = PBXBuildFile; fileRef = CC421D3A2D4786B2006AED19 /* process.sld */; };
245+
CC421D3E2D478875006AED19 /* process.sld in Copy pre-installed LispKit library: LispKit Image Process */ = {isa = PBXBuildFile; fileRef = CC421D3A2D4786B2006AED19 /* process.sld */; };
246+
CC421D402D4788FF006AED19 /* process.sld in Copy pre-installed LispKit library: LispKit Image Process */ = {isa = PBXBuildFile; fileRef = CC421D3A2D4786B2006AED19 /* process.sld */; };
241247
CC436C401FFBD52F0095559E /* logic.sld in Copy pre-installed LispKit libraries */ = {isa = PBXBuildFile; fileRef = CC436C3F1FFBD5090095559E /* logic.sld */; };
242248
CC436C421FFD96800095559E /* Logic.scm in Resources */ = {isa = PBXBuildFile; fileRef = CC436C411FFD94870095559E /* Logic.scm */; };
243249
CC4385BC20BABAA600055289 /* HTTP.scm in Copy examples */ = {isa = PBXBuildFile; fileRef = CC4385BB20BAB79500055289 /* HTTP.scm */; };
@@ -1614,6 +1620,28 @@
16141620
name = "Copy pre-installed third-party Adapton library";
16151621
runOnlyForDeploymentPostprocessing = 0;
16161622
};
1623+
CC421D3D2D478860006AED19 /* Copy pre-installed LispKit library: LispKit Image Process */ = {
1624+
isa = PBXCopyFilesBuildPhase;
1625+
buildActionMask = 2147483647;
1626+
dstPath = Root/LispKit/Libraries/lispkit/image;
1627+
dstSubfolderSpec = 7;
1628+
files = (
1629+
CC421D3E2D478875006AED19 /* process.sld in Copy pre-installed LispKit library: LispKit Image Process */,
1630+
);
1631+
name = "Copy pre-installed LispKit library: LispKit Image Process";
1632+
runOnlyForDeploymentPostprocessing = 0;
1633+
};
1634+
CC421D3F2D4788BE006AED19 /* Copy pre-installed LispKit library: LispKit Image Process */ = {
1635+
isa = PBXCopyFilesBuildPhase;
1636+
buildActionMask = 2147483647;
1637+
dstPath = Root/LispKit/Libraries/lispkit/image;
1638+
dstSubfolderSpec = 7;
1639+
files = (
1640+
CC421D402D4788FF006AED19 /* process.sld in Copy pre-installed LispKit library: LispKit Image Process */,
1641+
);
1642+
name = "Copy pre-installed LispKit library: LispKit Image Process";
1643+
runOnlyForDeploymentPostprocessing = 0;
1644+
};
16171645
CC458D882386045500231A63 /* Embed Frameworks */ = {
16181646
isa = PBXCopyFilesBuildPhase;
16191647
buildActionMask = 2147483647;
@@ -3126,6 +3154,7 @@
31263154
CC131C4F1CDE0E01006C030C /* LispKitTestCase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = LispKitTestCase.swift; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
31273155
CC131C511CDE840C006C030C /* LocalSyntaxRules.scm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LocalSyntaxRules.scm; sourceTree = "<group>"; };
31283156
CC1348E72D26AB2F002DBF0D /* VisionLibrary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VisionLibrary.swift; sourceTree = "<group>"; };
3157+
CC1348EA2D2E7AD0002DBF0D /* ImageLibrary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageLibrary.swift; sourceTree = "<group>"; };
31293158
CC14F4AE1F9385BF000FB1E0 /* AvlTrees.scm */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = text; path = AvlTrees.scm; sourceTree = "<group>"; tabWidth = 2; };
31303159
CC14F4AF1F939486000FB1E0 /* Features.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Features.swift; sourceTree = "<group>"; };
31313160
CC14F4B11F93A455000FB1E0 /* FeatureRequirement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeatureRequirement.swift; sourceTree = "<group>"; };
@@ -3233,6 +3262,7 @@
32333262
CC3C92431D84C0D800016C28 /* Library.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Library.swift; sourceTree = "<group>"; wrapsLines = 1; };
32343263
CC3F782E2157D22B00F88F9B /* 51.sld */ = {isa = PBXFileReference; lastKnownFileType = text; path = 51.sld; sourceTree = "<group>"; };
32353264
CC3F78302157D63E00F88F9B /* 11.sld */ = {isa = PBXFileReference; lastKnownFileType = text; path = 11.sld; sourceTree = "<group>"; };
3265+
CC421D3A2D4786B2006AED19 /* process.sld */ = {isa = PBXFileReference; lastKnownFileType = text; path = process.sld; sourceTree = "<group>"; };
32363266
CC436C3F1FFBD5090095559E /* logic.sld */ = {isa = PBXFileReference; lastKnownFileType = text; path = logic.sld; sourceTree = "<group>"; };
32373267
CC436C411FFD94870095559E /* Logic.scm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Logic.scm; sourceTree = "<group>"; };
32383268
CC4385BB20BAB79500055289 /* HTTP.scm */ = {isa = PBXFileReference; lastKnownFileType = text; path = HTTP.scm; sourceTree = "<group>"; };
@@ -4103,6 +4133,14 @@
41034133
path = Sources/LispKitTools;
41044134
sourceTree = "<group>";
41054135
};
4136+
CC421D392D478698006AED19 /* image */ = {
4137+
isa = PBXGroup;
4138+
children = (
4139+
CC421D3A2D4786B2006AED19 /* process.sld */,
4140+
);
4141+
path = image;
4142+
sourceTree = "<group>";
4143+
};
41064144
CC48055B1CFE366100D608B6 /* Assets */ = {
41074145
isa = PBXGroup;
41084146
children = (
@@ -4191,6 +4229,7 @@
41914229
CC2427D5279D621700913C05 /* thread */,
41924230
CC703A1B218D09D100E71EA9 /* clos */,
41934231
CC26AD3E21470AC90090D9EE /* draw */,
4232+
CC421D392D478698006AED19 /* image */,
41944233
CC240E8A24FB144500FF6D0F /* sxml */,
41954234
);
41964235
path = lispkit;
@@ -4766,6 +4805,7 @@
47664805
CC4575C520F00C4400116F0F /* DrawingLibrary.swift */,
47674806
CCD5E5972633405900C45EA0 /* DrawingLibrary_iOS.swift */,
47684807
CC37A16B2C9E145100DF6C24 /* DrawBarcodeLibrary.swift */,
4808+
CC1348EA2D2E7AD0002DBF0D /* ImageLibrary.swift */,
47694809
CC1348E72D26AB2F002DBF0D /* VisionLibrary.swift */,
47704810
CCCB66E3283056E30004827D /* StyledTextLibrary.swift */,
47714811
CCA6C3D023610674007D2AF0 /* MarkdownLibrary.swift */,
@@ -5144,6 +5184,7 @@
51445184
CC2427D8279D66D900913C05 /* Copy pre-installed LispKit library: LispKit Thread */,
51455185
CC26AD40214722710090D9EE /* Copy pre-installed LispKit library: LispKit Draw Turtle */,
51465186
CC6E93D0281E9FB10002C4BC /* Copy pre-installed LispKit library: LispKit Draw Chart Bar */,
5187+
CC421D3D2D478860006AED19 /* Copy pre-installed LispKit library: LispKit Image Process */,
51475188
CC703A1E218D0AF500E71EA9 /* Copy pre-installed LispKit library: LispKit CLOS Support */,
51485189
CC82933121D6E9A6003E1D3C /* Copy pre-installed LispKit library: LispKit Log Internal */,
51495190
CC240E8F24FB1C6C00FF6D0F /* Copy pre-installed LispKit library: LispKit SXML parsers */,
@@ -5225,6 +5266,7 @@
52255266
CC2427DA279D672B00913C05 /* Copy pre-installed LispKit library: LispKit Thread */,
52265267
CCC48DA925E9809000D082AD /* Copy pre-installed LispKit library: LispKit Draw Turtle */,
52275268
CC6E93D2281EA0260002C4BC /* Copy pre-installed LispKit library: LispKit Draw Chart Bar */,
5269+
CC421D3F2D4788BE006AED19 /* Copy pre-installed LispKit library: LispKit Image Process */,
52285270
CCC48DAE25E980D400D082AD /* Copy pre-installed LispKit library: LispKit CLOS Support */,
52295271
CCC48DAF25E982A100D082AD /* Copy pre-installed LispKit library: LispKit Log Internal */,
52305272
CCC48DB025E982E300D082AD /* Copy pre-installed LispKit library: LispKit SXML parsers */,
@@ -5484,7 +5526,9 @@
54845526
CC76312920E9550B005F27CE /* Owners.swift in Sources */,
54855527
CCAD52E61C48468F00DBD8EE /* SyntaxRules.swift in Sources */,
54865528
CCE4AECE204212EC008BF7E8 /* SourceManager.swift in Sources */,
5529+
CC421D3B2D4786B6006AED19 /* process.sld in Sources */,
54875530
CC517E5829A217980096FC72 /* CryptoLibrary.swift in Sources */,
5531+
CC1348EC2D2E7AD4002DBF0D /* ImageLibrary.swift in Sources */,
54885532
CC4575C620F00C4400116F0F /* DrawingLibrary.swift in Sources */,
54895533
CCAD52E71C48468F00DBD8EE /* Type.swift in Sources */,
54905534
CC5A47231C529D4A00EFCF76 /* CoreLibrary.swift in Sources */,
@@ -5665,6 +5709,7 @@
56655709
CC1D533E2BF1709E00EE1A24 /* JSONLibrary.swift in Sources */,
56665710
CCC48C6C25E5B94300D082AD /* Owners.swift in Sources */,
56675711
CC2DA7482773195600DE69CF /* ThreadLibrary.swift in Sources */,
5712+
CC1348EB2D2E7AD4002DBF0D /* ImageLibrary.swift in Sources */,
56685713
CCC48C8925E5B95B00D082AD /* NativeObject.swift in Sources */,
56695714
CCC48CFE25E5BF8700D082AD /* SQLiteLibrary.swift in Sources */,
56705715
CCC48C8725E5B95B00D082AD /* Symbol.swift in Sources */,
@@ -5701,6 +5746,7 @@
57015746
CCC48C8F25E5B95B00D082AD /* Tuple.swift in Sources */,
57025747
CCC48CCB25E5B98600D082AD /* MathLibrary.swift in Sources */,
57035748
CCC48C7125E5B94300D082AD /* MultiMap.swift in Sources */,
5749+
CC421D3C2D4786B6006AED19 /* process.sld in Sources */,
57045750
CCC48C9D25E5B96800D082AD /* Parser.swift in Sources */,
57055751
CCC48C9125E5B95B00D082AD /* Equality.swift in Sources */,
57065752
CCC48C9E25E5B96800D082AD /* BindingGroup.swift in Sources */,

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
========================
33

44
[![Platform: macOS | iOS](https://img.shields.io/badge/Platform-macOS%20%7C%20iOS-blue.svg?style=flat)](https://developer.apple.com/osx/)
5-
[![Language: Swift 5.9](https://img.shields.io/badge/Language-Swift%205.9-green.svg?style=flat)](https://developer.apple.com/swift/)
6-
[![IDE: Xcode 15](https://img.shields.io/badge/IDE-Xcode%2015-orange.svg?style=flat)](https://developer.apple.com/xcode/)
5+
[![Language: Swift 6](https://img.shields.io/badge/Language-Swift%206-green.svg?style=flat)](https://developer.apple.com/swift/)
6+
[![IDE: Xcode 16](https://img.shields.io/badge/IDE-Xcode%2015-orange.svg?style=flat)](https://developer.apple.com/xcode/)
77
[![Carthage: compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
88
[![License: Apache](http://img.shields.io/badge/License-Apache-lightgrey.svg?style=flat)](https://raw.githubusercontent.com/objecthub/swift-lispkit/master/LICENSE)
99

@@ -382,8 +382,8 @@ The following technologies are needed to build the components of the LispKit fra
382382
command-line tool, all that is needed is the Swift Package Manager. For compiling the framework and trying
383383
the command-line tool directly in Xcode, the Swift Package Manager is not needed.
384384

385-
- [Swift 5.9](https://developer.apple.com/swift/)
386-
- [Xcode 15](https://developer.apple.com/xcode/)
385+
- [Swift 6](https://developer.apple.com/swift/)
386+
- [Xcode 16](https://developer.apple.com/xcode/)
387387
- [Swift Package Manager](https://swift.org/package-manager/)
388388
- [NumberKit](http://github.com/objecthub/swift-numberkit)
389389
- [MarkdownKit](http://github.com/objecthub/swift-markdownkit)

Sources/LispKit iOS/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@
2121
<key>CFBundleVersion</key>
2222
<string>$(CURRENT_PROJECT_VERSION)</string>
2323
<key>NSHumanReadableCopyright</key>
24-
<string>Copyright © 2016–2024 Matthias Zenger. All rights reserved.</string>
24+
<string>Copyright © 2016–2025 Matthias Zenger. All rights reserved.</string>
2525
</dict>
2626
</plist>

Sources/LispKit/Compiler/EvalError.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,8 @@ public enum EvalError: Int, Hashable, Codable {
205205
case invalidPDFCalloutPoints
206206
case cannotMapAttributeValue
207207
case invalidSymbolicEnumValue
208+
case invalidFilterParameterValue
209+
case invalidAutoAdjustmentOption
208210

209211
public var message: String {
210212
switch self {
@@ -568,6 +570,10 @@ public enum EvalError: Int, Hashable, Codable {
568570
return "unable to interpret attribute value: $0"
569571
case .invalidSymbolicEnumValue:
570572
return "invalid ,$0: $1"
573+
case .invalidFilterParameterValue:
574+
return "invalid value for filter parameter $0: $1"
575+
case .invalidAutoAdjustmentOption:
576+
return "invalid auto adjustment option key: $0"
571577
}
572578
}
573579

Sources/LispKit/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
<true/>
2929
</dict>
3030
<key>NSHumanReadableCopyright</key>
31-
<string>Copyright © 2016–2024 Matthias Zenger. All rights reserved.</string>
31+
<string>Copyright © 2016–2025 Matthias Zenger. All rights reserved.</string>
3232
<key>NSPrincipalClass</key>
3333
<string></string>
3434
</dict>

Sources/LispKit/Primitives/DrawBarcodeLibrary.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public final class DrawBarcodeLibrary: NativeLibrary {
5454
self.define(Procedure("pdf417-code-image", self.pdf417CodeImage))
5555
}
5656

57-
/// Initializations of the library.
57+
/// Initializations of the library.
5858
public override func initializations() {
5959
}
6060

0 commit comments

Comments
 (0)