Age | Commit message (Collapse) | Author |
|
|
|
Rather than reading files out of /res, put them in a subfolder of
Tests/LibGfx/ and pick the path based on AK_OS_SERENITY.
That way, the tests can also pass when run under lagom.
(I just `cp`d all the files that the test previously read from
random places into Tests/LibGfx/test-inputs.)
|
|
Rather than reading files out of /res, put them in a subfolder of
Tests/LibGfx/ and pick the path based on AK_OS_SERENITY.
That way, the tests can also pass when run under lagom.
|
|
π - U+1F44A ONCOMING FIST
πΆ - U+1F6B6 PERSON WALKING
πΆββοΈ - U+1F6B6 U+200D U+2642 MAN WALKING
πΆββοΈ - U+1F6B6 U+200D U+2640 WOMAN WALKING
π§βπ¦― - U+1F9D1 U+200D U+1F9AF PERSON WITH WHITE CANE
π¨βπ¦― - U+1F468 U+200D U+1F9AF MAN WITH WHITE CANE
π©βπ¦― - U+1F469 U+200D U+1F9AF WOMAN WITH WHITE CANE
π΄ - U+1F6B4 PERSON BIKING
π΄ββοΈ - U+1F6B4 U+200D U+2642 MAN BIKING
π΄ββοΈ - U+1F6B4 U+200D U+2640 WOMAN BIKING
π‘ - U+1F461 WOMANβS SANDAL
|
|
It took me way too long to figure out why PNGImageDecoderPlugin
couldn't load WebServer_localhost.png -- turns out it's a jpeg file.
|
|
Previously we were crashing, which was excessive, if we can't read
anymore, we should just return with an error.
|
|
This patch adds a "GlyphPage" cache which stores the mapping between
code points and glyph IDs in a segmented table of "pages".
This makes Font::glyph_id_for_code_point() significantly faster by
not reparsing the font tables every time you call it.
In the future, we can add more information to GlyphPage (such as
horizontal metrics for each glyph) to further reduce time spent in
text layout and painting.
|
|
|
|
|
|
This is a normative change in the Intl.NumberFormat V3 spec. See:
https://github.com/tc39/proposal-intl-numberformat-v3/commit/08f599b
Note that this didn't seem to actually affect our implementation. The
Unicode spec states:
https://www.unicode.org/reports/tr35/tr35-53/tr35-numbers.html#Plural_Ranges
"If there is no value for a <start,end> pair, the default result is end"
Therefore, our implementation did not have the behavior noted by the
issue this normative change addressed:
const pr = new Intl.PluralRules("en-US");
pr.selectRange(1, 1); // Is "other", should be "one"
Our implementation already returned "one" here because there is no such
<start=one, end=one> value in the CLDR for en-US. Thus, we already
returned the end value of "one".
|
|
|
|
|
|
We only use it for the extension string, which we now convert into a
`ByteBuffer` object containing the null-terminated bytes :^)
|
|
This is an editorial change in the Intl.NumberFormat V3 spec. See:
https://github.com/tc39/proposal-intl-numberformat-v3/commit/c24b33e
Note our implementation was already using the Intl MV in these AOs just
due to C++ type safety.
|
|
This is an editorial change in the Intl.NumberFormat V3 spec. See:
https://github.com/tc39/proposal-intl-numberformat-v3/commit/654bfad
|
|
This is an editorial change in the Intl.NumberFormat V3 spec. See:
https://github.com/tc39/proposal-intl-numberformat-v3/commit/654bfad
|
|
This is a normative change in the Intl.NumberFormat V3 spec. See:
https://github.com/tc39/proposal-intl-numberformat-v3/commit/23e69cf
This isn't particularly testable because every locale in the CLDR has a
non-empty "approximatelySign" field in cldr-numbers-modern. The issue
for this change seems to be considering the "miscPatterns/approximately"
field instead, which has different semantics. But as noted on the CLDR
issue https://unicode-org.atlassian.net/browse/CLDR-14918, the ICU uses
the "approximatelySign" field (as do our implementation).
|
|
This is a normative change in the Intl.NumberFormat V3 spec. See:
https://github.com/tc39/proposal-intl-numberformat-v3/commit/29acfc6
This is to allow Intl.PluralRules to use these options, as they were in-
effect required by later AOs anyways.
|
|
|
|
When we move the test to AK (together with the actual stream
implementation), finding the input file to read from is going to become
significantly harder, since the test also runs outside of SerenityOS.
Since this was just a smoke test during early development (and we should
now have reasonable coverage with actual usages in the other parts of
the OS), let's just remove that test instead of trying to make input
file lookups work.
|
|
|
|
|
|
|
|
`Stream` will be qualified as `AK::Stream` until we remove the
`Core::Stream` namespace. `IODevice` now reuses the `SeekMode` that is
defined by `SeekableStream`, since defining its own would require us to
qualify it with `AK::SeekMode` everywhere.
|
|
The new name should make it abundantly clear what it does.
|
|
|
|
This also removes a few cases where the respective header wasn't
actually required to be included.
|
|
This will be used in Jakt to help transition off of DeprecatedString.
|
|
|
|
- Use MUST() instead of checking plugin_decoder_or_error.is_error()
- Use MappedFile::bytes()
- Don't use EXPECT_EQ when comparing to fixed bools
No intended behavior change.
|
|
As far as I can tell, that's not needed and never was.
|
|
Most jpegs that use multi-tag ICCs are in CMYK format, so running
`icc` on them still produces
Runtime error: Unsupported number of components in SOF
but it no longer prints several
jpg: Ignoring ICC profile spanning several chunks (1/9)
lines before that.
(And if I manually comment out that error message, the profile
is printed fine. But we can't decode the actual pixel data yet.)
|
|
In order to daemonize the SQLServer process for Ladybird, we double-fork
and exit the first child process to ensure the grandchild process is in
a detached state to become SQLServer. After commit c05fcd5, this happens
after Ladybird's QApplication is created. QApplication seems to hook up
some `exit` handling that makes the call to `exit(0)` here not actually
exit the child process.
Instead, using `kill` with SIGTERM will actually terminate the child
process.
|
|
|
|
And simplify painting logic by using the banner widget's relative
rect and tray_text() ColorRole.
|
|
|
|
|
|
|
|
I accidentally replaced this with `read_unsigned` in
908b88db347e932934ee311be8d3920cabbe8886, now it's correct again.
|
|
|
|
No idea why I did this, possibly because these were once vectors?
Anyway, the const reference is pointless here.
|
|
This stops the clone and gradient tools from being cut off the side
bar.
|
|
This ensures that .port_include will always import other scripts from
the correct location.
|
|
|
|
This allows Ports unfit for the main repository to be put elsewhere.
|
|
This is done by merging all scattered pieces of derived classes from the
ProcFSInode class into that one class, so we don't use inheritance but
rather simplistic checks to determine the proper code for each ProcFS
inode with its specific characteristics.
|
|
Also rewrite a few of the existing tag type checks using a new helper.
|
|
|
|
There will be an EMatrix3x4 in a future change.
|
|
|