Doggie - A Cross-platform Library for Swift
Doggie is a foundational library for Apple's swift. It includes mathematics, accelerate, signal processing and graphic functions.
Features
- atomic operation, async task and actor
- accelerate, signal processing, fourier and convolution
- complex number, point, vector and 2D/3D transformation
- bezier curve
- polynomial
- color and color space
- shape and boolean operation
operation | preview |
---|---|
region.union(ellipse) |
![]() |
region.intersection(ellipse) |
![]() |
ellipse.subtracting(region) |
![]() |
region.subtracting(ellipse) |
![]() |
region.symmetricDifference(ellipse) |
![]() |
- font
- image and graphics with 2D/3D drawing
- others
Playgrounds
Check out the Doggie.xcworkspace and build the project. It's suggested building in Release mode for the performance.
Status
ColorSpace
Format
- [x] ICC
- [x] CIEXYZ
- [x] CIELab
- [x] CIELuv
- [x] Calibrated Gray
- [x] Calibrated RGB
Rendering Intent
- [x] perceptual
- [ ] saturation
- [x] absolute colorimetric
- [x] relative colorimetric
ImageRep
- [x] bmp
- [ ] gif
- [ ] jpeg
- [ ] jpeg2000
- [x] png
- [x] tiff
Font
Format
- [x] TrueType
- [x] TrueType/TTC
- [x] OpenType
- [x] OpenType/CFF
- [ ] OpenType/CFF2
- [x] WOFF
- [x] WOFF/CFF
- [ ] WOFF/CFF2
- [ ] WOFF2
SFNT Tables
- [x] HEAD
- [x] POST
- [x] OS/2
- [x] MAXP
- [x] CMAP
- [x] NAME
- [x] HHEA
- [x] HMTX
- [x] VHEA
- [x] VMTX
- [x] LOCA
- [x] GLYF
- [x] SBIX
- [x] FEAT
- [ ] KERX
- [ ] MORX
- [x] Rearrangement
- [x] Contextual
- [x] Ligature
- [x] Noncontextual
- [ ] Insertion
- [ ] GSUB
- [ ] GPOS
- [ ] GDEF
- [x] CFF
- [ ] CFF2
CMAP
Platform
The table below lists the available platform/specific values in the order.
platform | specific | Description |
---|---|---|
0 | max( <= 4 ) | Unicode |
3 | 10 | Windows, Unicode UCS-4 |
3 | 1 | Windows, Unicode BMP (UCS-2) |
Format
- [x] Format 0
- [x] Format 4
- [x] Format 12
- [x] Format 14 (Unicode Variation Selectors)