chore: fix the Laravel ASCII SVG so that its characters perfectly align to columns#58702
Merged
taylorotwell merged 1 commit intolaravel:12.xfrom Feb 9, 2026
Merged
Conversation
The old SVG had floating point "drift" which caused each successive row of the binary characters to drift to the left. The new file uses DRY rendering of the 1 and the 0, and forces the alignment of each character to conform to a strict grid, in absolute space, instead of a series of compounding relative movements from the position of the previous character.
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.
The old Laravel Logo ASCII text SVG was rendered as a single path, with repeated instructions for drawing the 1s and the 0s, and then a series of relative movements to position the renderer for the next character. Because of floating point rounding, this long series of repeated moves produced compounding "drift", causing each successive row of the binary characters to drift to the left, instead of all characters aligning to a perfect terminal grid.
The new file consolidates rendering of the 1 and the 0, and forces the alignment of each character to conform to a strict grid, in absolute space, instead of a series of compounding relative movements from the position of the previous character.
Here's an example of the compounding drift in the old file:
Note
As a result of the more DRY rendering which is necessary to fix the drift issues, the new SVG is also 81.6% smaller (From 484,749 bytes to 89,023 bytes) — but that was purely coincidental. 👀
If, however, there is interest in further size reduction, I have a version that renders the same SVG using JavaScript and it's 3,816 bytes (99.2% smaller).