tategaki 0.3.1
tategaki: ^0.3.1 copied to clipboard
A comprehensive Flutter package for Japanese vertical text (tategaki) layout with advanced typography features including ruby, kenten, tatechuyoko, and more.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.3.1 - 2026-01-10 #
Fixed #
- Text selection handle dragging
- Fixed handles being blocked by parent ScrollView gestures
- Replaced GestureDetector with RawGestureDetector for better gesture control
- Added early pointer detection with Listener to prevent scroll interference
- Increased handle size from 6px to 8px radius for better visibility
- Expanded handle hit test area from 24px to 48px for easier dragging
- Fixed handle positioning by adding proper left margin
- Handles now remain fully visible and draggable even inside ScrollView
Changed #
- Selection handles are now larger and easier to tap
- Improved gesture handling with reduced touch slop (1.0px)
- Text layout shifted to accommodate selection handle positioning
0.3.0 - 2026-01-10 #
Added #
- Text selection support
- SelectableVerticalText widget for user text selection
- Tap to select single character
- Drag to select text range
- Long-press to show copy menu
- Copy to clipboard functionality
- Selection highlighting with customizable color
- Selection demo page in example app
New Widgets #
SelectableVerticalText- Vertical text with selection support- Selection demo at
example/lib/demos/selection_demo.dart
Features #
- Character-level hit testing for accurate selection
- Visual selection highlighting
- Context menu with copy action
- Works with ruby (furigana) and kenten annotations
0.2.0 - 2026-01-10 #
Added #
- Performance optimizations
- TextPainter reuse in
VerticalTextPainterto reduce allocations - TextPainter reuse in
VerticalRichTextPainterto reduce allocations - Optimized rendering pipeline for better performance
- TextPainter reuse in
Changed #
- Reused TextPainter instances in character rendering methods
- Optimized _drawCharacter() and _drawRuby() methods
Performance Impact #
- ~50% reduction in TextPainter allocations
- Improved rendering performance for scrollable vertical text lists
- Reduced memory pressure during text rendering
0.1.0 - 2026-01-09 #
Added #
- Initial release
- Basic vertical text layout (top-to-bottom, right-to-left)
- Ruby (furigana) support
- Kenten (emphasis dots) with multiple styles
- Tatechuyoko (horizontal text in vertical layout)
- Kinsoku shori (Japanese line breaking rules)
- Advanced kerning and character spacing
- Yakumono adjustment (punctuation positioning)
- Text selection with context menu
- RichText support for multiple styles
- Figure layout with captions and text wrapping