SerenityOS update (February 2024)

Andreas Kling
1 Mar 202423:04

Summary

TLDRAndreas, Andrew, and Nico host a monthly update on SerenityOS developments. They showcase new features including automatic escalation to superuser when launching apps requiring root access, a ported Sonic fan game, interactive copy utility prompts before overwriting files, hexadecimal dumping utilities, improved calendar event handling, FAT filesystem creation utility, enhancements to hex editor's toolbars and popouts, progress on RISC-V support, and PDF rendering improvements like better colors, more rendered text glyphs, and new image format support.

Takeaways

  • 😀 A new password prompt was added when launching apps that require root access from the taskbar
  • 📝 Improvements were made to the SDL port while getting the Sonic Robo Blast 2 game running on SerenityOS
  • ➕ The cp command now has an interactive mode that asks before overwriting files
  • i The cut command gained a new -c flag to select specific characters
  • 🔎 The xxd hex dump utility was added to complement the existing hexdump tool
  • 🗓 Enhancements were made to the calendar app like better month/year views and basic event support
  • 💾 A new utility can create empty FAT filesystem images that could be mounted with future loop device support
  • ⚙️ The Hex Editor sidebar panels were improved using a widget container for detachability
  • 🤝 Progress was made on RISC-V bringup targeting the SiFive HiFive Unleashed board
  • 🖨 PDF rendering gained text support, better colors via CMYK simulation, and CCIT image decoding

Q & A

  • What new feature was added to help applications that require super user access launch from the taskbar?

    -A password prompt was added so that applications like Partition Editor that need root access can request escalation to super user when launched from the taskbar instead of just failing to run.

  • What game was ported to SerenityOS this month and helped drive SDL improvements?

    -A Sonic the Hedgehog fangame called Sonic Robo Blast 2 was ported to SerenityOS by contributors like refrag and yella.

  • What new flag was added to the CP command line utility?

    -An interactive mode flag was added so CP asks if you want to override an existing file when copying instead of just overwriting it automatically.

  • What is the hex dump utility that was added this month?

    -The xxd hex dump utility was added by Nils, providing an alternative hex dumping tool to the existing hexdump command.

  • What improvements were made to the calendar application this month?

    -Domino refactored the month and year views to use GML properties for cleaner code, and senel made it so calendar events now show up when you double click on a day.

  • What new FAT filesystem creation tool was added?

    -A new ms.fat utility was added that can format image files as FAT12, FAT16, or FAT32 filesystems.

  • How were Hex Editor's side toolbars improved?

    -The search results, value inspector, annotations, etc. were moved to use the dynamic widget container, allowing them to be popped out, moved around, and docked.

  • What Progress was made on the RISC-V port?

    -Son and Leon made lots of progress booting Serenity on the HiFive Unleashed board, adding missing kernel functionality needed for RISC-V hardware.

  • What text rendering improvements were made in the PDF viewer?

    -More PDF text glyphs are now rendered instead of omitted, and CMYK images are better simulated to match real printed output.

  • What new image format can the PDF viewer now display?

    -Support was added for the CCIT image compression format thanks to work by Lucas.

Outlines

00:00

😊 Improved super user access and escalation in Serenity OS

This paragraph discusses new functionality that prompts for a password when trying to launch apps that require super user access from the taskbar in Serenity OS. This allows for smooth escalation to root access when needed instead of just failing to launch the app. The feature was implemented for the partition editor app and works via the assistant as well.

05:01

🤔 Issues with man pages and documentation in command line utilities

This paragraph tries to demonstrate new features in some command line utilities like the -C flag in cut and interactive mode in cp. However, there are issues accessing the man pages for these utilities and the documentation needs to be improved. The difference between cut's -B and -C flags related to bytes versus characters is also unclear.

10:02

😎 Progress on FAT filesystem support and mounting image files in Serenity OS

This paragraph shows the new ms-fat utility for creating FAT filesystems and formatting image files as FAT12, FAT16 or FAT32. However, mounting these image files does not work yet since loop device support is still in progress. The hex editor is also demonstrated with its improved toolbar and docking features.

15:04

💪 Advances in RISC-V bringup for Serenity OS

This paragraph discusses recent work by contributors to improve RISC-V support in the Serenity OS kernel. This is being done to help boot Serenity on real RISC-V hardware. The device tree support should also aid RISC-V and ARM bringup going forward.

20:07

🎉 PDF engine improvements bring better text, images and colors to Serenity OS

This paragraph shows off recent improvements in Serenity's PDF rendering engine. It now handles more text and fonts, has better colors through CMYK simulation, and supports the CCIT image format. This allows more accurate rendering of PDF documents in the PDF viewer.

Mindmap

Keywords

💡Serenity OS

Serenity OS is an open source operating system built from scratch. The video provides monthly updates on new developments and improvements to Serenity OS across different areas like the browser, kernel, applications etc. It highlights the collaborative nature of the project with over 1000 contributors on GitHub.

💡Taskbar

The taskbar is a user interface element in Serenity OS that allows launching applications. The video demonstrates a new taskbar feature where apps needing superuser access like the Partition Editor now prompt for a root password instead of just failing to launch.

💡Sonic Robo Blast 2

Sonic Robo Blast 2 is a fan-made game featuring the Sonic franchise. The video shows how it was ported to work on Serenity OS this month, driving improvements in Serenity's SDL graphics library.

💡Command Line Utilities

The video highlights some command line utilities like cp and cut getting enhanced with new features this month. It demonstrates the interactive copy mode in cp and tries to decipher the new cut -c option.

💡Hex Dump

Hex dumps show content of files or data in hexadecimal format. The improved hex editor app now has annotations and detachable side panels for inspecting values. The video also shows the xxd hex dump utility added this month.

💡Calendar

Serenity's calendar app saw some refinements like cleaner internal handling of month and year views. It also starts showing events on dates, allowing adding and viewing basic event details.

💡FAT32

The video demonstrates a new command line tool to create FAT32 formatted disk images. It shows using a hex editor to inspect the FAT32 header of the generated image file.

💡PDF rendering

Serenity's PDF viewer saw upgrades to render more text content from PDF files. There are also improvements in handling CMYK colors and support added for the CCIT image format.

💡RISC-V

RISC-V is an open standard instruction set architecture (ISA). The video mentions work being done to improve Serenity OS support on RISC-V devices like the HiFive board.

💡Developers

The video highlights Serenity OS' open, collaborative development environment across areas like the kernel, applications, games etc. It invites interested developers to contribute and join the Discord community.

Highlights

Applications that require super user access now ask for a password in the taskbar

Ported Sonic Robo Blast 2 game to SerenityOS, driving SDL improvements

Added interactive mode to CP copy utility to prompt before overwriting files

Added cut utility with new -C flag to select specific characters

Added xxd hex dump utility

Improved calendar with better month and year views

Calendar now shows events in month and year views after creating them

Added FAT filesystem creation utility

Hex editor tool windows now use widget containers for better management

Progress on risk 5 support including device tree implementation

PDF engine renders more text content from PDF files

Better color handling for CMYK images in PDF renderer

PDF renderer now supports CCIT image format

Over 1,000 contributors now working on SerenityOS project

Recent progress sets stage for many future improvements to SerenityOS

Transcripts

play00:00

well hello friends welcome to the

play00:02

serenity OS update for February

play00:05

2024 it's been another comfy month in

play00:08

the project we've had just over 800

play00:10

commits from about 50 uh individual

play00:13

authors and the browser stack is by far

play00:16

the most active area as usual uh and we

play00:19

already covered that yesterday in the

play00:20

ladybird update but uh we do still see a

play00:23

bunch of development happening in random

play00:25

places throughout all of Serenity OS so

play00:28

today uh myself Andrew and Nico are

play00:31

going to show you some of the stuff

play00:32

that's been going on in February uh and

play00:35

I think we'll start with

play00:38

um this new thing in taskbar where uh

play00:42

applications that require super user

play00:44

access so rout to access basically uh

play00:48

such as partition editor it now asks for

play00:50

a password Here previously it would just

play00:52

fail so if you were to try to run it

play00:55

from the command line as a normal user

play00:57

it will complain and say that oh I can't

play00:59

I have to be root because I need to open

play01:01

raw block

play01:02

devices um but launching it from

play01:06

the uh taskbar um it now automatically

play01:09

tries to escalate to super user so if I

play01:11

type in my password here which is Foo uh

play01:15

it will well it will fail to actually

play01:18

find a partition table because I'm

play01:20

booting um dis L using this or not dis L

play01:23

but I'm I'm booting without a partition

play01:25

table using a qmu feature uh so it's

play01:29

it's still fails to bring our partition

play01:31

editor but even so um this is very very

play01:34

nice because when you're launching apps

play01:37

from uh taskbar I'm not sure if we have

play01:39

anything else that requires root um but

play01:42

when you're launching apps in this way

play01:43

you don't want to just fail um if it

play01:46

requires root access it wants to you

play01:48

want to be prompted for a password uh

play01:51

and this should also work in assistant

play01:53

so if I were to run partition editor

play01:55

from here yeah it also ask for a

play01:57

password let me type it wrong password

play01:59

yeah

play02:00

that also works um maybe I should be

play02:03

allowed to try again if I type the wrong

play02:06

password that seems like it could be a

play02:08

little bit of a good feature

play02:11

anyway then uh oh uh the automatic

play02:16

escalation to super user here in in GUI

play02:18

was implemented by Hugh so thank you

play02:21

Hugh for working on this I think it's a

play02:23

really really nice quality of life thing

play02:26

um a totally different thing that is

play02:29

also new this month and a bunch of

play02:31

people have contributed to I think well

play02:35

um somebody named refrag and also yella

play02:37

has been helping out uh but we have a

play02:39

port of this um I guess Sonic fan game

play02:43

called Sonic Robo blast um two and let's

play02:49

see if it actually launches yes it seems

play02:51

to

play02:53

um so this has driven a bunch of

play02:56

improvements to our sdl port as well

play03:00

this month uh and it's some kind of

play03:04

Sonic game I'm not a big Sonic gamer

play03:09

myself but I can

play03:11

certainly

play03:13

appreciate that um that this

play03:17

exists and

play03:20

um well I I don't know how to play uh

play03:24

other than running around and I assume

play03:26

I'm supposed to take these

play03:27

Rings uh it also has my Mouse controls

play03:30

but I don't understand how they're

play03:31

supposed to work I'm probably meant to

play03:35

um run without the

play03:38

magical um VM Mouse

play03:41

driver anyways uh if you enjoy playing

play03:45

sonic Robo Blast 2 you can now do so on

play03:47

Serenity OS thanks to refrag so thank

play03:51

you refrag for reporting this game and

play03:54

um I'm just going to get out of

play03:58

here and apparently it crashes on exit

play04:01

but it has a cool app icon that's pretty

play04:04

nice uhhuh

play04:06

uh-huh okay well might be something to

play04:10

look into with our sdl Port there uh

play04:14

anyways then we have some um command

play04:17

line utility uh improvements this month

play04:20

so I know the CP utility received a new

play04:22

flag so uh Eric implemented the

play04:25

interactive mode for CP which is when

play04:28

you have a file and you're trying to

play04:31

copy it um and the copy would overwrite

play04:35

another file it will now ask if you want

play04:38

to override it you can say like nuh-uh I

play04:40

don't want to um or you can say yeahaha

play04:43

I do want to so that was added by Eric

play04:46

thank you Eric uh it's really nice that

play04:49

our um various utilities sort of keep

play04:53

getting more and more command line Flags

play04:56

added to them and then what did I do

play04:58

here I brought up the

play05:00

help

play05:03

accidentally I'm supposed to open the

play05:05

man page for CP but I guess we don't

play05:08

have

play05:10

one we do wait a minute so why doesn't

play05:14

it take me there what is

play05:18

this this doesn't work right at all

play05:22

okay

play05:24

so I think the IDE no this this needs um

play05:29

this needs to be fixed but uh we're not

play05:31

going to do that right

play05:33

now um and then Kyle did something

play05:37

called cut- C which I'm not familiar

play05:39

with but that's like uh select only

play05:42

these characters with

play05:44

cut does cut have a man

play05:48

page oh of course it does it's really

play05:52

cool that um we have more and more Man

play05:56

pages for

play05:57

everything and of course you can can

play05:59

browse them in this beautiful app which

play06:03

it's kind of strange that this isn't how

play06:05

you browse Man pages on other unixes

play06:08

because like why isn't

play06:11

it

play06:13

um okay so cut but I don't see any

play06:16

examples for dash C so I guess we have

play06:18

to figure out and- C is missing in the

play06:20

options list

play06:22

too okay well we are finding all kinds

play06:24

of issues here so I guess we have to

play06:26

guess what cut- C does so it's supposed

play06:28

to select only these character

play06:29

characters so I will make a list of

play06:31

characters I guess so uh Fu and then we

play06:35

will cut um only the

play06:39

O what does that

play06:42

do invalid by SL character position

play06:47

oh

play06:50

okay

play06:54

um oh is it like I only want that one

play06:58

character

play07:04

so wait so I'm removing a specific

play07:06

character is that it so if I Echo test

play07:10

and I would cut out character

play07:14

to okay and how is that different from

play07:17

Dash

play07:19

B hm bytes versus

play07:23

characters okay well I'm not exactly

play07:25

sure what the difference is but if you

play07:27

know please leave a comment explaining

play07:29

what the difference is um all right and

play07:33

then the final command line utility that

play07:36

uh was added this month xxd which is uh

play07:39

hex dump utility so we can now hex dump

play07:43

our password file and it looks like

play07:45

this and we actually had hex dump before

play07:50

uh which has just like a slightly

play07:52

different output format and I'm not sure

play07:56

why but like most unixes have both xsd

play07:58

and hex dump I've been on machines in

play08:02

the past that had only one or the other

play08:04

so I'm like familiar with both but I

play08:07

don't know what the backstory is like um

play08:11

I'm sure there's there's history there

play08:13

but um xxd was added this month by Nils

play08:16

so thank you Nils for adding xxd now the

play08:20

uh hex dumping story on Ser OS is

play08:23

getting pretty

play08:24

good all right let's uh visit somebody

play08:28

else

play08:31

well hello friends I'm going to talk

play08:33

about a couple uh sorted changes to

play08:36

Serenity this month uh first of all

play08:38

we've got the calendar so uh the past

play08:42

couple uh months uh we've been improving

play08:45

the calendar bit by bit uh it's still

play08:47

quite uh quite basic but this month uh

play08:50

Domino made some changes to the way that

play08:53

the month view and year view work

play08:55

internally so this is a little bit

play08:57

cleaner and um now it's hand handled via

play08:59

gml property so uh thanks for that

play09:02

Domino and also in the uh realm of

play09:07

events uh senel made it so that after I

play09:12

enter an event here uh some something

play09:15

happens at this day at 3 p.m.

play09:21

for 5

play09:23

minutes um so before we would just see

play09:26

that oh there's an event on this day we

play09:28

don't even see it in the year view but

play09:30

now if I double click here we can see

play09:32

that uh there are some events here now

play09:35

uh this is definitely uh First Step um

play09:38

but we didn't have this before and I can

play09:40

even add a new event and something

play09:43

else Happ these um maybe this thing

play09:48

starts at 8:00 p.m. and goes for 3 hours

play09:52

um and now after we see that we can see

play09:55

that uh that event also shows up here

play09:57

though it doesn't uh

play09:59

doesn't show the end time and it doesn't

play10:01

let me it doesn't show the duration and

play10:03

it doesn't let me edit the event so

play10:05

there's uh still quite a lot we can do

play10:07

to make the calendar uh more of a fully

play10:10

fledged calendar application U but it's

play10:12

been coming along nicely these last

play10:14

couple months so thanks for everyone

play10:15

who's been working on

play10:16

that all righty don't need to save that

play10:21

so uh implicit field added something

play10:24

interesting this month which is a uh fat

play10:27

FS uh creation utility so if I create an

play10:32

empty file here that is 128 megab and

play10:35

call it fat 32.

play10:38

IMG this takes a little bit longer than

play10:41

it probably should to write out these

play10:44

128 megabytes to our EXT2 file system

play10:47

but after that I can call this um

play10:51

ms.fat

play10:53

utility which doesn't quite have that

play10:55

many options but it does let us choose

play10:57

between fat 12 fat 16 and fat 32 U which

play11:01

have all had implementations in our

play11:03

kernel

play11:05

recently

play11:06

um all right so if I make fs. fat type

play11:11

32 on F 32.

play11:15

IMG um this will create

play11:19

a fat

play11:21

32 it will format that empty file it

play11:23

created as fat 32 now unfortunately we

play11:26

can't actually um Mount that file cuz we

play11:29

don't have Loop device support the line

play11:31

saw in the prq that's something that um

play11:34

leav is working on so hopefully we can

play11:37

get that in soon and start mounting

play11:38

files all over the place but um you you

play11:43

just have to trust me that this is uh

play11:44

fat 32 for for a second here um so that

play11:50

brings us to our our next demo here

play11:52

which is inex

play11:55

editor and let's open this fat 32. IMG

play11:58

file

play11:59

yes um so we can see that this fat 32

play12:02

IMG file does have the fat header at the

play12:06

top it says it's fat 32 it's got

play12:09

some uh text there and I believe this

play12:12

also has some x86 code in here to act as

play12:16

a master boot record

play12:19

um so very cool and of course the rest

play12:22

of the file system is completely

play12:24

empty but um ah what I wanted to show in

play12:28

HEX editor today is that uh Sam

play12:32

and um a little bit on the on the side

play12:35

of Tim lead better have been improving

play12:38

this guey a lot so what uh what Sam

play12:40

added was the fact that um you know

play12:43

we've always had well we've had for a

play12:45

while these extra um

play12:48

toolbars or these extra tools the uh the

play12:52

search results the value inspector and

play12:55

Sam M at these annotations I believe

play12:57

Onre um

play12:59

added that

play13:02

recently sure and now this this bite is

play13:05

highlighted um but what was uh new this

play13:07

month is that now all of these toolbars

play13:10

are using the dynamic widget container

play13:13

that torson added last year uh I believe

play13:16

it was in the fall so not only can we

play13:19

I'm not sure if this was in before but

play13:20

we can collapse these these tool windows

play13:23

inside this um this widget here on the

play13:26

right side but we can also pop out so if

play13:29

I wanted to pop out the value inspector

play13:32

here um it would pop out and I can move

play13:35

it around the screen and whatever else

play13:38

and as

play13:39

I edit things here I can go back to my

play13:43

value inspector and see that it is I

play13:46

believe it's looking at this maybe it's

play13:48

not but I mean of course I can full

play13:51

screen this it doesn't really do much

play13:53

but if I close the X here maybe this

play13:55

should be a different button um it will

play13:57

pop back in uh which is pretty nice so

play14:01

this is a really cool uh toolbar feature

play14:04

that uh like I mentioned torson added

play14:06

last year I'm not sure how many

play14:08

applications are using it um I imagine

play14:10

this could be useful for hack Studio or

play14:12

other applications we have that have uh

play14:15

interesting toolbar windows and can also

play14:18

drag these around and and move which one

play14:20

is on top which is pretty awesome so uh

play14:24

nice work uh Sam and torson and uh a

play14:27

little bit on Tim's part for helping us

play14:30

improve the hex Editor to make it uh

play14:34

make it

play14:35

snappy all right and the last thing I

play14:38

want to talk about today is that uh

play14:40

we've been having a lot of improvement

play14:42

on the risk five front so this is

play14:44

something that son and Leon and um uh

play14:48

film have been working on um though I

play14:50

think film is a little bit busy with

play14:51

school lately but son and Leon have been

play14:54

chatting it up in the risk 5 Channel

play14:56

lately they've been adding all sorts of

play14:57

features to help son uh boot there I

play15:01

believe it's a Sci-Fi

play15:04

Vision

play15:05

2 uh single board computer they have on

play15:08

their desk um I believe there's still

play15:11

some some local patches that need to go

play15:12

in before we can actually demo that

play15:14

either in qmu or um before they can send

play15:18

us a a video of them booting it booting

play15:20

Serenity on that uh single board

play15:22

computer but uh those fixes have been

play15:24

going in um been a little bit less

play15:26

activity on the arm 64 front um um as

play15:29

the contributors who are interested in

play15:31

that have been working on other things

play15:33

but uh it's good to see the risk five

play15:35

support go in and I know that Leon has

play15:37

been working a lot on the

play15:40

um the device tree support um which

play15:43

should help uh both risk VI and uh arm

play15:46

64 uh going forward for whatever boards

play15:49

we want to support for that so um nice

play15:51

work on the kentel front from them all

play15:55

right uh well hello friends I'm Nico

play15:57

Andreas asked me me to demo a few

play15:59

improvements uh in PDF Tech in seren

play16:02

here this month uh so let's take a look

play16:05

uh on my screen I have uh two versions

play16:07

of um seren PDF engine the old un busted

play16:10

version on the left and the new and

play16:20

unbedded app which is basically all of

play16:22

seren's PDF code like seren text

play16:25

rendering seren's image decoders seren

play16:27

everything it's just like a very small

play16:29

thin Coco window that shows the bit map

play16:32

that uh s's code um renders if you use

play16:36

PDF Vier and ceni everything should look

play16:38

the same and behave the same except the

play16:41

U are much nicer over there of course

play16:45

okay so uh here's the the first uh

play16:47

example PDF um like one big different

play16:50

there's like basically three

play16:51

improvements one is better colors this

play16:53

second is better like more text and the

play16:55

third is like a new image format uh

play16:57

which we'll all look at so for these two

play17:00

um example or for this one example PDF

play17:03

as you can tell um we render we now

play17:05

render all the text that's on the page

play17:08

um well we don't on the left side and

play17:10

there's like a bunch of pages in here

play17:12

and on the left hand side you can tell

play17:13

like we like get quite a bit right

play17:16

already we have like nice colors um for

play17:18

the most part um and lots of images on

play17:22

the right hand side we now do text and

play17:25

if you like close look closely you'll

play17:27

also see that the shade of green at the

play17:29

top is um a little less uh shrill on the

play17:33

right and the reason for that is that we

play17:35

now um for images that use the device

play17:38

CMYK cutter based we now simulate how uh

play17:41

this int uh this ink would look um if

play17:45

you printed that on paper um so here's

play17:48

like an example this is a photograph of

play17:51

my screen so we can like enhance a

play17:53

little bit and zoom in on this screen

play17:55

text here and enhance a little more and

play17:57

as you can tell um a pixel consists of

play18:00

three little lights one red one green

play18:02

one blue and um a bitmap basic controls

play18:05

for every pixel how bright these three

play18:07

lights are so I think this is like

play18:09

pretty well known if you do the same for

play18:12

like a book here's a photograph of a

play18:14

book that I'm currently reading over and

play18:16

over again we can enhance that little

play18:18

tool like zoom in zoom in zoom in a lot

play18:22

more and you can tell like here you can

play18:24

see the white of the page in the

play18:25

background and there there's four four

play18:27

colors that get printed um there's uh

play18:31

cyan over here then magenta over here

play18:34

and over here yellow over here and black

play18:37

uh over here which is abbreviated

play18:40

CMYK and you uh this printing technology

play18:43

I think is called off offset printing or

play18:45

something like that I don't know a ton

play18:46

about it but you can tell that the like

play18:49

yellow dots are kind of like an

play18:51

rectangular grid

play18:53

the magenta dots are also an uh

play18:57

rectangular grid that's rotated 45°

play19:00

relative to the yellow grid and then the

play19:03

Canan grid is rotated 22.5 de relative

play19:06

to the yellow grid probably just

play19:08

eyeballing and black is uh rotated

play19:11

22.5 degrees in the other

play19:14

direction and so if you have a cmk bit

play19:16

map um this is like meant to be printed

play19:19

and if you print

play19:20

this um on paper then normally um not

play19:25

normally then you don't end up like with

play19:27

these Trill colors you get when you just

play19:29

do like the math conversion where you uh

play19:31

invert all the cmy um channels and then

play19:34

multiply them by the inverted um K

play19:37

Channel um so now we get

play19:40

like something that looks more close uh

play19:43

looks much closer to what you get if you

play19:44

like actually printed this page and this

play19:47

is also what all the other um PDF

play19:49

viewers

play19:50

do um so yeah um better texts and better

play19:54

colors um here's another example of a

play19:57

file that looked like mostly okay

play19:59

previously but now we get like the uh

play20:02

ellipses and the quotes

play20:06

right and yeah like most other Pages

play20:09

were before uh we're fine before already

play20:13

I guess uh we know also get these

play20:15

bullets

play20:17

right another example of a PDF that's I

play20:22

think

play20:23

uh teachers people who speak Vietnamese

play20:27

how to speak Japanese

play20:28

but I don't know Vietnamese so maybe I

play20:31

don't maybe that language is wrong um

play20:34

and you can also tell that we now show

play20:35

like both the Japanese and the

play20:37

Vietnamese text uh while we didn't do

play20:40

that

play20:41

previously

play20:43

um and we you can also like slightly see

play20:46

the CMYK improvement over

play20:54

here and uh this little thing that we

play20:56

all already got right before is uh like

play20:59

yet another font type um but we that

play21:02

support for that is a new uh and then

play21:06

here's the the third new thing uh we now

play21:08

have support for the ccit image format

play21:11

or at least for like some forms of it uh

play21:14

this was implemented by Lucas so thank

play21:16

you

play21:17

Lucas so now like on the next page I

play21:20

think the the background of this text is

play21:22

also

play21:25

ccit and here's like a last demo PDF

play21:28

which aren't on the same page so on the

play21:31

left L that's um again uh we get like

play21:35

way more glyphs and

play21:37

um on some pages that's very dramatic

play21:40

you can also tell we don't draw rotate

play21:42

the text quite right yet we like know

play21:45

the direction but we don't rotate the

play21:47

glyphs

play21:50

um yeah and that's basically all I had

play21:54

um so we'll see what happens next month

play21:57

uh

play21:59

and that's all the stuff we wanted to

play22:01

show you today so thank you so much for

play22:02

stopping by and uh checking out what

play22:05

we've been working on uh thank you so

play22:07

much to my co-hosts Andrew and Nico

play22:10

really really nice to have you on here

play22:13

and um if you want to come chat you'll

play22:15

find us in the serenity OS Discord

play22:17

server uh there's a link to that in the

play22:19

video description um we're always open

play22:22

for new developers and um it's really

play22:26

cool we recently passed 1,000

play22:30

contributors on

play22:31

GitHub and I think that's awesome um

play22:36

over a thousand people have worked on

play22:38

Serenity OS at this point and can't

play22:42

believe how far we've come and somehow

play22:47

in a way it still feels like it is just

play22:50

the beginning um

play22:53

so very interesting times anyways thanks

play22:57

for checking this out today and I will

play23:00

see you all next time bye