Skip to content

PoomSmart/ACCF-QuickLook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ACCF QuickLook

A macOS Quick Look extension that previews Apple's CCF (Color Compressed Font) sidecar files — the proprietary emoji bitmap format used in iOS 8.3–9.3.

What it does

Selecting a .ccf file in Finder (or pressing Space) renders a grid of 30 curated emoji decoded directly from the CCF image records. When a companion .ttf file is present in the same directory, glyph IDs are resolved via cmap parsing so the preview shows a consistent, recognisable set of faces, objects, and keycap sequences.

CCF format support

Version Magic iOS Header
v1 \x40\x30\x20\x10 8.x 48 112 B
v2 fcca 9.x 105 332 B

Both versions use the same image-record format: a 40-byte header followed by a packed 21-bit BGR palette, a run-length table (Mode A uniform alpha / Mode B per-pixel alpha), and an LSB-first bit-stream of palette-index opcodes.

Requirements

  • macOS 12.4+
  • Xcode 13+ (any version with macOS 12 SDK)

Building

  1. Open ACCF-QuickLook.xcodeproj in Xcode.
  2. Build & Run the ACCF-QuickLook app target (installs the extension).
  3. Reset Quick Look to pick up the new extension:
    qlmanage -r && qlmanage -r cache

Testing

# Preview a CCF file (companion TTF must be in the same directory for curated glyphs)
qlmanage -p /path/to/AppleColorEmoji@2x.ccf

# Watch extension logs
log stream --predicate 'subsystem == "com.ps.ACCF-QuickLook.ACCFQuickLook"' --level debug

If the preview does not update after a rebuild, kill the running extension process:

pkill -f ACCFQuickLook

Curated glyph selection

When a companion .ttf is found, the preview renders:

  • Row 1 — faces & animals: 😃 😇 😍 😜 😸 🙈 🐺 🐰 👽 🐉
  • Row 2 — objects & food: 💰 🏡 🎅 🍪 🍕 🚀 🚻 💩 📷 📦
  • Row 3 — keycap digits: 1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣ 8️⃣ 9️⃣ 0️⃣

Simple codepoints are resolved through direct cmap format-12 parsing. Keycap sequences (multi-codepoint ligatures) are resolved via CoreText shaping to handle morx/GSUB substitution.

Without a companion TTF, the first 30 unique images from the largest available tier are shown instead.

Project structure

ACCF-QuickLook/        Host app (required to install the extension)
ACCFQuickLook/
  CCFDecoder.swift     CCF binary parser & image decoder
  PreviewProvider.swift  QLPreviewProvider implementation
  Info.plist            Extension manifest (UTI, QLIsDataBasedPreview)
  ACCFQuickLook.entitlements

License

See LICENSE.

About

macOS Quick Look plugin for AppleColorEmoji CCF font

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages