Commit graph

33706 commits

Author SHA1 Message Date
Maciej
399d1ff961 LibGUI: Allow only one CommandPalette at once to be opened
Previously it was possible to open CommandPalette for
a CommandPalette :^)
2022-02-01 10:32:24 +01:00
Lucas CHOLLET
daec521010 Build: Remove hardcoded executable path
Let which find the fuse2fs executable path for us, as it is not in
`/usr/sbin` in every distro.
2022-02-01 10:20:54 +01:00
Brian Gianforcaro
13f92627b2 Base: Add open links to all of the game man pages 2022-02-01 10:07:10 +01:00
thankyouverycool
a593b83189 LibGfx+Applications: Add human readable name helper for fonts
This returns a more comprehensible name than raw weight and slope
metrics and is intended for use in UIs. Now displays human readable
font names in FontSettings, TerminalSettings and CharacterMap.
2022-02-01 10:06:26 +01:00
thankyouverycool
96895cd22c Everywhere: Fully qualify font names by including their slope
Fixes typefaces of the same weight but different slopes being
incorrectly returned for each other by FontDatabase.
2022-02-01 10:06:26 +01:00
thankyouverycool
87a149c9a4 LibGfx: Determine slope attributes for TrueTypeFonts from tables
First checks the OS/2 table for an oblique selection flag before
falling back on italic flags.
2022-02-01 10:06:26 +01:00
alexmajor
a79e730839 sleep: Port to LibMain 2022-02-01 04:58:24 +00:00
alexmajor
55496ab7fb shutdown: Port to LibMain 2022-02-01 04:58:24 +00:00
alexmajor
2f1717182e stty: Port to LibMain 2022-02-01 04:58:24 +00:00
alexmajor
e3dbe19018 sql: Port to LibMain 2022-02-01 04:58:24 +00:00
alexmajor
c72930fdef shot: Port to LibMain 2022-02-01 04:58:24 +00:00
alexmajor
ad7845ed7d sysctl: Port to LibMain 2022-02-01 04:58:24 +00:00
alexmajor
61f2b7434f syscall: Port to LibMain 2022-02-01 04:58:24 +00:00
alexmajor
6deb032335 sync: Port to LibMain 2022-02-01 04:58:24 +00:00
Jagger De Leo
742cca4bfe Starfield: Add app icon
Previously, Starfield used app-screensaver icon.
2022-02-01 04:11:56 +00:00
Lady Gegga
c5e1163c64 Base: Add Arabic Extended-A characters to font Katica Regular 10
08B8, 08A6, 08AE, 08C2, 08BB-08BD, 08B2, 08B4, 08B5
https://www.unicode.org/charts/PDF/U08A0.pdf
2022-02-01 00:17:02 +00:00
Lady Gegga
1efcc50071 Base: Add Arabic Supplement characters to font Katica Regular 10
077E, 075D, 075C, 0750-0758, 075A, 0760-076E, 0773-077F, 075B
https://www.unicode.org/charts/PDF/U0750.pdf
2022-02-01 00:17:02 +00:00
Lady Gegga
3b2bdcded8 Base: Add Arabic characters to font Katica Regular 10
0683, 0684, 0686, 06A7-06AA, 06C6-06CB, 06FA-06FC,
0674-0677, 06B9, 06BA, 06BD, 0615, 066F, 0670, 06A6,
06AC-06B0, 06FD, 06C4, 06C5, 06D0, 06D1
https://www.unicode.org/charts/PDF/U0600.pdf
2022-02-01 00:17:02 +00:00
Lady Gegga
b432bbe291 Base: Adjust 066E, 067A-0680, 0642, 06A5, 06A6 in Katica Regular 10
Adjust 066E, 067A-0680, make sure all characters based on BEH 0628
has the same base form.
Move 0642 up 1 px for alignment with the rest of the glyphs.
Change codepoint for 06A5 to 06A4 and 06A6 to 06A5
2022-02-01 00:17:02 +00:00
Idan Horowitz
2cd3d4a287 LibJS: Implement Intl %SegmentIteratorPrototype%.next ( ) 2022-01-31 21:05:04 +02:00
Idan Horowitz
366468f1de LibJS: Implement Intl %SegmentsPrototype%.containing 2022-01-31 21:05:04 +02:00
Idan Horowitz
96af50bbba LibJS: Implement the Intl CreateSegmentDataObject AO 2022-01-31 21:05:04 +02:00
Idan Horowitz
cea6c81c77 LibJS: Implement the Intl.Segmenter FindBoundary AO 2022-01-31 21:05:04 +02:00
Idan Horowitz
b1d19b5917 LibJS: Convert Intl.Segmenter, Segments and SegmentIterator to Utf16
This is a precursor to implementing the FindBoundary AO, which operates
on Utf16 code unit indexes.
2022-01-31 21:05:04 +02:00
Idan Horowitz
4967bcd4ce LibUnicode: Implement sentence segmentation 2022-01-31 21:05:04 +02:00
Idan Horowitz
a593a5c8ab LibUnicode: Implement word segmentation 2022-01-31 21:05:04 +02:00
Idan Horowitz
58b0eed6a7 LibUnicode: Implement grapheme segmentation 2022-01-31 21:05:04 +02:00
Idan Horowitz
44e8c05c67 AK: Add a Utf16View::code_unit_offset_of(Utf16CodePointIterator) helper
This helper can be used to used to retrieve the code unit offset of an
active Utf16CodePointIterator efficiently.
2022-01-31 21:05:04 +02:00
Idan Horowitz
2d50c08f34 LibUnicode: Download and parse {Grapheme,Word,Sentence} break props 2022-01-31 21:05:04 +02:00
Timothy Flynn
6efbafa6e0 Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
Timothy Flynn
02b7bf34c9 LibJS: Implement BigInt IsLessThan according to the spec 2022-01-31 17:50:54 +00:00
Timothy Flynn
9ad3debf35 LibJS: Implement BigInt loose-equality according to the spec 2022-01-31 17:50:54 +00:00
Timothy Flynn
281b0411f2 LibJS: Implement conversion of strings to BigInts according to the spec
The spec defines a StringToBigInt AO which allows for converting binary,
octal, decimal, and hexadecimal strings to a BigInt. Our conversion was
only allowing for decimal strings.
2022-01-31 17:50:54 +00:00
Timothy Flynn
94a346c9b9 AK: Add is_ascii_[binary,octal]_digit to CharacterTypes 2022-01-31 17:50:54 +00:00
Timothy Flynn
0013227377 LibCrypto: Change UnsignedBigInteger parser to use a StringView
SignedBigInteger already accepts a StringView; let's avoid the heap
allocation in UnsignedBigInteger.
2022-01-31 17:50:54 +00:00
Andreas Kling
6b5f6d6c0e LibJS: Add a 96-byte CellAllocator
Two of our most frequently allocated objects are Shape (88 bytes)
and DeclarativeEnvironment (80 bytes). Putting these into 128-byte
cells was quite wasteful, so let's add a more suitable allocator
for them.
2022-01-31 16:19:23 +01:00
Andreas Kling
8bdf6441b1 LibJS: Use u32 for the JS::Shape property count
We don't need to support more than 2^32 object properties anyway, so
there's no point in using 64-bit property counts.

This small reduction in memory usage makes test-js run ~10% faster on
x86_64 locally.
2022-01-31 16:19:23 +01:00
Andreas Kling
7a742b17da LibJS: Store ECMAScriptFunctionObject bytecode in an OwnPtr
Using an Optional was extremely wasteful for function objects that don't
even have a bytecode executable.

This allows ECMAScriptFunctionObject to fit in a smaller size class.
2022-01-31 16:19:23 +01:00
Andreas Kling
8d3f92c844 LibJS: Make JS::ECMAScriptFunctionObject smaller by reordering members
...and making heavy use of bitfields.
2022-01-31 16:19:23 +01:00
Andreas Kling
fc04465fa3 LibJS: Remove unnecessary GlobalObject pointer from Environment
As it turns out, we didn't actually need this pointer. :^)
2022-01-31 16:19:23 +01:00
Andreas Kling
4a51165f5f LibJS: Reorganize JS::Shape members a little bit
Now that AK::Weakable doesn't have a bunch of padding at the end,
let's move the smaller members of JS::Shape to the end, since there's
nothing to fold into at the start.
2022-01-31 16:19:23 +01:00
Andreas Kling
1469057033 LibJS: Make JS::Shape smaller by using OwnPtr<HashMap> for transitions
Many shapes don't have any forward transitions to cache, so we can save
a bunch of memory (and time) by only creating the cache maps when
actually needed.
2022-01-31 16:19:23 +01:00
Andreas Kling
51e5cc4e13 AK: Remove thread safety gunk from userspace WeakPtr
The implicit thread safety stuff is only needed by the kernel version
of WeakPtr, as userspace already makes no guarantees about this.
2022-01-31 16:19:23 +01:00
Andreas Kling
30fcb07fe8 LibJS: Make JS::Environment smaller by reordering members
By putting `m_permanently_screwed_by_eval` first, it folds into the
padding at the end of the base class (JS::Cell).
2022-01-31 16:19:23 +01:00
Luke Wilde
7431f6073b LibWeb: Implement ChildNode.replaceWith 2022-01-31 15:25:36 +01:00
Luke Wilde
5a5e3a6ec3 LibWeb: Implement ChildNode.after 2022-01-31 15:25:36 +01:00
Luke Wilde
1bbe40c5af LibWeb: Implement ChildNode.before 2022-01-31 15:25:36 +01:00
Luke Wilde
d1bc9358c1 LibWeb: Implement ParentNode.replaceChildren 2022-01-31 15:25:36 +01:00
Luke Wilde
34dfdc3f37 LibWeb: Implement ParentNode.append 2022-01-31 15:25:36 +01:00
Luke Wilde
d5c96c3ccf LibWeb: Implement ParentNode.prepend
`convert_nodes_to_single_node` is inside its own file so ChildNode can
include and use it without having to include other headers such as
DOM/Node.h. This is to prevent circular includes.
2022-01-31 15:25:36 +01:00