Comprehensive matrix of Compose feature support in compose2pdf’s vector and raster rendering modes.
Text
Feature
Vector
Raster
Notes
Basic text rendering
Full
Full
Selectable in vector mode
Font weight (Normal, Bold)
Full
Full
Bundled Inter covers both
Font style (Normal, Italic)
Full
Full
Bundled Inter covers both
Font size (fontSize)
Full
Full
Text color
Full
Full
Underline
Full
Full
Strikethrough
Full
Full
Combined decorations
Full
Full
Underline + strikethrough
Text alignment (Start, Center, End)
Full
Full
Letter spacing
Full
Full
Line height
Full
Full
Max lines + ellipsis
Full
Full
Text wrapping
Full
Full
Layout
Feature
Vector
Raster
Notes
Column
Full
Full
Row
Full
Full
Box
Full
Full
Modifier.padding()
Full
Full
Modifier.fillMaxSize/Width/Height
Full
Full
Modifier.size/width/height
Full
Full
Modifier.weight()
Full
Full
Modifier.offset()
Full
Full
Arrangement.spacedBy
Full
Full
Arrangement.SpaceBetween
Full
Full
Alignment.Center/Start/End
Full
Full
Spacer
Full
Full
Divider
Full
Full
Shapes and Drawing
Feature
Vector
Raster
Notes
Modifier.background(color)
Full
Full
Solid colors
Modifier.border()
Full
Full
Modifier.clip(RoundedCornerShape)
Full
Full
Uniform corners
Modifier.clip(CircleShape)
Full
Full
Modifier.clip() non-uniform corners
Needs PdfRoundedCornerShape
Full
Standard shape loses info in SVG
Modifier.alpha() / opacity
Full
Full
Canvas.drawCircle
Full
Full
Filled and stroked
Canvas.drawRect
Full
Full
Canvas.drawLine
Full
Full
Canvas.drawArc
Full
Full
Canvas.drawOval
Full
Full
Canvas.drawPath
Full
Full
moveTo, lineTo, cubicTo, quadTo
Stroke styles (width, cap, join)
Full
Full
Dash patterns
Full
Full
Images
Feature
Vector
Raster
Notes
Image composable
Full
Full
Image sizing
Full
Full
Image clipping (circle, rounded)
Full
Full
Multiple images per page
Full
Full
Scaled images
Full
Full
Transparent images
Full
Full
Alpha channel preserved
compose2pdf-specific
Feature
Vector
Raster
Notes
PdfLink annotations
Full
Full
Clickable URLs in PDF
PdfRoundedCornerShape
Full
Full
PDF-safe asymmetric corners
InterFontFamily
Full
N/A
Font embedding (vector only)
Multi-page documents
Full
Full
Manual pagination with known page count
Auto-pagination
Full
Full
Content automatically flows across pages (up to 100)
OutputStream streaming
Full
Full
Write PDF directly to a stream (Ktor, servlets, files)
PdfPagination.SINGLE_PAGE
Full
Full
Clip content to one page (opt-in)
Limited or unsupported
Feature
Vector
Raster
Notes
Gradients
Limited
Full
SVGCanvas doesn’t preserve gradient definitions
Shadow / elevation
No
Limited
Not converted to vector
LazyColumn / LazyRow
No
No
Use Column / Row instead
Scrolling
No
No
Pages are fixed-size
Animation
N/A
N/A
Static snapshot only
TextField (input)
No
No
PDF is static output
DropdownMenu
No
No
Interactive component
Variable fonts
No
No
Skipped by font resolver; use static .ttf/.otf
Per-page headers/footers (auto-pagination)
No
No
Use manual pagination for fixed page chrome
“Limited” for gradients in vector mode means Skia may rasterize the gradient area before emitting it as SVG, resulting in a bitmap section within an otherwise vector PDF. Raster mode handles gradients pixel-perfectly.