Conversation
Update jna-platform dependency version in pom.xml and replace the corresponding jar file.
- Add automatic URI prefixing for scripts, stylesheets, and CSS URLs in Markdown rendering - Implement automatic registration of KaTeX assets and fonts when the KaTeX package is present - Update genStaticVersion to correctly handle relative asset inlining (e.g., fonts in CSS) - Add tests for prefix support in parseMD2HTML and static asset inlining
Add __visibleLengthIsEmojiWide to correctly identify emojis that should occupy two columns. Update __visibleLengthCodePointWidth to use this check and add tests for emoji-presentation symbols and table alignment.
Use java.lang.Character for emoji modifier and component detection to accurately calculate the visible length of emoji clusters and subdivision flags, fixing alignment issues in tables.
Updates the table rendering logic in js/openaf.js to align content to the left instead of centering it. Added a new test case to verify header and row alignment.
Update visibleLength in js/openaf.js to better handle emoji clusters, variation selectors, keycap marks, and tags. This ensures correct width calculation for complex emojis in terminal output. Added corresponding tests in autoTestAll.Format.js and autoTestAll.Format.yaml.
…racters - Implement robust visible length detection in AFBase.java to handle emoji clusters, ZWJ sequences, and regional indicators - Update js/openaf.js to left-align table content by removing centering logic - Update related tests in autoTestAll.Format.js/yaml to verify these changes
… detection - Remove merge conflict markers from js/openaf.js, tests/autoTestAll.Format.js, and tests/autoTestAll.Format.yaml - Improve handling of emoji variation selectors (text vs emoji presentation) - Update PrintTable emoji alignment tests to use index-based verification instead of exact string matching - Add new tests for emoji presentation and subdivision flags
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces several improvements and bug fixes related to Unicode emoji and string width handling in tables, as well as enhancements to Markdown-to-HTML conversion and asset handling. The most significant changes are improved Unicode emoji width calculation, better Markdown asset management (especially for KaTeX and CSS/font resources), and more robust handling of relative URLs in HTML/CSS.
Unicode and Emoji Handling Improvements:
visibleLengthfunction injs/openaf.jsto more accurately handle Unicode emoji, variation selectors, keycap marks, tags, and wide characters, ensuring correct width calculation for complex emoji sequences and improving table alignment. [1] [2] [3] [4] [5]printTableto use right-padding only, preventing misalignment with wide or emoji-containing headers.Markdown and HTML Asset Handling:
parseMD2HTML, making sure all asset links are absolute and correctly resolved.HTML/CSS URL Resolution:
Other Fixes and Cleanups:
trimfunction from the$pathJMESPath custom functions, simplifying the codebase.