Slug User Manual
Total Page:16
File Type:pdf, Size:1020Kb
Slug User Manual Version 6.0 Terathon Soware LLC Lincoln, California Slug User Manual Version 6.0 Copyright © 2017–2021, by Terathon Soware LLC All rights reserved. No part of this publication may be reproduced, stored in an information retrieval system, transmitted, or utilized in any form, electronic or mechanical, including photocopying, scanning, digitizing, or recording, without the prior permission of the copyright owner. Published by Terathon Soware LLC terathon.com Contents Contents ................................................................................................................................................ 3 Slug Library Overview ........................................................................................................................ 9 Typography .......................................................................................................................................... 11 2.1. Glyphs ....................................................................................................................................... 11 2.2. Metrics ..................................................................................................................................... 12 2.3. Kerning .................................................................................................................................... 14 2.4. Combining Marks .................................................................................................................... 15 2.5. Sequence Replacement ............................................................................................................ 16 2.6. Alternate Substitution .............................................................................................................. 17 2.7. Transform-Based Scripts .......................................................................................................... 23 2.8. Underline and Strikethrough .................................................................................................... 24 2.9. Bidirectional Text Layout ........................................................................................................ 24 2.10. Paragraph Attributes ............................................................................................................... 25 2.11. Grid Positioning ..................................................................................................................... 25 Rendering ........................................................................................................................................... 27 3.1. Font and Album Resources ...................................................................................................... 27 3.2. Building a Slug ........................................................................................................................ 32 3.3. Multi-Line Text ........................................................................................................................ 34 3.4. Custom Glyph Layout .............................................................................................................. 35 3.5. Multiple Fonts .......................................................................................................................... 36 3.6. Text Colors ............................................................................................................................... 39 3.7. Color Glyph Layers .................................................................................................................. 39 3.8. Optical Weight ......................................................................................................................... 39 3 4 Contents 3.9. Adaptive Supersampling .......................................................................................................... 40 3.10. Clipping .................................................................................................................................. 40 3.11. Effects ..................................................................................................................................... 40 3.12. Icons and Pictures ................................................................................................................... 41 3.13. Bounding Polygons ................................................................................................................ 41 3.14. Optimization ........................................................................................................................... 42 Programming Reference .................................................................................................................... 45 AlbumHeader structure .................................................................................................................... 46 AssembleSlug() function .................................................................................................................. 48 AssembleSlugEx() function .............................................................................................................. 50 BreakMultiLineText() function ........................................................................................................ 52 BreakMultiLineTextEx() function .................................................................................................... 56 BreakSlug() function ........................................................................................................................ 59 BreakSlugEx() function .................................................................................................................... 63 BuildMultiLineText() function ......................................................................................................... 66 BuildMultiLineTextEx() function ..................................................................................................... 70 BuildIcon() function ......................................................................................................................... 73 BuildPicture() function ..................................................................................................................... 75 BuildSlug() function ......................................................................................................................... 77 BuildSlugEx() function .................................................................................................................... 80 BuildTruncatableSlug() function ...................................................................................................... 82 BuildTruncatableSlugEx() function.................................................................................................. 84 CalculateTextLength() function ........................................................................................................ 86 CalculateTextLengthEx() function ................................................................................................... 88 CharacterData structure .................................................................................................................... 90 ColorData structure .......................................................................................................................... 91 CountFill() function .......................................................................................................................... 92 CountIcon() function ........................................................................................................................ 95 CountMultiLineText() function ........................................................................................................ 97 CountMultiLineTextEx() function .................................................................................................. 100 CountPicture() function .................................................................................................................. 102 Contents 5 CountSlug() function ..................................................................................................................... 104 CountSlugEx() function ................................................................................................................. 106 CountStroke() function .................................................................................................................. 108 CreateData structure ........................................................................................................................ 110 CreateFill() function ........................................................................................................................ 111 CreateStroke() function ................................................................................................................... 113 ExtendedGlyphData structure ......................................................................................................... 115 ExtractAlbumTextures() function ................................................................................................... 116 ExtractFontTextures() function ....................................................................................................... 117 ExtractWorkspace structure ...........................................................................................................