greenlight-motion 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18796,6 +18796,1959 @@ function svgDataUrl(markup) {
18796
18796
  return { url: `data:image/svg+xml;base64,${btoa(bin)}`, ...svgSize(text) };
18797
18797
  }
18798
18798
 
18799
+ // src/render-shims/googleFontCatalog.js
18800
+ init_define_import_meta_env();
18801
+ var googleFontCatalog_default = `Poppins|s
18802
+ Roboto|s
18803
+ Google Sans|s
18804
+ Open Sans|s
18805
+ Inter|s
18806
+ Noto Sans|s
18807
+ Noto Sans JP|s
18808
+ Roboto Mono|m
18809
+ Arimo|s
18810
+ DM Sans|s
18811
+ Montserrat|s
18812
+ Roboto Condensed|s
18813
+ Lato|s
18814
+ Nunito|s
18815
+ Manrope|s
18816
+ Nunito Sans|s
18817
+ Outfit|s
18818
+ Kanit|s
18819
+ Playfair Display|e
18820
+ Roboto Slab|e
18821
+ Rubik|s
18822
+ Lora|e
18823
+ Merriweather|e
18824
+ Noto Sans KR|s
18825
+ Figtree|s
18826
+ PT Sans|s
18827
+ Work Sans|s
18828
+ Barlow|s
18829
+ Bebas Neue|s
18830
+ Archivo Black|s
18831
+ JetBrains Mono|m
18832
+ Oswald|s
18833
+ Mulish|s
18834
+ Quicksand|s
18835
+ Archivo|s
18836
+ Noto Sans TC|s
18837
+ Jost|s
18838
+ Prompt|s
18839
+ Libre Baskerville|e
18840
+ Raleway|s
18841
+ Source Sans 3|s
18842
+ Space Grotesk|s
18843
+ Bricolage Grotesque|s
18844
+ Heebo|s
18845
+ Smooch Sans|s
18846
+ Cormorant Garamond|e
18847
+ Inconsolata|m
18848
+ Barlow Condensed|s
18849
+ Share Tech|s
18850
+ IBM Plex Mono|m
18851
+ Source Code Pro|m
18852
+ Inter Tight|s
18853
+ Titillium Web|s
18854
+ Anton|s
18855
+ Josefin Sans|s
18856
+ Ubuntu|s
18857
+ Noto Color Emoji|s
18858
+ Public Sans|s
18859
+ EB Garamond|e
18860
+ Karla|s
18861
+ Libre Franklin|s
18862
+ Fraunces|e
18863
+ Cairo|s
18864
+ Dancing Script|h
18865
+ Noto Serif|e
18866
+ Plus Jakarta Sans|s
18867
+ Noto Serif JP|e
18868
+ Changa One|d
18869
+ DM Serif Display|e
18870
+ Fjalla One|s
18871
+ Assistant|s
18872
+ Schibsted Grotesk|s
18873
+ Lexend|s
18874
+ Lobster Two|d
18875
+ Roboto Flex|s
18876
+ Bitter|e
18877
+ Nanum Gothic|s
18878
+ Cabin|s
18879
+ Dosis|s
18880
+ Hind Siliguri|s
18881
+ Noto Sans SC|s
18882
+ Newsreader|e
18883
+ Source Serif 4|e
18884
+ Instrument Serif|e
18885
+ Mukta|s
18886
+ Red Hat Display|s
18887
+ Orbitron|s
18888
+ IBM Plex Sans|s
18889
+ Ramabhadra|s
18890
+ Sora|s
18891
+ Caveat|h
18892
+ Noto Sans Khmer|s
18893
+ Slabo 27px|e
18894
+ Pacifico|h
18895
+ Rajdhani|s
18896
+ Zeyada|h
18897
+ Hind|s
18898
+ Noto Sans Telugu|s
18899
+ Google Sans Flex|s
18900
+ Maven Pro|s
18901
+ Barlow Semi Condensed|s
18902
+ Black Ops One|d
18903
+ Crimson Text|e
18904
+ Saira|s
18905
+ Hanken Grotesk|s
18906
+ M PLUS Rounded 1c|s
18907
+ Oxygen|s
18908
+ DM Mono|m
18909
+ Fira Sans|s
18910
+ Merriweather Sans|s
18911
+ Tajawal|s
18912
+ Lobster|d
18913
+ Alfa Slab One|d
18914
+ Chakra Petch|s
18915
+ PT Sans Narrow|s
18916
+ Comfortaa|d
18917
+ Abel|s
18918
+ Arvo|e
18919
+ Satisfy|h
18920
+ Questrial|s
18921
+ Bodoni Moda|e
18922
+ M PLUS 1p|s
18923
+ Archivo Narrow|s
18924
+ Cinzel|e
18925
+ Onest|s
18926
+ Teko|s
18927
+ Unbounded|s
18928
+ Exo 2|s
18929
+ IBM Plex Sans Arabic|s
18930
+ Marcellus|e
18931
+ Space Mono|m
18932
+ Geist Mono|m
18933
+ Saira Condensed|s
18934
+ Baloo 2|d
18935
+ PT Serif|e
18936
+ Kalam|h
18937
+ Noto Sans Thai|s
18938
+ Almarai|s
18939
+ Exo|s
18940
+ Be Vietnam Pro|s
18941
+ Cormorant|e
18942
+ Albert Sans|s
18943
+ Epilogue|s
18944
+ Sanchez|e
18945
+ Great Vibes|h
18946
+ Roboto Serif|e
18947
+ Noto Serif KR|e
18948
+ Abril Fatface|d
18949
+ Slabo 13px|e
18950
+ Noto Kufi Arabic|s
18951
+ Bungee|d
18952
+ Sarabun|s
18953
+ Syne|s
18954
+ Zen Kaku Gothic New|s
18955
+ Zen Maru Gothic|s
18956
+ News Cycle|s
18957
+ Oleo Script|d
18958
+ Atkinson Hyperlegible|s
18959
+ Literata|e
18960
+ Delius|h
18961
+ Lilita One|d
18962
+ Sofia Sans|s
18963
+ Lexend Deca|s
18964
+ Yellowtail|h
18965
+ Doppio One|s
18966
+ Fira Code|m
18967
+ Fira Sans Condensed|s
18968
+ Geist|s
18969
+ Shadows Into Light|h
18970
+ Alegreya Sans|s
18971
+ Courier Prime|m
18972
+ Hammersmith One|s
18973
+ Luckiest Guy|d
18974
+ Crimson Pro|e
18975
+ Urbanist|s
18976
+ League Gothic|s
18977
+ Cardo|e
18978
+ Indie Flower|h
18979
+ Spectral|e
18980
+ Asap Condensed|s
18981
+ Press Start 2P|d
18982
+ Playfair|e
18983
+ Play|s
18984
+ Russo One|s
18985
+ IBM Plex Serif|e
18986
+ Noto Sans Tamil|s
18987
+ Quantico|s
18988
+ Alegreya|e
18989
+ Noto Sans Devanagari|s
18990
+ Permanent Marker|h
18991
+ Tinos|e
18992
+ Vollkorn|e
18993
+ Nanum Myeongjo|e
18994
+ Prata|e
18995
+ Rethink Sans|s
18996
+ Amatic SC|h
18997
+ Chivo|s
18998
+ Frank Ruhl Libre|e
18999
+ Tenor Sans|s
19000
+ Bree Serif|e
19001
+ LINE Seed JP|s
19002
+ Yanone Kaffeesatz|s
19003
+ DM Serif Text|e
19004
+ League Spartan|s
19005
+ Noto Sans Mono|s
19006
+ Montserrat Alternates|s
19007
+ Viga|s
19008
+ Fugaz One|d
19009
+ Patua One|d
19010
+ Allura|h
19011
+ Gravitas One|d
19012
+ Signika|s
19013
+ Golos Text|s
19014
+ Noticia Text|e
19015
+ Sawarabi Mincho|e
19016
+ Shippori Mincho|e
19017
+ Courgette|h
19018
+ BIZ UDPGothic|s
19019
+ Righteous|d
19020
+ Titan One|d
19021
+ Noto Nastaliq Urdu|e
19022
+ Google Sans Code|m
19023
+ Khand|s
19024
+ Fredoka|s
19025
+ Readex Pro|s
19026
+ Sacramento|h
19027
+ Antic Slab|e
19028
+ Creepster|d
19029
+ Tektur|d
19030
+ Antonio|s
19031
+ Rowdies|d
19032
+ Commissioner|s
19033
+ Catamaran|s
19034
+ Rubik Mono One|s
19035
+ PT Mono|m
19036
+ STIX Two Text|e
19037
+ Noto Sans Display|s
19038
+ Zen Old Mincho|e
19039
+ Instrument Sans|s
19040
+ Sawarabi Gothic|s
19041
+ Old Standard TT|e
19042
+ Noto Naskh Arabic|e
19043
+ Vazirmatn|s
19044
+ Anek Telugu|s
19045
+ Faustina|e
19046
+ Gruppo|s
19047
+ Patrick Hand|h
19048
+ Alexandria|s
19049
+ Overpass|s
19050
+ Quattrocento|e
19051
+ Share Tech Mono|m
19052
+ Noto Sans Hebrew|s
19053
+ Sen|s
19054
+ Encode Sans|s
19055
+ Martel|e
19056
+ Dela Gothic One|d
19057
+ Gabarito|d
19058
+ Lexend Giga|s
19059
+ Rokkitt|e
19060
+ VT323|m
19061
+ Baskervville|e
19062
+ Radio Canada|s
19063
+ Libre Barcode 39|d
19064
+ PT Sans Caption|s
19065
+ Acme|s
19066
+ Francois One|s
19067
+ Unna|e
19068
+ Gothic A1|s
19069
+ Noto Sans Bengali|s
19070
+ Pinyon Script|h
19071
+ Libre Caslon Text|e
19072
+ Playfair Display SC|e
19073
+ Bangers|d
19074
+ Istok Web|s
19075
+ Philosopher|s
19076
+ Cinzel Decorative|d
19077
+ Architects Daughter|h
19078
+ Domine|e
19079
+ Special Elite|d
19080
+ Ubuntu Condensed|s
19081
+ Alex Brush|h
19082
+ Oxanium|d
19083
+ Signika Negative|s
19084
+ Bai Jamjuree|s
19085
+ Gelasio|e
19086
+ Noto Sans HK|s
19087
+ Josefin Slab|e
19088
+ Aleo|e
19089
+ Forum|d
19090
+ Noto Sans Arabic|s
19091
+ Audiowide|d
19092
+ Kosugi Maru|s
19093
+ El Messiri|s
19094
+ Amaranth|s
19095
+ Neuton|e
19096
+ Alata|s
19097
+ Gilda Display|e
19098
+ Asap|s
19099
+ Cantarell|s
19100
+ Gloria Hallelujah|h
19101
+ Cutive Mono|m
19102
+ Eczar|e
19103
+ Sofia Sans Condensed|s
19104
+ Cookie|h
19105
+ Kaushan Script|h
19106
+ Racing Sans One|d
19107
+ Biryani|s
19108
+ Hind Madurai|s
19109
+ Nanum Pen Script|h
19110
+ Abhaya Libre|e
19111
+ Passion One|d
19112
+ Poiret One|d
19113
+ Lalezar|s
19114
+ M PLUS 1|s
19115
+ Noto Sans Malayalam|s
19116
+ Zilla Slab|e
19117
+ Concert One|d
19118
+ Damion|h
19119
+ Arsenal|s
19120
+ Goldman|d
19121
+ Ubuntu Mono|m
19122
+ Yeseva One|d
19123
+ Krub|s
19124
+ Jua|s
19125
+ Atkinson Hyperlegible Next|s
19126
+ Black Han Sans|s
19127
+ Bowlby One SC|d
19128
+ Didact Gothic|s
19129
+ Host Grotesk|s
19130
+ Volkhov|e
19131
+ Merienda|h
19132
+ Noto Serif Display|e
19133
+ Mitr|s
19134
+ Monda|s
19135
+ Sorts Mill Goudy|e
19136
+ ABeeZee|s
19137
+ Besley|e
19138
+ Handlee|h
19139
+ Lusitana|e
19140
+ Mada|s
19141
+ Alice|e
19142
+ Belleza|s
19143
+ Sriracha|h
19144
+ Mr Dafoe|h
19145
+ Mrs Saint Delafield|h
19146
+ Varela Round|s
19147
+ Nanum Brush Script|h
19148
+ Unica One|d
19149
+ Shippori Mincho B1|e
19150
+ Varela|s
19151
+ Reem Kufi|s
19152
+ Silkscreen|d
19153
+ Fira Sans Extra Condensed|s
19154
+ Alumni Sans|s
19155
+ Playball|d
19156
+ Rock Salt|h
19157
+ Berkshire Swash|h
19158
+ Reddit Sans|s
19159
+ Saira Semi Condensed|s
19160
+ Andika|s
19161
+ Bad Script|h
19162
+ Familjen Grotesk|s
19163
+ IBM Plex Sans JP|s
19164
+ Italianno|h
19165
+ Tiro Devanagari Hindi|e
19166
+ Zen Kaku Gothic Antique|s
19167
+ Cousine|m
19168
+ Geologica|s
19169
+ Jura|s
19170
+ Pirata One|d
19171
+ Blinker|s
19172
+ Cuprum|s
19173
+ Anek Latin|s
19174
+ Gloock|e
19175
+ Bowlby One|d
19176
+ Noto Serif Bengali|e
19177
+ Secular One|s
19178
+ Tangerine|h
19179
+ IBM Plex Sans Thai|s
19180
+ Monoton|d
19181
+ Pixelify Sans|d
19182
+ Balsamiq Sans|d
19183
+ Italiana|s
19184
+ Noto Serif TC|e
19185
+ IBM Plex Sans KR|s
19186
+ Knewave|d
19187
+ Taviraj|e
19188
+ Ultra|e
19189
+ Noto Sans Georgian|s
19190
+ Wix Madefor Display|s
19191
+ Darker Grotesque|s
19192
+ M PLUS 2|s
19193
+ Noto Serif SC|e
19194
+ Reenie Beanie|h
19195
+ Suez One|e
19196
+ Do Hyeon|s
19197
+ Syncopate|s
19198
+ Special Gothic Expanded One|s
19199
+ Averia Serif Libre|d
19200
+ Big Shoulders|d
19201
+ Alegreya Sans SC|s
19202
+ Azeret Mono|m
19203
+ Staatliches|d
19204
+ Amiri|e
19205
+ Itim|h
19206
+ Libre Bodoni|e
19207
+ Noto Sans Symbols|s
19208
+ Sofia|h
19209
+ Chango|d
19210
+ Eater|d
19211
+ Carter One|d
19212
+ Ruda|s
19213
+ Andada Pro|e
19214
+ Economica|s
19215
+ Adamina|e
19216
+ Radio Canada Big|s
19217
+ Fahkwang|s
19218
+ Sofia Sans Extra Condensed|s
19219
+ Gudea|s
19220
+ Stardos Stencil|d
19221
+ BenchNine|s
19222
+ Charm|h
19223
+ Cormorant Infant|e
19224
+ Geo|s
19225
+ Niramit|s
19226
+ MuseoModerno|d
19227
+ Noto Sans Gujarati|s
19228
+ Young Serif|e
19229
+ Vidaloka|e
19230
+ Khula|s
19231
+ La Belle Aurore|h
19232
+ Covered By Your Grace|h
19233
+ GFS Didot|e
19234
+ Wix Madefor Text|s
19235
+ Parisienne|h
19236
+ Pragati Narrow|s
19237
+ Chonburi|d
19238
+ Pontano Sans|s
19239
+ Six Caps|s
19240
+ Potta One|d
19241
+ Ma Shan Zheng|h
19242
+ Cabin Sketch|d
19243
+ Murecho|s
19244
+ Georama|s
19245
+ IBM Plex Sans Condensed|s
19246
+ Noto Sans Sinhala|s
19247
+ Tomorrow|s
19248
+ Londrina Solid|d
19249
+ Cedarville Cursive|h
19250
+ Jersey 25|d
19251
+ Sintony|s
19252
+ Basic|s
19253
+ Mona Sans|s
19254
+ Nixie One|d
19255
+ Funnel Sans|s
19256
+ Oooh Baby|h
19257
+ Red Hat Text|s
19258
+ Overpass Mono|m
19259
+ Ovo|e
19260
+ Boogaloo|d
19261
+ Mali|h
19262
+ K2D|s
19263
+ Baloo Bhai 2|d
19264
+ Caveat Brush|h
19265
+ Rufina|e
19266
+ Comic Relief|d
19267
+ Fustat|s
19268
+ Kreon|e
19269
+ Krona One|s
19270
+ Rozha One|e
19271
+ Arapey|e
19272
+ IM Fell English|e
19273
+ Martel Sans|s
19274
+ Angkor|d
19275
+ Neucha|h
19276
+ Germania One|d
19277
+ Hepta Slab|e
19278
+ Gowun Batang|e
19279
+ Electrolize|s
19280
+ Libre Caslon Display|e
19281
+ Afacad|s
19282
+ BIZ UDGothic|s
19283
+ Comic Neue|h
19284
+ Aclonica|s
19285
+ Marcellus SC|e
19286
+ Lateef|e
19287
+ Poller One|d
19288
+ Libertinus Serif|e
19289
+ Yuji Mai|e
19290
+ Kameron|e
19291
+ Mandali|s
19292
+ Nanum Gothic Coding|h
19293
+ Anek Bangla|s
19294
+ Noto Sans Kannada|s
19295
+ Yrsa|e
19296
+ Baloo Da 2|d
19297
+ Noto Sans Myanmar|s
19298
+ Cantata One|e
19299
+ Funnel Display|d
19300
+ Tilt Warp|d
19301
+ Fredericka the Great|d
19302
+ Yatra One|d
19303
+ Anaheim|s
19304
+ Hind Guntur|s
19305
+ Delicious Handrawn|h
19306
+ Glegoo|e
19307
+ Noto Sans Gurmukhi|s
19308
+ Caladea|e
19309
+ Grandstander|d
19310
+ Cabin Condensed|s
19311
+ Noto Emoji|s
19312
+ Hind Vadodara|s
19313
+ Klee One|h
19314
+ Livvic|s
19315
+ Share|s
19316
+ Hedvig Letters Serif|e
19317
+ Glory|s
19318
+ Ubuntu Sans|s
19319
+ Norican|h
19320
+ REM|s
19321
+ Aldrich|s
19322
+ Mochiy Pop One|s
19323
+ Bevan|e
19324
+ Kosugi|s
19325
+ Inria Serif|e
19326
+ Palanquin Dark|s
19327
+ Skranji|d
19328
+ Cormorant SC|e
19329
+ UnifrakturMaguntia|d
19330
+ Corben|d
19331
+ DynaPuff|d
19332
+ Zalando Sans|s
19333
+ ZCOOL XiaoWei|s
19334
+ Limelight|d
19335
+ Spinnaker|s
19336
+ Changa|s
19337
+ Graduate|e
19338
+ Trirong|e
19339
+ Oranienbaum|e
19340
+ Armata|s
19341
+ Karma|e
19342
+ Pridi|e
19343
+ Athiti|s
19344
+ Kumbh Sans|s
19345
+ Radley|e
19346
+ Chewy|d
19347
+ Zalando Sans Expanded|s
19348
+ Markazi Text|e
19349
+ Brygada 1918|e
19350
+ Ibarra Real Nova|e
19351
+ Akshar|s
19352
+ Aref Ruqaa|e
19353
+ Alegreya SC|e
19354
+ Herr Von Muellerhoff|h
19355
+ Mate|e
19356
+ Anton SC|s
19357
+ Belanosima|s
19358
+ Petit Formal Script|h
19359
+ Nova Square|d
19360
+ Tiro Bangla|e
19361
+ Sigmar One|d
19362
+ Zalando Sans SemiExpanded|s
19363
+ Enriqueta|e
19364
+ Libre Barcode 128|d
19365
+ Red Hat Mono|m
19366
+ Anuphan|s
19367
+ Pathway Extreme|s
19368
+ Crete Round|e
19369
+ Telex|s
19370
+ Marvel|s
19371
+ Shantell Sans|d
19372
+ Aboreto|d
19373
+ Anybody|d
19374
+ Sedgwick Ave Display|h
19375
+ PT Serif Caption|e
19376
+ Special Gothic Condensed One|s
19377
+ Coda|d
19378
+ IM Fell English SC|e
19379
+ Lustria|e
19380
+ Allerta Stencil|s
19381
+ Days One|s
19382
+ Red Rose|d
19383
+ ADLaM Display|d
19384
+ Kodchasan|s
19385
+ Antic Didone|e
19386
+ Podkova|e
19387
+ Style Script|h
19388
+ Qwitcher Grypen|h
19389
+ Metamorphous|d
19390
+ Yantramanav|s
19391
+ AR One Sans|s
19392
+ Paytone One|s
19393
+ Rosario|s
19394
+ Bona Nova SC|e
19395
+ Chelsea Market|d
19396
+ Alatsi|s
19397
+ Oxygen Mono|m
19398
+ Hina Mincho|e
19399
+ Kantumruy Pro|s
19400
+ Palanquin|s
19401
+ Chivo Mono|m
19402
+ Inclusive Sans|s
19403
+ Rampart One|d
19404
+ Quintessential|h
19405
+ Noto Sans Oriya|s
19406
+ Gabriela|e
19407
+ Laila|e
19408
+ Shadows Into Light Two|h
19409
+ DotGothic16|s
19410
+ Grenze Gotisch|d
19411
+ Candal|s
19412
+ Amarante|d
19413
+ BioRhyme|e
19414
+ IBM Plex Sans Hebrew|s
19415
+ Recursive|s
19416
+ Rubik Spray Paint|d
19417
+ Mansalva|h
19418
+ Averia Libre|d
19419
+ Fjord One|e
19420
+ Sometype Mono|m
19421
+ Baloo Bhaijaan 2|d
19422
+ Flow Circular|d
19423
+ Inria Sans|s
19424
+ Arizonia|h
19425
+ Bellefair|e
19426
+ Encode Sans Expanded|s
19427
+ Mountains of Christmas|d
19428
+ Noto Serif Devanagari|e
19429
+ Advent Pro|s
19430
+ Meddon|h
19431
+ Sniglet|d
19432
+ Encode Sans Condensed|s
19433
+ Koulen|d
19434
+ Rubik Doodle Shadow|d
19435
+ B612|s
19436
+ Mouse Memoirs|s
19437
+ Homemade Apple|h
19438
+ Nova Mono|m
19439
+ Yusei Magic|s
19440
+ Hi Melody|h
19441
+ Rammetto One|d
19442
+ Corinthia|h
19443
+ Ysabeau Office|s
19444
+ B612 Mono|m
19445
+ Pattaya|s
19446
+ Kristi|h
19447
+ Qwigley|h
19448
+ Tilt Neon|d
19449
+ Average Sans|s
19450
+ Baloo Thambi 2|d
19451
+ New Rocker|d
19452
+ Saira Extra Condensed|s
19453
+ Arbutus Slab|e
19454
+ Spectral SC|e
19455
+ TikTok Sans|s
19456
+ Pompiere|d
19457
+ Yesteryear|h
19458
+ Calligraffitti|h
19459
+ Zen Kurenaido|s
19460
+ Castoro|e
19461
+ Noto Sans Thai Looped|s
19462
+ Marmelad|s
19463
+ Niconne|h
19464
+ Irish Grover|d
19465
+ Martian Mono|m
19466
+ Short Stack|h
19467
+ Trocchi|e
19468
+ Noto Sans Symbols 2|s
19469
+ Turret Road|d
19470
+ Allerta|s
19471
+ Average|e
19472
+ Quattrocento Sans|s
19473
+ Cairo Play|s
19474
+ Reddit Sans Condensed|s
19475
+ Science Gothic|s
19476
+ Gulzar|e
19477
+ Playpen Sans|h
19478
+ Happy Monkey|d
19479
+ Noto Serif Thai|e
19480
+ Kaisei Opti|e
19481
+ ZCOOL QingKe HuangYou|s
19482
+ Battambang|d
19483
+ Zen Dots|d
19484
+ Actor|s
19485
+ Farro|s
19486
+ Alkatra|d
19487
+ KoHo|s
19488
+ Lexend Exa|s
19489
+ STIX Two Math|e
19490
+ Bungee Inline|d
19491
+ Fanwood Text|e
19492
+ Rubik Glitch|d
19493
+ Megrim|d
19494
+ Ribeye|d
19495
+ Waiting for the Sunrise|h
19496
+ Gotu|s
19497
+ Zain|s
19498
+ Cal Sans|s
19499
+ Lekton|m
19500
+ Karantina|d
19501
+ Coustard|e
19502
+ Sancreek|d
19503
+ Scheherazade New|e
19504
+ ZCOOL KuaiLe|s
19505
+ Iceberg|d
19506
+ Mukta Mahee|s
19507
+ Carrois Gothic|s
19508
+ Noto Sans Armenian|s
19509
+ Atma|d
19510
+ Beth Ellen|h
19511
+ Grand Hotel|h
19512
+ Bellota Text|d
19513
+ Jaldi|s
19514
+ Vujahday Script|h
19515
+ Cambay|s
19516
+ Copse|e
19517
+ Rouge Script|h
19518
+ Alef|s
19519
+ Finger Paint|d
19520
+ Noto Serif Georgian|e
19521
+ Boldonse|d
19522
+ Sofia Sans Semi Condensed|s
19523
+ Bungee Spice|d
19524
+ Protest Revolution|d
19525
+ Gluten|d
19526
+ Rubik Storm|d
19527
+ Jockey One|s
19528
+ Mozilla Headline|s
19529
+ Pathway Gothic One|s
19530
+ Annie Use Your Telescope|h
19531
+ Belgrano|e
19532
+ Coiny|d
19533
+ Euphoria Script|h
19534
+ IM Fell DW Pica|e
19535
+ Eagle Lake|h
19536
+ Libre Barcode 39 Text|d
19537
+ Della Respira|e
19538
+ Sarina|d
19539
+ Gowun Dodum|s
19540
+ Michroma|s
19541
+ Square Peg|h
19542
+ Capriola|s
19543
+ Zen Antique Soft|e
19544
+ Huninn|s
19545
+ Nothing You Could Do|h
19546
+ Aguafina Script|h
19547
+ Noto Sans Kharoshthi|s
19548
+ Alkalami|e
19549
+ BIZ UDPMincho|e
19550
+ Inder|s
19551
+ Chicle|d
19552
+ Hedvig Letters Sans|s
19553
+ Ledger|e
19554
+ Petrona|e
19555
+ Poly|e
19556
+ Rancho|h
19557
+ Xanh Mono|m
19558
+ Freeman|d
19559
+ Quando|e
19560
+ Bagel Fat One|d
19561
+ Carlito|s
19562
+ Kurale|e
19563
+ Sansita Swashed|d
19564
+ Noto Sans Chakma|s
19565
+ Special Gothic|s
19566
+ Cherry Bomb One|d
19567
+ Halant|e
19568
+ Anek Malayalam|s
19569
+ Dynalight|d
19570
+ Metrophobic|s
19571
+ Solway|e
19572
+ Rasa|e
19573
+ Vibur|h
19574
+ Port Lligat Sans|s
19575
+ Sour Gummy|s
19576
+ Carattere|h
19577
+ Mukta Vaani|s
19578
+ Patrick Hand SC|h
19579
+ Just Me Again Down Here|h
19580
+ Numans|s
19581
+ Magra|s
19582
+ Orelega One|d
19583
+ Bubbler One|s
19584
+ Fuzzy Bubbles|h
19585
+ Ruwudu|e
19586
+ Buenard|e
19587
+ Dawning of a New Day|h
19588
+ Henny Penny|d
19589
+ Noto Sans Math|s
19590
+ Allan|d
19591
+ Calistoga|d
19592
+ Lexend Peta|s
19593
+ Playwrite AR Guides|h
19594
+ Phudu|d
19595
+ Whisper|h
19596
+ Give You Glory|h
19597
+ Codystar|d
19598
+ Elsie|d
19599
+ Slackey|d
19600
+ Asap Sharp|s
19601
+ Lily Script One|d
19602
+ Cutive|e
19603
+ Monomaniac One|s
19604
+ Sedgwick Ave|h
19605
+ Bakbak One|d
19606
+ Stack Sans Headline|s
19607
+ Amiri Quran|e
19608
+ Noto Sans Ethiopic|s
19609
+ Schoolbell|h
19610
+ Frijole|d
19611
+ Gantari|s
19612
+ Oregano|d
19613
+ Bentham|e
19614
+ Gentium Book Plus|e
19615
+ LXGW WenKai TC|h
19616
+ Vesper Libre|e
19617
+ Abyssinica SIL|e
19618
+ Antic|s
19619
+ Kalnia|e
19620
+ Nobile|s
19621
+ Song Myung|e
19622
+ Amita|h
19623
+ Coming Soon|h
19624
+ Licorice|h
19625
+ Sue Ellen Francisco|h
19626
+ Anonymous Pro|m
19627
+ Hurricane|h
19628
+ Noto Serif Gurmukhi|e
19629
+ Cactus Classical Serif|e
19630
+ Fira Mono|m
19631
+ Tenali Ramakrishna|s
19632
+ Cormorant Upright|e
19633
+ Reddit Mono|m
19634
+ Spline Sans|s
19635
+ Bilbo Swash Caps|h
19636
+ Kablammo|d
19637
+ Duru Sans|s
19638
+ Modak|d
19639
+ Charmonman|h
19640
+ Mallanna|s
19641
+ Bayon|s
19642
+ Charis SIL|e
19643
+ Galada|d
19644
+ Supermercado One|d
19645
+ Bubblegum Sans|d
19646
+ Spicy Rice|d
19647
+ Puritan|s
19648
+ Unkempt|d
19649
+ Birthstone Bounce|h
19650
+ Uncial Antiqua|d
19651
+ Amiko|s
19652
+ Bellota|d
19653
+ Cambo|e
19654
+ Ms Madi|h
19655
+ Bokor|d
19656
+ Noto Serif Khojki|e
19657
+ Grenze|e
19658
+ M PLUS 1 Code|m
19659
+ Rosarivo|e
19660
+ Averia Sans Libre|d
19661
+ Tiny5|s
19662
+ Libertinus Sans|s
19663
+ Walter Turncoat|h
19664
+ Clicker Script|h
19665
+ Grape Nuts|h
19666
+ Marck Script|h
19667
+ Nosifer|d
19668
+ Artifika|e
19669
+ Sarpanch|s
19670
+ Sekuya|d
19671
+ Stack Sans Text|s
19672
+ Fontdiner Swanky|d
19673
+ Molengo|s
19674
+ Sail|d
19675
+ Jolly Lodger|d
19676
+ Salsa|d
19677
+ Kadwa|e
19678
+ Lemonada|d
19679
+ Trade Winds|d
19680
+ League Script|h
19681
+ Yuji Syuku|e
19682
+ Manjari|s
19683
+ Wendy One|s
19684
+ Brawler|e
19685
+ BIZ UDMincho|e
19686
+ Montez|h
19687
+ Kranky|d
19688
+ Sansation|s
19689
+ Alike Angular|e
19690
+ Faculty Glyphic|s
19691
+ Noto Sans Ol Chiki|s
19692
+ Meie Script|h
19693
+ Elms Sans|s
19694
+ Kelly Slab|d
19695
+ SUSE|s
19696
+ Fenix|e
19697
+ Major Mono Display|m
19698
+ Noto Serif Tamil|e
19699
+ Asul|e
19700
+ Madimi One|s
19701
+ Baloo Chettan 2|d
19702
+ Fasthand|d
19703
+ Kapakana|h
19704
+ Amethysta|e
19705
+ Bigshot One|d
19706
+ Kavoon|d
19707
+ Esteban|e
19708
+ Stick|s
19709
+ Kulim Park|s
19710
+ McLaren|d
19711
+ Noto Serif Lao|e
19712
+ Gochi Hand|h
19713
+ Holtwood One SC|e
19714
+ Kdam Thmor Pro|s
19715
+ Inknut Antiqua|e
19716
+ NTR|s
19717
+ Stalemate|h
19718
+ Baumans|d
19719
+ Platypi|e
19720
+ Rubik Bubbles|d
19721
+ Rye|d
19722
+ Caprasimo|d
19723
+ Gafata|s
19724
+ MedievalSharp|d
19725
+ Tiro Devanagari Sanskrit|e
19726
+ Homenaje|s
19727
+ Lemon|d
19728
+ Over the Rainbow|h
19729
+ Comme|s
19730
+ Shalimar|h
19731
+ Noto Serif Kannada|e
19732
+ Sunshiney|h
19733
+ Orienta|s
19734
+ Birthstone|h
19735
+ Long Cang|h
19736
+ Wire One|s
19737
+ Iceland|d
19738
+ Luxurious Script|h
19739
+ Mukta Malar|s
19740
+ Train One|d
19741
+ Baloo Tammudu 2|d
19742
+ Bonheur Royale|h
19743
+ Rochester|h
19744
+ Ropa Sans|s
19745
+ Timmana|s
19746
+ Yarndings 12|d
19747
+ Alike|e
19748
+ Convergence|s
19749
+ Imperial Script|h
19750
+ Cherry Swash|d
19751
+ Hanuman|e
19752
+ Lexend Tera|s
19753
+ Rationale|s
19754
+ IBM Plex Sans Devanagari|s
19755
+ Pangolin|h
19756
+ Rubik Wet Paint|d
19757
+ Afacad Flux|s
19758
+ Pavanam|s
19759
+ Varta|s
19760
+ Ancizar Serif|e
19761
+ East Sea Dokdo|h
19762
+ Carme|s
19763
+ Noto Serif Telugu|e
19764
+ Genos|s
19765
+ Goblin One|d
19766
+ Maitree|e
19767
+ Finlandica Text|s
19768
+ Londrina Outline|d
19769
+ Miriam Libre|s
19770
+ Sura|e
19771
+ Delius Unicase|h
19772
+ Bodoni Moda SC|e
19773
+ IM Fell Great Primer|e
19774
+ BhuTuka Expanded One|e
19775
+ Dongle|s
19776
+ Arbutus|e
19777
+ Baskervville SC|e
19778
+ Englebert|s
19779
+ Monofett|m
19780
+ Mr De Haviland|h
19781
+ Denk One|s
19782
+ Kaisei Decol|e
19783
+ Julius Sans One|s
19784
+ Truculenta|s
19785
+ Chocolate Classical Sans|s
19786
+ Kavivanar|h
19787
+ Leckerli One|h
19788
+ Macondo Swash Caps|d
19789
+ Balthazar|e
19790
+ Stoke|e
19791
+ Zilla Slab Highlight|e
19792
+ Anek Gujarati|s
19793
+ Dangrek|d
19794
+ Tienne|e
19795
+ Agdasima|s
19796
+ Galindo|d
19797
+ Comforter|h
19798
+ Croissant One|d
19799
+ Headland One|e
19800
+ Beau Rivage|h
19801
+ Loved by the King|h
19802
+ Shippori Antique|s
19803
+ Erica One|d
19804
+ Noto Sans Warang Citi|s
19805
+ Tourney|d
19806
+ Mystery Quest|d
19807
+ SN Pro|s
19808
+ Squada One|d
19809
+ Climate Crisis|d
19810
+ Doto|s
19811
+ Shanti|s
19812
+ Stylish|s
19813
+ Lexend Mega|s
19814
+ Nova Flat|d
19815
+ Monomakh|d
19816
+ National Park|s
19817
+ Crushed|d
19818
+ Freckle Face|d
19819
+ Oleo Script Swash Caps|d
19820
+ Edu SA Beginner|h
19821
+ Notable|s
19822
+ Asar|e
19823
+ Noto Sans Lao|s
19824
+ Joan|e
19825
+ Noto Serif Gujarati|e
19826
+ Rambla|s
19827
+ Geom|s
19828
+ Tauri|s
19829
+ Akaya Kanadaka|d
19830
+ Unlock|d
19831
+ Sarala|s
19832
+ Smooch|h
19833
+ Srisakdi|d
19834
+ Stick No Bills|s
19835
+ Geostar Fill|d
19836
+ Liter|s
19837
+ Lovers Quarrel|h
19838
+ Manufacturing Consent|d
19839
+ Manuale|e
19840
+ Moderustic|s
19841
+ Borel|h
19842
+ Odibee Sans|d
19843
+ Barrio|d
19844
+ Honk|d
19845
+ Kaisei HarunoUmi|e
19846
+ Trispace|s
19847
+ Yeon Sung|d
19848
+ Jacques Francois|e
19849
+ Momo Trust Sans|s
19850
+ Freehand|d
19851
+ Victor Mono|m
19852
+ Zen Tokyo Zoo|d
19853
+ Butcherman|d
19854
+ Content|d
19855
+ Noto Music|s
19856
+ Parkinsans|s
19857
+ Nerko One|h
19858
+ Edu NSW ACT Cursive|h
19859
+ Prociono|e
19860
+ Stint Ultra Expanded|e
19861
+ Katibeh|d
19862
+ MonteCarlo|h
19863
+ Risque|d
19864
+ Passions Conflict|h
19865
+ Poor Story|d
19866
+ Redacted|d
19867
+ Chilanka|h
19868
+ Contrail One|d
19869
+ Girassol|d
19870
+ Hachi Maru Pop|h
19871
+ Noto Sans Samaritan|s
19872
+ Dorsa|s
19873
+ Mea Culpa|h
19874
+ Rubik Moonrocks|d
19875
+ Carrois Gothic SC|s
19876
+ Gentium Plus|e
19877
+ Kotta One|e
19878
+ Wittgenstein|e
19879
+ Nova Slim|d
19880
+ Gurajada|s
19881
+ Gwendolyn|h
19882
+ Playwrite NO|h
19883
+ Barriecito|d
19884
+ Braah One|s
19885
+ Flamenco|d
19886
+ Paprika|d
19887
+ Smythe|d
19888
+ Jacques Francois Shadow|d
19889
+ Jomhuria|d
19890
+ Bilbo|h
19891
+ Playwrite VN Guides|h
19892
+ Thasadith|s
19893
+ Fascinate|d
19894
+ Prosto One|d
19895
+ Tac One|s
19896
+ IM Fell Great Primer SC|e
19897
+ Vollkorn SC|e
19898
+ Dekko|h
19899
+ Playwrite DE Grund|h
19900
+ Island Moments|h
19901
+ Playwrite IS|h
19902
+ Beiruti|s
19903
+ Ramaraja|e
19904
+ IM Fell French Canon SC|e
19905
+ Sansita|s
19906
+ Nata Sans|s
19907
+ Text Me One|s
19908
+ Noto Sans Buhid|s
19909
+ Simonetta|d
19910
+ Sulphur Point|s
19911
+ Romanesco|h
19912
+ Tiro Gurmukhi|e
19913
+ Water Brush|h
19914
+ Aladin|d
19915
+ Lugrasimo|h
19916
+ Send Flowers|h
19917
+ Shojumaru|d
19918
+ Texturina|e
19919
+ Mogra|d
19920
+ Chela One|d
19921
+ Engagement|h
19922
+ Chiron Hei HK|s
19923
+ Lexend Zetta|s
19924
+ Noto Serif Ethiopic|e
19925
+ BBH Bartle|s
19926
+ Atkinson Hyperlegible Mono|s
19927
+ Tiro Devanagari Marathi|e
19928
+ Encode Sans SC|s
19929
+ Kenia|d
19930
+ Bungee Hairline|d
19931
+ IBM Plex Sans Thai Looped|s
19932
+ Noto Sans Canadian Aboriginal|s
19933
+ Akt|s
19934
+ Playwrite IT Trad|h
19935
+ Scope One|e
19936
+ Joti One|d
19937
+ Offside|d
19938
+ Comforter Brush|h
19939
+ Fresca|s
19940
+ Ysabeau Infant|s
19941
+ Almendra SC|e
19942
+ Proza Libre|s
19943
+ WindSong|h
19944
+ Bitcount Grid Double|d
19945
+ Just Another Hand|h
19946
+ Libre Barcode EAN13 Text|d
19947
+ Kiwi Maru|e
19948
+ New Tegomin|e
19949
+ Epunda Sans|s
19950
+ Noto Serif Armenian|e
19951
+ Gideon Roman|d
19952
+ New Amsterdam|s
19953
+ Dai Banna SIL|e
19954
+ Rhodium Libre|e
19955
+ Anek Odia|s
19956
+ Spirax|d
19957
+ Playpen Sans Arabic|h
19958
+ Underdog|d
19959
+ Ubuntu Sans Mono|m
19960
+ Farsan|d
19961
+ LXGW WenKai Mono TC|m
19962
+ Astloch|d
19963
+ Festive|h
19964
+ Moul|d
19965
+ Tilt Prism|d
19966
+ Fleur De Leah|h
19967
+ Noto Sans Sora Sompeng|s
19968
+ Arsenal SC|s
19969
+ Inika|e
19970
+ Shrikhand|d
19971
+ Trykker|e
19972
+ Jersey 10|d
19973
+ Ruluko|s
19974
+ Alumni Sans Pinstripe|s
19975
+ Noto Serif Sinhala|e
19976
+ Averia Gruesa Libre|d
19977
+ Keania One|d
19978
+ Rakkas|d
19979
+ Oi|d
19980
+ Bahiana|d
19981
+ Tsukimi Rounded|s
19982
+ Hubballi|s
19983
+ Noto Sans Brahmi|s
19984
+ Suranna|e
19985
+ Piedra|d
19986
+ Reggae One|d
19987
+ Aoboshi One|e
19988
+ Bacasime Antique|e
19989
+ Felipa|h
19990
+ Odor Mean Chey|e
19991
+ Noto Serif Tibetan|e
19992
+ Orbit|s
19993
+ Bruno Ace|d
19994
+ Nova Script|d
19995
+ Metal|d
19996
+ Caramel|h
19997
+ Reem Kufi Fun|s
19998
+ Libre Barcode 39 Extended|d
19999
+ Diphylleia|e
20000
+ Meera Inimai|s
20001
+ Snippet|s
20002
+ Yomogi|h
20003
+ Mohave|s
20004
+ Sofadi One|d
20005
+ Vina Sans|d
20006
+ Sumana|e
20007
+ Federant|d
20008
+ Julee|h
20009
+ Noto Sans Javanese|s
20010
+ Spline Sans Mono|m
20011
+ Diplomata|d
20012
+ Elsie Swash Caps|d
20013
+ Kaisei Tokumin|e
20014
+ Sahitya|e
20015
+ WDXL Lubrifont JP N|s
20016
+ Cherry Cream Soda|d
20017
+ Noto Sans Mandaic|s
20018
+ Atomic Age|d
20019
+ Noto Sans Nandinagari|s
20020
+ Preahvihear|s
20021
+ Ewert|d
20022
+ Mochiy Pop P One|s
20023
+ Neonderthaw|h
20024
+ Baloo Paaji 2|d
20025
+ Dhurjati|s
20026
+ Estonia|h
20027
+ Dr Sugiyama|h
20028
+ Buda|d
20029
+ Libertinus Math|d
20030
+ Noto Sans Osmanya|s
20031
+ Almendra Display|d
20032
+ Galdeano|s
20033
+ Londrina Sketch|d
20034
+ Playwrite VN|h
20035
+ Iansui|h
20036
+ Anek Gurmukhi|s
20037
+ Life Savers|d
20038
+ Libre Barcode 128 Text|d
20039
+ Ojuju|s
20040
+ Edu TAS Beginner|h
20041
+ Fragment Mono|m
20042
+ Noto Sans Tai Le|s
20043
+ Nuosu SIL|s
20044
+ My Soul|h
20045
+ Sixtyfour|m
20046
+ Noto Sans Coptic|s
20047
+ Arya|s
20048
+ Kumar One|d
20049
+ Noto Serif Myanmar|e
20050
+ Alyamama|e
20051
+ Uchen|e
20052
+ Bonbon|h
20053
+ Plaster|d
20054
+ Edu NSW ACT Foundation|h
20055
+ GFS Neohellenic|s
20056
+ Tulpen One|d
20057
+ Chathura|s
20058
+ Noto Sans Shavian|s
20059
+ Bitcount Prop Single|d
20060
+ Oldenburg|d
20061
+ Langar|d
20062
+ Wellfleet|e
20063
+ Updock|h
20064
+ Zen Loop|d
20065
+ Passero One|d
20066
+ Tiro Telugu|e
20067
+ Estedad|s
20068
+ Playwrite AU QLD|h
20069
+ SUSE Mono|s
20070
+ Syne Tactile|d
20071
+ Cascadia Mono|s
20072
+ Jersey 20|d
20073
+ Playwrite IE|h
20074
+ Swanky and Moo Moo|h
20075
+ Imbue|e
20076
+ Miss Fajardose|h
20077
+ Ribeye Marrow|d
20078
+ Caesar Dressing|d
20079
+ Mr Bedfort|h
20080
+ Kolker Brush|h
20081
+ Purple Purse|d
20082
+ Zhi Mang Xing|h
20083
+ Momo Signature|s
20084
+ Noto Serif Malayalam|e
20085
+ Stalinist One|d
20086
+ Geist Pixel|d
20087
+ Gugi|d
20088
+ Noto Sans Pahawh Hmong|s
20089
+ Gidole|s
20090
+ Voces|s
20091
+ Noto Sans Cypriot|s
20092
+ Ranchers|d
20093
+ Sassy Frass|h
20094
+ Diplomata SC|d
20095
+ Winky Rough|s
20096
+ Playwrite PL|h
20097
+ Jacquard 24|d
20098
+ Tiro Kannada|e
20099
+ IM Fell Double Pica|e
20100
+ Noto Rashi Hebrew|e
20101
+ Playwrite NL|h
20102
+ Noto Sans Meetei Mayek|s
20103
+ Playwrite CA|h
20104
+ Playwrite MX Guides|h
20105
+ Black And White Picture|d
20106
+ Idiqlat|e
20107
+ Alumni Sans Collegiate One|s
20108
+ Emilys Candy|d
20109
+ Clarity City|s
20110
+ Edu AU VIC WA NT Guides|h
20111
+ Overlock SC|d
20112
+ Vibes|d
20113
+ WDXL Lubrifont SC|s
20114
+ Mako|s
20115
+ Sixtyfour Convergence|m
20116
+ Anek Kannada|s
20117
+ Moulpali|s
20118
+ Mrs Sheppards|h
20119
+ Seaweed Script|d
20120
+ Allison|h
20121
+ Noto Sans Vithkuqi|s
20122
+ Gidugu|s
20123
+ Lunasima|s
20124
+ Rubik 80s Fade|d
20125
+ Hanalei Fill|d
20126
+ Splash|h
20127
+ Noto Sans Old Italic|s
20128
+ Nova Round|d
20129
+ Ole|h
20130
+ Edu VIC WA NT Beginner|h
20131
+ Mynerve|h
20132
+ Noto Sans Runic|s
20133
+ Rubik Puddles|d
20134
+ Flavors|d
20135
+ Asimovian|s
20136
+ Chau Philomene One|s
20137
+ Noto Sans NKo|s
20138
+ Noto Sans Cherokee|s
20139
+ Noto Sans Hanunoo|s
20140
+ Tiro Tamil|e
20141
+ Noto Sans Balinese|s
20142
+ Redacted Script|d
20143
+ Caudex|e
20144
+ Noto Sans Multani|s
20145
+ Noto Sans Linear B|s
20146
+ Danfo|e
20147
+ Miniver|d
20148
+ Noto Sans Marchen|s
20149
+ Trochut|d
20150
+ Kings|h
20151
+ Asset|d
20152
+ Protest Guerrilla|d
20153
+ Explora|h
20154
+ Noto Sans Syriac|s
20155
+ Aubrey|d
20156
+ Libertinus Mono|m
20157
+ Bigelow Rules|d
20158
+ Noto Serif NP Hmong|e
20159
+ Anek Devanagari|s
20160
+ Ballet|h
20161
+ Noto Sans Old Permic|s
20162
+ Cause|h
20163
+ Playwrite TZ Guides|h
20164
+ Rubik Gemstones|d
20165
+ Cossette Titre|s
20166
+ Devonshire|h
20167
+ Playwrite AU SA|h
20168
+ Ga Maamli|d
20169
+ Hahmlet|e
20170
+ Noto Sans Old Hungarian|s
20171
+ Rubik Vinyl|d
20172
+ Delius Swash Caps|h
20173
+ Noto Sans Bhaiksuki|s
20174
+ Grechen Fuemen|h
20175
+ Handjet|d
20176
+ Moirai One|d
20177
+ Noto Sans Egyptian Hieroglyphs|s
20178
+ Noto Sans Nag Mundari|s
20179
+ Sankofa Display|s
20180
+ Jacquarda Bastarda 9|d
20181
+ Rubik Pixels|d
20182
+ Strait|s
20183
+ Raleway Dots|d
20184
+ Rubik Beastly|d
20185
+ Narnoor|s
20186
+ Workbench|m
20187
+ Big Shoulders Inline|d
20188
+ Fondamento|h
20189
+ Playwrite GB S|h
20190
+ Edu AU VIC WA NT Dots|h
20191
+ Solitreo|h
20192
+ M PLUS Code Latin|s
20193
+ Noto Sans Tifinagh|s
20194
+ Noto Sans Cypro Minoan|s
20195
+ Geomini|s
20196
+ Triodion|d
20197
+ M PLUS U|s
20198
+ BBH Bogle|s
20199
+ Rubik Broken Fax|d
20200
+ Rock 3D|d
20201
+ Noto Sans Adlam Unjoined|s
20202
+ Tai Heritage Pro|e
20203
+ Playwrite FR Moderne|h
20204
+ Playwrite AT|h
20205
+ Ingrid Darling|h
20206
+ Maname|e
20207
+ Noto Sans Yi|s
20208
+ Geostar|d
20209
+ Lumanosimo|h
20210
+ Noto Sans Mende Kikakui|s
20211
+ Kalnia Glaze|d
20212
+ Combo|d
20213
+ Scoutie Sans|s
20214
+ Agu Display|d
20215
+ Griffy|d
20216
+ Noto Sans Medefaidrin|s
20217
+ Noto Sans Carian|s
20218
+ Rubik Maze|d
20219
+ Khmer|s
20220
+ Noto Sans Old Turkic|s
20221
+ Namdhinggo|e
20222
+ Parastoo|e
20223
+ LXGW Marker Gothic|s
20224
+ Gupter|e
20225
+ Kumar One Outline|d
20226
+ Saira Stencil|d
20227
+ Playwrite DK Loopet|h
20228
+ Ceviche One|d
20229
+ Cormorant Unicase|e
20230
+ Noto Serif Balinese|e
20231
+ Rubik Doodle Triangles|d
20232
+ Libertinus Serif Display|d
20233
+ Noto Sans Lisu|s
20234
+ Liu Jian Mao Cao|h
20235
+ Playwrite DK Uloopet|h
20236
+ Palette Mosaic|d
20237
+ Noto Sans Kaithi|s
20238
+ Noto Sans Syloti Nagri|s
20239
+ Playwrite CZ|h
20240
+ Rum Raisin|s
20241
+ Playwrite AR|h
20242
+ Epunda Slab|e
20243
+ Bpmf Huninn|s
20244
+ Bahianita|d
20245
+ Castoro Titling|d
20246
+ Judson|e
20247
+ Alien Block|d
20248
+ Gajraj One|d
20249
+ Noto Sans Tagbanwa|s
20250
+ Playwrite IT Moderna|h
20251
+ Flow Rounded|d
20252
+ Maiden Orange|e
20253
+ Jaini Purva|d
20254
+ Bitcount|d
20255
+ Faster One|d
20256
+ Playpen Sans Thai|h
20257
+ Yuyu Short|h
20258
+ Badeen Display|d
20259
+ Hind Mysuru|s
20260
+ Betania Patmos|h
20261
+ Playwrite AU VIC|h
20262
+ Playwrite AU TAS|h
20263
+ Tillana|d
20264
+ Noto Serif Toto|e
20265
+ Lisu Bosa|e
20266
+ Sree Krushnadevaraya|e
20267
+ Playwrite NZ|h
20268
+ Story Script|s
20269
+ Edu QLD Beginner|h
20270
+ Menbere|s
20271
+ Noto Sans Syriac Eastern|s
20272
+ Playwrite PE|h
20273
+ Pochaevsk|d
20274
+ Agbalumo|d
20275
+ Bitcount Single Ink|d
20276
+ Isometra|e
20277
+ Kay Pho Du|e
20278
+ Noto Sans Mayan Numerals|s
20279
+ Playwrite PT|h
20280
+ RocknRoll One|s
20281
+ Bitcount Prop Double Ink|d
20282
+ Chokokutai|d
20283
+ Noto Sans Limbu|s
20284
+ Shafarik|d
20285
+ Junge|e
20286
+ Noto Sans Deseret|s
20287
+ Piazzolla|e
20288
+ Puppies Play|h
20289
+ Noto Sans Palmyrene|s
20290
+ Playwrite HR Lijeva|h
20291
+ Sono|s
20292
+ Edu SA Hand|h
20293
+ Noto Sans Pau Cin Hau|s
20294
+ Stint Ultra Condensed|e
20295
+ Noto Sans Vai|s
20296
+ Fascinate Inline|d
20297
+ Noto Sans Old North Arabian|s
20298
+ Noto Sans Sharada|s
20299
+ Vend Sans|s
20300
+ Cantora One|s
20301
+ Noto Sans Hatran|s
20302
+ Noto Sans Miao|s
20303
+ Noto Sans Bamum|s
20304
+ Allkin|d
20305
+ Stack Sans Notch|s
20306
+ Edu AU VIC WA NT Arrows|h
20307
+ Mate SC|e
20308
+ Playwrite CU Guides|h
20309
+ Edu AU VIC WA NT Pre|h
20310
+ Nova Oval|d
20311
+ Jaini|d
20312
+ Siemreap|s
20313
+ Big Shoulders Stencil|d
20314
+ Playwrite ES Deco|h
20315
+ Yuyu|h
20316
+ Noto Sans Duployan|s
20317
+ Noto Sans Lepcha|s
20318
+ Warnes|d
20319
+ Noto Serif Ottoman Siyaq|e
20320
+ Winky Sans|s
20321
+ Montagu Slab|e
20322
+ Playwrite NG Modern|h
20323
+ Cagliostro|s
20324
+ Noto Sans Newa|s
20325
+ Noto Sans Mahajani|s
20326
+ Port Lligat Slab|e
20327
+ Bitcount Grid Single Ink|d
20328
+ Playwrite FR Trad|h
20329
+ Edu VIC WA NT Hand Pre|h
20330
+ Noto Sans Grantha|s
20331
+ Yaldevi|s
20332
+ Konkhmer Sleokchher|d
20333
+ Noto Traditional Nushu|s
20334
+ Yuji Hentaigana Akebono|h
20335
+ Betania Patmos In GDL|h
20336
+ Rubik Lines|d
20337
+ Noto Sans Zanabazar Square|s
20338
+ Goudy Bookletter 1911|e
20339
+ Noto Serif Todhri|e
20340
+ Blaka Ink|d
20341
+ Luxurious Roman|d
20342
+ Noto Sans Lycian|s
20343
+ Overlock|d
20344
+ Playwrite PL Guides|h
20345
+ Miltonian|d
20346
+ Noto Sans Chorasmian|s
20347
+ Noto Sans Inscriptional Pahlavi|s
20348
+ Blaka Hollow|d
20349
+ Ramsina|e
20350
+ Gaegu|h
20351
+ Noto Sans Mro|s
20352
+ Noto Serif Grantha|e
20353
+ Jacquarda Bastarda 9 Charted|d
20354
+ BJCree|e
20355
+ Bitcount Prop Double|d
20356
+ Playwrite PT Guides|h
20357
+ Caacupe One|d
20358
+ Noto Sans Kayah Li|s
20359
+ Glass Antiqua|d
20360
+ Noto Serif Old Uyghur|e
20361
+ Playwrite DK Uloopet Guides|h
20362
+ Noto Sans Buginese|s
20363
+ Noto Sans PhagsPa|s
20364
+ Playwrite FR Trad Guides|h
20365
+ Noto Sans Imperial Aramaic|s
20366
+ Playwrite IT Moderna Guides|h
20367
+ Playwrite AU QLD Guides|h
20368
+ Noto Sans Gothic|s
20369
+ Noto Sans Siddham|s
20370
+ Playwrite NO Guides|h
20371
+ Playwrite DE LA|h
20372
+ Playwrite ID Guides|h
20373
+ Bitcount Grid Double Ink|d
20374
+ Playwrite IT Trad Guides|h
20375
+ Monsieur La Doulaise|h
20376
+ Playwrite SK|h
20377
+ Playwrite BE VLG Guides|h
20378
+ Playwrite CO|h
20379
+ Chiron Sung HK|e
20380
+ Edu VIC WA NT Hand|h
20381
+ Playwrite DK Loopet Guides|h
20382
+ Kite One|s
20383
+ Noto Sans Inscriptional Parthian|s
20384
+ Noto Sans New Tai Lue|s
20385
+ Noto Znamenny Musical Notation|s
20386
+ Sigmar|d
20387
+ Ephesis|h
20388
+ Linden Hill|e
20389
+ Noto Sans Tamil Supplement|s
20390
+ Noto Sans Caucasian Albanian|s
20391
+ Wallpoet|d
20392
+ Edu NSW ACT Hand Pre|h
20393
+ Sirin Stencil|d
20394
+ Voltaire|s
20395
+ Playwrite BE WAL|h
20396
+ Edu AU VIC WA NT Hand|h
20397
+ Playwrite BR|h
20398
+ Vast Shadow|e
20399
+ Noto Sans Sogdian|s
20400
+ Playwrite ID|h
20401
+ Noto Sans Saurashtra|s
20402
+ Noto Sans Masaram Gondi|s
20403
+ Nova Cut|d
20404
+ Noto Sans Modi|s
20405
+ Kedebideri|s
20406
+ Noto Sans NKo Unjoined|s
20407
+ Noto Sans Kawi|s
20408
+ Bruno Ace SC|d
20409
+ Autour One|d
20410
+ Yarndings 20 Charted|d
20411
+ Lakki Reddy|h
20412
+ Playwrite US Trad Guides|h
20413
+ Noto Sans Soyombo|s
20414
+ Noto Sans Psalter Pahlavi|s
20415
+ Noto Sans Tai Viet|s
20416
+ Yarndings 20|d
20417
+ Jacquard 24 Charted|d
20418
+ Praise|h
20419
+ Scada|s
20420
+ Playwrite PE Guides|h
20421
+ Chiron GoRound TC|s
20422
+ Akatab|s
20423
+ Jersey 10 Charted|d
20424
+ Condiment|h
20425
+ Playwrite IN Guides|h
20426
+ Noto Sans Gunjala Gondi|s
20427
+ Playwrite GB J Guides|h
20428
+ Betania Patmos In|h
20429
+ Love Ya Like A Sister|d
20430
+ Noto Sans Bassa Vah|s
20431
+ Noto Sans Rejang|s
20432
+ Noto Sans Old Sogdian|s
20433
+ Fruktur|d
20434
+ Noto Sans Khudawadi|s
20435
+ Noto Serif Khmer|e
20436
+ Playwrite NG Modern Guides|h
20437
+ Jersey 20 Charted|d
20438
+ Playwrite DE SAS Guides|h
20439
+ Playwrite ES Deco Guides|h
20440
+ Meow Script|h
20441
+ Playwrite DE LA Guides|h
20442
+ Benne|e
20443
+ Playwrite RO Guides|h
20444
+ Libre Barcode 39 Extended Text|d
20445
+ Playwrite HU Guides|h
20446
+ Playwrite IE Guides|h
20447
+ Reem Kufi Ink|s
20448
+ Playwrite GB S Guides|h
20449
+ Gveret Levin|h
20450
+ Playwrite US Modern Guides|h
20451
+ Bungee Shade|d
20452
+ Playwrite CZ Guides|h
20453
+ Playwrite CL Guides|h
20454
+ Playwrite SK Guides|h
20455
+ Playwrite AT Guides|h
20456
+ Noto Sans Lao Looped|s
20457
+ Lacquer|d
20458
+ Miranda Sans|s
20459
+ Playwrite AU NSW Guides|h
20460
+ Rubik Distressed|d
20461
+ Metal Mania|d
20462
+ Baloo Tamma 2|d
20463
+ Sedan SC|e
20464
+ Zen Antique|e
20465
+ Micro 5|d
20466
+ Grey Qo|h
20467
+ Poetsen One|d
20468
+ Iosevka Charon Mono|m
20469
+ Kirang Haerang|d
20470
+ Fauna One|e
20471
+ Rubik Iso|d
20472
+ Moon Dance|h
20473
+ Foldit|d
20474
+ Syne Mono|m
20475
+ Noto Sans Tangsa|s
20476
+ Alumni Sans Inline One|d
20477
+ Rubik Burned|d
20478
+ Amarna|s
20479
+ Noto Sans Adlam|s
20480
+ David Libre|e
20481
+ Libre Caslon Condensed|e
20482
+ Molle|h
20483
+ Encode Sans Semi Condensed|s
20484
+ Playwrite RO|h
20485
+ Bungee Tint|d
20486
+ Sedan|e
20487
+ Sunflower|s
20488
+ Almendra|e
20489
+ Tapestry|h
20490
+ Asta Sans|s
20491
+ Revalia|d
20492
+ Peddana|e
20493
+ Macondo|d
20494
+ Twinkle Star|h
20495
+ Playwrite US Modern|h
20496
+ Playwrite HU|h
20497
+ Playwrite HR|h
20498
+ UnifrakturCook|d
20499
+ Snowburst One|d
20500
+ Noto Sans Takri|s
20501
+ Flow Block|d
20502
+ Noto Sans Sunuwar|s
20503
+ Padauk|s
20504
+ Teachers|s
20505
+ Moo Lah Lah|d
20506
+ Noto Serif Dives Akuru|e
20507
+ UoqMunThenKhung|e
20508
+ Arima|d
20509
+ Noto Sans Sundanese|s
20510
+ Petemoss|h
20511
+ Noto Sans Cuneiform|s
20512
+ Noto Serif Tangut|e
20513
+ Imprima|s
20514
+ Taprom|d
20515
+ Noto Sans Batak|s
20516
+ Expletus Sans|d
20517
+ Noto Sans Avestan|s
20518
+ Qahiri|s
20519
+ Slackside One|h
20520
+ Noto Serif Yezidi|e
20521
+ Rubik Dirt|d
20522
+ Alan Sans|s
20523
+ Coral Pixels|d
20524
+ Noto Sans Glagolitic|s
20525
+ TASA Orbiter|s
20526
+ Lilex|m
20527
+ Ponomar|d
20528
+ Harmattan|s
20529
+ Phetsarath|s
20530
+ Linefont|d
20531
+ Sirivennela|s
20532
+ Playwrite BE VLG|h
20533
+ Strichpunkt Sans|s
20534
+ Gayathri|s
20535
+ Exile|d
20536
+ Original Surfer|d
20537
+ Karla Tamil Inclined|s
20538
+ Poltawski Nowy|e
20539
+ Protest Strike|d
20540
+ Savate|s
20541
+ Rubik Maps|d
20542
+ Finlandica Headline|s
20543
+ Noto Sans Khojki|s
20544
+ Noto Serif Oriya|e
20545
+ Playwrite NZ Basic|h
20546
+ Protest Riot|d
20547
+ Gamja Flower|h
20548
+ Road Rage|d
20549
+ Hanalei|d
20550
+ Noto Sans Elbasan|s
20551
+ Hibur Mono|m
20552
+ Noto Sans Lydian|s
20553
+ Crafty Girls|h
20554
+ Ruslan Display|d
20555
+ Playwrite IS Guides|h
20556
+ Bona Nova|e
20557
+ Noto Serif HK|e
20558
+ Kufam|s
20559
+ Noto Sans Meroitic|s
20560
+ Wavefont|d
20561
+ Viaoda Libre|d
20562
+ Mirza|e
20563
+ Encode Sans Semi Expanded|s
20564
+ Noto Sans Wancho|s
20565
+ Noto Sans Cham|s
20566
+ Noto Sans Manichaean|s
20567
+ Federo|s
20568
+ Noto Serif Hebrew|e
20569
+ Playwrite CA Guides|h
20570
+ Darumadrop One|d
20571
+ Noto Sans Old South Arabian|s
20572
+ Noto Sans Ugaritic|s
20573
+ Redressed|h
20574
+ Playwrite CO Guides|h
20575
+ Noto Sans Tirhuta|s
20576
+ Noto Serif Hentaigana|e
20577
+ Anta|s
20578
+ Playwrite BE WAL Guides|h
20579
+ Gemunu Libre|s
20580
+ Habibi|e
20581
+ Playwrite TZ|h
20582
+ Nokora|s
20583
+ Noto Sans Hanifi Rohingya|s
20584
+ Bitcount Prop Single Ink|d
20585
+ Dokdo|d
20586
+ Noto Sans Elymaic|s
20587
+ Playwrite CL|h
20588
+ Matangi|s
20589
+ Playwrite DE Grund Guides|h
20590
+ Gasoek One|s
20591
+ The Girl Next Door|h
20592
+ The Nautigal|h
20593
+ Noto Sans Ogham|s
20594
+ Montaga|e
20595
+ Lavishly Yours|h
20596
+ Koh Santepheap|e
20597
+ Playwrite DE VA|h
20598
+ Noto Sans Nushu|s
20599
+ Betania Patmos GDL|h
20600
+ Peralta|e
20601
+ Fuggles|h
20602
+ Ysabeau SC|s
20603
+ Kanchenjunga|s
20604
+ Mooli|s
20605
+ Playwrite US Trad|h
20606
+ Mina|s
20607
+ Playwrite BR Guides|h
20608
+ Yarndings 12 Charted|d
20609
+ Waterfall|h
20610
+ Kode Mono|m
20611
+ Playwrite ES Guides|h
20612
+ Playwrite NZ Basic Guides|h
20613
+ Playwrite FR Moderne Guides|h
20614
+ Cascadia Code|s
20615
+ Playwrite DE VA Guides|h
20616
+ Playwrite AU SA Guides|h
20617
+ Playwrite NL Guides|h
20618
+ Playwrite HR Lijeva Guides|h
20619
+ Anek Tamil|s
20620
+ Bitcount Single|d
20621
+ Medula One|d
20622
+ Mozilla Text|s
20623
+ Baloo Bhaina 2|d
20624
+ Sevillana|d
20625
+ Hubot Sans|s
20626
+ Momo Trust Display|s
20627
+ Single Day|d
20628
+ Yuji Boku|e
20629
+ Jomolhari|e
20630
+ IM Fell French Canon|e
20631
+ Modern Antiqua|d
20632
+ Jaro|s
20633
+ Akronim|d
20634
+ Akaya Telivigala|d
20635
+ Ruthie|h
20636
+ Playwrite IN|h
20637
+ Margarine|d
20638
+ Suwannaphum|e
20639
+ Marhey|d
20640
+ Cute Font|d
20641
+ Montserrat Underline|s
20642
+ IM Fell DW Pica SC|e
20643
+ Ysabeau|s
20644
+ Shippori Antique B1|s
20645
+ Noto Sans Tagalog|s
20646
+ Playwrite CU|h
20647
+ Noto Serif Ahom|e
20648
+ Nabla|d
20649
+ Smokum|d
20650
+ Rubik Scribble|d
20651
+ Inspiration|h
20652
+ Noto Sans Linear A|s
20653
+ Sonsie One|d
20654
+ Milonga|d
20655
+ IM Fell Double Pica SC|e
20656
+ Vampiro One|d
20657
+ Iosevka Charon|m
20658
+ Seymour One|s
20659
+ Intel One Mono|m
20660
+ BBH Hegarty|s
20661
+ Jacquard 12|d
20662
+ Tuffy|s
20663
+ Pliant|s
20664
+ Noto Sans Nabataean|s
20665
+ Ravi Prakash|d
20666
+ Marko One|e
20667
+ Noto Sans Thaana|s
20668
+ Gorditas|d
20669
+ Miltonian Tattoo|d
20670
+ Jim Nightshade|h
20671
+ Princess Sofia|h
20672
+ Donegal One|e
20673
+ Noto Sans Mongolian|s
20674
+ Emblema One|d
20675
+ Playwrite AU NSW|h
20676
+ Noto Sans Anatolian Hieroglyphs|s
20677
+ Londrina Shadow|d
20678
+ Ranga|d
20679
+ Babylonica|h
20680
+ Jersey 15|d
20681
+ Bungee Outline|d
20682
+ Micro 5 Charted|d
20683
+ Noto Sans Old Persian|s
20684
+ Aref Ruqaa Ink|e
20685
+ Chenla|d
20686
+ Alumni Sans SC|s
20687
+ Lancelot|d
20688
+ TASA Explorer|s
20689
+ Playpen Sans Hebrew|h
20690
+ Ancizar Sans|s
20691
+ Labrada|e
20692
+ Shizuru|d
20693
+ Cherish|h
20694
+ Love Light|h
20695
+ Rubik Microbe|d
20696
+ Matemasie|s
20697
+ BioRhyme Expanded|e
20698
+ Valley Sans|s
20699
+ Butterfly Kids|h
20700
+ Annapurna SIL|e
20701
+ Rubik Marker Hatch|d
20702
+ Bitcount Grid Single|d
20703
+ Cossette Texte|s
20704
+ Blaka|d
20705
+ Are You Serious|h
20706
+ Ruge Boogie|h
20707
+ WDXL Lubrifont TC|s
20708
+ Bytesized|s
20709
+ Rubik Glitch Pop|d
20710
+ Datatype|m
20711
+ Tagesschrift|d
20712
+ Suravaram|e
20713
+ Noto Serif Dogra|e
20714
+ Noto Serif Vithkuqi|e
20715
+ Playwrite ES|h
20716
+ Grandiflora One|e
20717
+ Tirra|s
20718
+ Playwrite DE SAS|h
20719
+ Playwrite ZA|h
20720
+ Playwrite MX|h
20721
+ Playwrite GB J|h
20722
+ Playpen Sans Deva|h
20723
+ Ponnala|d
20724
+ Edu QLD Hand|h
20725
+ Noto Sans Osage|s
20726
+ Noto Sans Indic Siyaq Numbers|s
20727
+ Kripa|s
20728
+ Noto Sans Phoenician|s
20729
+ Bitcount Ink|d
20730
+ Mingzat|s
20731
+ Karla Tamil Upright|s
20732
+ Bpmf Zihi Kai Std|s
20733
+ Montenegrin Gothic One|e
20734
+ Noto Serif Makasar|e
20735
+ Noto Sans Tai Tham|s
20736
+ Yuji Hentaigana Akari|h
20737
+ Libertinus Keyboard|d
20738
+ Noto Serif Khitan Small Script|e
20739
+ Bpmf Iansui|h
20740
+ Jacquard 12 Charted|d
20741
+ Padyakke Expanded One|e
20742
+ Jersey 25 Charted|d
20743
+ Noto Sans SignWriting|s
20744
+ Playwrite NZ Guides|h
20745
+ Noto Sans Syriac Western|s
20746
+ Jersey 15 Charted|d
20747
+ Playwrite AU VIC Guides|h
20748
+ Playwrite HR Guides|h
20749
+ Playwrite ZA Guides|h
20750
+ Playwrite AU TAS Guides|h`;
20751
+
18799
20752
  // src/motionEngine/sceneScript.js
18800
20753
  var FORMATS = { "16:9": [1920, 1080], "9:16": [1080, 1920], "1:1": [1080, 1080], "4:5": [1080, 1350] };
18801
20754
  var CROSS_TRANSITIONS = [
@@ -18870,6 +20823,28 @@ function cameraCatalog() {
18870
20823
  var FONT = "'Helvetica Neue', Helvetica, Arial, sans-serif";
18871
20824
  var TEXT = new Map([...PRESETS, ...CLASSIC_PRESETS].map((p) => [p.id, p]));
18872
20825
  var TEXT_RENAMED = { "glide-soft": "glide-continuous" };
20826
+ var rgbOf = (c) => {
20827
+ const m = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(String(c || "").trim());
20828
+ if (!m) return null;
20829
+ const h = m[1].length === 3 ? m[1].split("").map((x) => x + x).join("") : m[1];
20830
+ return [0, 2, 4].map((i) => parseInt(h.slice(i, i + 2), 16));
20831
+ };
20832
+ var vivid = (c) => {
20833
+ const v = rgbOf(c);
20834
+ return !!v && Math.max(...v) - Math.min(...v) >= 40;
20835
+ };
20836
+ var luminance = (c) => {
20837
+ const v = rgbOf(c);
20838
+ if (!v) return null;
20839
+ const [r, g, b2] = v.map((x) => x / 255 <= 0.03928 ? x / 255 / 12.92 : ((x / 255 + 0.055) / 1.055) ** 2.4);
20840
+ return 0.2126 * r + 0.7152 * g + 0.0722 * b2;
20841
+ };
20842
+ var contrast = (a, b2) => {
20843
+ const la = luminance(a), lb = luminance(b2);
20844
+ return la == null || lb == null ? 21 : (Math.max(la, lb) + 0.05) / (Math.min(la, lb) + 0.05);
20845
+ };
20846
+ var EDGE_FILLED = /* @__PURE__ */ new Set(["Advanced Movement"]);
20847
+ var GOOGLE_FAMILIES = new Set(googleFontCatalog_default.split("\n").map((l) => l.split("|")[0].trim().toLowerCase()).filter(Boolean));
18873
20848
  var KF_IN = new Map(kfpVariants(KEYFRAME_PRESETS, "in").map((p) => [p.id, p]));
18874
20849
  var KF_OUT = new Map(kfpVariants(KEYFRAME_PRESETS, "out").map((p) => [p.id, p]));
18875
20850
  var ROLES = { headline: [0.11, 800], subhead: [0.05, 500], body: [0.036, 400], label: [0.028, 600] };
@@ -18914,7 +20889,10 @@ function compileScript(script, caps, files = /* @__PURE__ */ new Map()) {
18914
20889
  const style = S.style || {};
18915
20890
  const colors = { text: "#f4f4f2", accent: "#33EFAB", muted: "#9aa3a0", ...style.colors || {} };
18916
20891
  const font = typeof style.font === "string" && style.font.trim() ? `${style.font}, ${FONT}` : FONT;
18917
- if (style.font) warnings.push(`font "${style.font}" shows only where it is installed (the viewer's computer); the system font stands in elsewhere`);
20892
+ if (style.font) {
20893
+ const family2 = String(style.font).split(",")[0].trim().replace(/^['"]|['"]$/g, "");
20894
+ warnings.push(GOOGLE_FAMILIES.has(family2.toLowerCase()) ? `font "${family2}": a Google Fonts family, so the page loads it from fonts.googleapis.com while it is online. For a video that needs nothing online, put its file in assets/ named "${family2}.ttf" (or .otf / .woff / .woff2): a font file there is used under its file name` : `font "${family2}" is not a Google Fonts family: put its file in assets/ named "${family2}.ttf" (or .otf / .woff / .woff2), a font file there is used under its file name; without it the system font stands in`);
20895
+ }
18918
20896
  const paint = (c, fallback) => c && colors[c] ? colors[c] : typeof c === "string" && c.trim() ? c : fallback;
18919
20897
  const effectsById = new Map([...(caps?.effects?.overlay || []).map((e2) => [e2.id, "overlay"]), ...(caps?.effects?.layer || []).map((e2) => [e2.id, "layer"])]);
18920
20898
  const sounds = new Set(Object.keys(caps?.sounds?.library || {}));
@@ -19262,7 +21240,9 @@ function compileScript(script, caps, files = /* @__PURE__ */ new Map()) {
19262
21240
  const role = ROLES[el?.role] ? el.role : ei === 0 ? "headline" : "subhead";
19263
21241
  const size = clamp5(num7(el?.size, Math.round(ROLES[role][0] * Math.min(W, H) * (W > H ? 1 : 1.25))), 8, 600);
19264
21242
  const weight = clamp5(num7(el?.weight, ROLES[role][1]), 100, 900);
19265
- const width = clamp5(num7(el?.width, Math.min(W * 0.86, Math.max(...t.split("\n").map((l) => l.length)) * size * 0.62 + size)), 40, W);
21243
+ const room = Math.max(size * 2, W - 2 * (Math.abs(x) + W * 0.05));
21244
+ const width = clamp5(el?.width != null ? num7(el.width, room) : Math.min(W * 0.86, room, Math.max(...t.split("\n").map((l) => l.length)) * size * 0.62 + size), 40, W);
21245
+ if (el?.width != null && Math.abs(x) + width / 2 > W / 2 + 1) warnings.push(`${ew}: its text box (${Math.round(width)} px wide, centred on x ${x}) runs past the frame's edge \u2014 a text box is centred on its "at"; with "align": "left" keep at.x \u2212 width / 2 inside the frame`);
19266
21246
  const color = paint(el?.color || (role === "headline" ? "text" : role === "label" ? "accent" : "muted"), colors.text);
19267
21247
  item = add("text", id, start, end, {
19268
21248
  textContent: t,
@@ -19287,12 +21267,33 @@ function compileScript(script, caps, files = /* @__PURE__ */ new Map()) {
19287
21267
  else {
19288
21268
  const patch = presetPatch(item, p, { clipSec: end - start, fontPx: size, mode: "replace" });
19289
21269
  item.textAnimators = el?.textExit ? patch.textAnimators : patch.textAnimators.filter((a) => !(a.range?.drive === "time" && a.range?.animate === "out"));
21270
+ const boxed = [];
19290
21271
  item.textAnimators.forEach((a, ai) => (a.effects || []).forEach((fx, fi) => {
19291
- if (fx.type === "fill" && typeof fx.color === "string") {
21272
+ const at2 = `textAnimators.${ai}.effects.${fi}`;
21273
+ if (Array.isArray(fx.colors)) {
21274
+ fx.colors.forEach((c, ci) => {
21275
+ if (vivid(c)) {
21276
+ fx.colors[ci] = colors.accent;
21277
+ accentTargets.push({ itemId: id, path: `${at2}.colors.${ci}` });
21278
+ }
21279
+ });
21280
+ } else if (typeof fx.color === "string" && vivid(fx.color)) {
19292
21281
  fx.color = colors.accent;
19293
- accentTargets.push({ itemId: id, path: `textAnimators.${ai}.effects.${fi}.color` });
21282
+ accentTargets.push({ itemId: id, path: `${at2}.color` });
21283
+ if (fx.type === "box" && !boxed.includes(a)) boxed.push(a);
19294
21284
  }
19295
21285
  }));
21286
+ if (boxed.length) {
21287
+ const ink = contrast("#0b0d0c", colors.accent) >= contrast("#ffffff", colors.accent) ? "#0b0d0c" : "#ffffff";
21288
+ const fills = item.textAnimators.flatMap((a) => (a.effects || []).filter((fx) => fx.type === "fill"));
21289
+ if (fills.length) fills.forEach((fx) => {
21290
+ if (contrast(fx.color, colors.accent) < 4.5) fx.color = ink;
21291
+ });
21292
+ else if (contrast(color, colors.accent) < 4.5) {
21293
+ let pidN = Math.max(0, ...item.textAnimators.flatMap((a) => (a.effects || []).map((fx) => Number(String(fx.pid).replace(/^\D+/, "")) || 0)));
21294
+ for (const a of boxed) a.effects = [...a.effects || [], { pid: `p${++pidN}`, type: "fill", color: ink }];
21295
+ }
21296
+ }
19296
21297
  item.propertyKeyframes = { ...item.propertyKeyframes || {}, ...patch.propertyKeyframes };
19297
21298
  if (patch.textAnimatorPivotX != null) {
19298
21299
  item.textAnimatorPivotX = patch.textAnimatorPivotX;
@@ -19319,6 +21320,31 @@ function compileScript(script, caps, files = /* @__PURE__ */ new Map()) {
19319
21320
  ...pos
19320
21321
  });
19321
21322
  if (!el?.color || el.color === "accent") accentTargets.push({ itemId: id, path: "shapeFillColor" });
21323
+ } else if (type === "ring") {
21324
+ const d = clamp5(num7(el?.w, 200), 8, W * 4);
21325
+ const sweep = clamp5(num7(el?.sweep, 360), 1, 360);
21326
+ const q = 0.2761;
21327
+ const pts = [[0, -0.5, -q, 0, q, 0], [0.5, 0, 0, -q, 0, q], [0, 0.5, q, 0, -q, 0], [-0.5, 0, 0, q, 0, -q], [0, -0.5, -q, 0, 0, 0]].map(([px, py, ix, iy, ox, oy], i) => ({ x: px, y: py, hIn: i ? { x: ix, y: iy } : { x: 0, y: 0 }, hOut: { x: ox, y: oy }, manual: true }));
21328
+ const full = r3(sweep / 360 * 100);
21329
+ item = add("shape", id, start, end, {
21330
+ shapeType: "line",
21331
+ shapeSizeUnit: "px",
21332
+ shapeWidthPx: d,
21333
+ shapeHeightPx: d,
21334
+ shapeFillColor: paint(el?.color || "accent", colors.accent),
21335
+ shapePath: { points: pts, closed: false },
21336
+ lineWidth: num7(el?.width, 8),
21337
+ lineCap: "round",
21338
+ ...full < 100 ? { lineTrimEnd: full } : {},
21339
+ ...el?.ghost ? { lineGhost: clamp5(num7(el.ghost, 20), 0, 100) } : {},
21340
+ ...pos
21341
+ });
21342
+ const kf = {};
21343
+ const drawn = el?.draw !== false ? r3(Math.min(100, 0.9 / (end - start) * 100)) : 0;
21344
+ if (drawn) kf.lineTrimEnd = [{ position: 0, value: "0", easing: "AE Out" }, { position: drawn, value: String(full), easing: "Linear" }];
21345
+ if (el?.drain) kf.lineTrimStart = [{ position: drawn, value: "0", easing: "Linear" }, { position: 100, value: String(full), easing: "Linear" }];
21346
+ if (Object.keys(kf).length) item.propertyKeyframes = kf;
21347
+ if (!el?.color || el.color === "accent") accentTargets.push({ itemId: id, path: "shapeFillColor" });
19322
21348
  } else if (type === "line") {
19323
21349
  const [x2, y2] = Array.isArray(el?.to) ? [num7(el.to[0], 0), num7(el.to[1], 0)] : [x + 300, y];
19324
21350
  const cx = (x + x2) / 2;
@@ -19344,7 +21370,7 @@ function compileScript(script, caps, files = /* @__PURE__ */ new Map()) {
19344
21370
  item = media(el, ew, id, start, end, pos);
19345
21371
  if (!item) return;
19346
21372
  } else {
19347
- problems.push(`${ew}: type must be text, rect, pill, circle, line, image or video`);
21373
+ problems.push(`${ew}: type must be text, rect, pill, circle, ring, line, image or video`);
19348
21374
  return;
19349
21375
  }
19350
21376
  if (el?.opacity != null) item.opacity = r3(clamp5(num7(el.opacity, 1), 0, 1) * 100);
@@ -19417,6 +21443,30 @@ function compileScript(script, caps, files = /* @__PURE__ */ new Map()) {
19417
21443
  else if (tr !== "None") {
19418
21444
  const prev = num7(scenes[si - 1]?.duration, 3);
19419
21445
  sceneItem.transition = tr;
21446
+ const tc = Object.values(caps?.transitions?.cross || {}).flat().find((t) => t?.value === tr) || null;
21447
+ const opts = EDGE_FILLED.has(tr) ? { edgeMode: "none" } : {};
21448
+ const own = [];
21449
+ for (const f2 of tc?.optionFields || []) {
21450
+ if (f2.type === "color" && vivid(tc.optionDefaults?.[f2.key])) {
21451
+ opts[f2.key] = colors.accent;
21452
+ own.push(f2.key);
21453
+ }
21454
+ }
21455
+ const set = sc?.transitionOptions;
21456
+ if (set != null && (typeof set !== "object" || Array.isArray(set))) problems.push(`${where}: transitionOptions must be an object of the transition's options`);
21457
+ else if (set) {
21458
+ const known = new Set((tc?.optionFields || []).map((f2) => f2.key).filter(Boolean));
21459
+ for (const [k, v] of Object.entries(set)) {
21460
+ if (tc && !known.has(k)) {
21461
+ warnings.push(`${where}: "${tr}" has no option "${k}"${near(k, [...known])} \u2014 it is ignored`);
21462
+ continue;
21463
+ }
21464
+ opts[k] = v;
21465
+ if (own.includes(k)) own.splice(own.indexOf(k), 1);
21466
+ }
21467
+ }
21468
+ for (const k of own) accentTargets.push({ itemId: sceneId, path: `transitionOptions.${k}` });
21469
+ if (Object.keys(opts).length) sceneItem.transitionOptions = opts;
19420
21470
  sceneItem.transitionDuration = r3(clamp5(num7(sc?.transitionDuration, 0.6), 0.2, Math.min(prev, D) / 2));
19421
21471
  total -= sceneItem.transitionDuration;
19422
21472
  if ((S.sound ?? "auto") === "auto") project.sounds.push({ sfx: soundOk("soft-swoosh", where) ? "soft-swoosh" : "standard-swoosh", on: project.channels[0].items.at(-1).id, at: "end" });
@@ -19495,6 +21545,19 @@ var refOf = (host, topic) => host === "chat" ? `get_motion_reference "${topic}"`
19495
21545
  function scriptFormatGuide(host = "chat") {
19496
21546
  return `## The scene script
19497
21547
 
21548
+ **Before the script, a direction.** Presets make a video move; they don't give it an idea. Decide in a few lines first,
21549
+ and keep them next to the script:
21550
+ - **The idea**: ONE picture from the subject's own world (its object, place or action: a coffee shop's steam and cup rim,
21551
+ a budgeting app's receipt printing line by line, a running app's track the scenes run along), carried through every scene.
21552
+ - **The palette**: background, text, one accent, plus only the colours that carry meaning (good / bad, before / after).
21553
+ Light or dark on purpose.
21554
+ - **The type**: a big headline against a small support line; aligned left or centred on purpose, not by default.
21555
+ - **Each scene**: what it SHOWS besides its words, built from shapes, lines, \`svg\` you write, keyframes and the camera.
21556
+ The same line centred on a gradient in every scene reads as a template. Judge the stills against the direction, not
21557
+ only for mistakes.${host === "cli" ? `
21558
+ What a script can't say (a custom GLSL shader on a shape or the background, words dipping under a surface with a track
21559
+ matte, masks, particles, 3D) goes on from \`project.json\`: SKILL.md, "Beyond the script".` : ""}
21560
+
19498
21561
  \`\`\`json
19499
21562
  {
19500
21563
  "title": "Bean There \u2014 opening day",
@@ -19521,11 +21584,17 @@ function scriptFormatGuide(host = "chat") {
19521
21584
  \`\`\`
19522
21585
 
19523
21586
  - **format** ${Object.keys(FORMATS).join(" \xB7 ")} (${Object.entries(FORMATS).map(([k, [w, h]]) => `${k} = ${w}\xD7${h}`).join(", ")}). Sizes and positions are in those pixels.
21587
+ - **style**: \`background\`, \`colors\` { text, accent, muted }, \`font\`: ${host === "chat" ? "a Google Fonts family (the page loads it from Google Fonts)" : "a Google Fonts family (the page loads it from Google Fonts while online) or any font whose file you put in assets/ named after it (`Manrope.ttf`, .otf, .woff, .woff2: used offline)"}.
19524
21588
  - **at**: \`center\` \`top\` \`bottom\` \`left\` \`right\` \`top-left\` \u2026 or \`[x, y]\` px from the centre (+y is down). Keep text inside the middle 80 %.
19525
21589
  - **text**: \`role\` headline | subhead | body | label sets size and weight (override with \`size\`, \`weight\`); \`color\` text | accent | muted | #hex |
19526
21590
  a CSS gradient; \`width\` (px, wraps), \`align\`, \`uppercase\`, \`letterSpacing\`, \`lineHeight\`. A headline gets \`glide-text\` unless you set \`textAnimation\`.
21591
+ The text box is CENTRED on \`at\`: without \`width\` it is as wide as its words but stays inside the frame (off-centre text wraps
21592
+ sooner); for a left-aligned column give \`width\` and \`"align": "left"\` and put \`at\` at the column's centre.
19527
21593
  - **rect \xB7 pill \xB7 circle**: \`w\`, \`h\`, \`color\` (or a CSS gradient), \`radius\`, \`border\` {width, color}, \`shadow\`: true. They enter with \`pop-overshoot\` unless you set \`enter\`.
19528
21594
  - **line**: from \`at\` to \`to\`, \`width\`, drawn on (\`draw\`: false to skip).
21595
+ - **ring**: a circle drawn as a stroke from the top, clockwise (a timer, a status or focus ring): \`w\` (diameter), \`width\` (stroke),
21596
+ \`color\`, \`sweep\` (degrees, 360 = full), drawn on (\`draw\`: false to skip), \`drain\`: true empties it again by the element's
21597
+ end (a countdown), \`ghost\` (0\u2013100: a faint full track under it).
19529
21598
  - **image \xB7 video**: \`src\` (${host === "chat" ? "a link or the user's file \u2014 below" : "a file in the folder's assets/ as `asset:<name>`, or an https link"}) or, for an image, \`svg\` (SVG markup you write); \`w\` or \`h\`
19530
21599
  (px; the other follows the file's shape) or \`fit\` cover | contain
19531
21600
  (default: a video covers the frame, a picture sits at 70 % of contain), \`rotate\` (deg). A video also takes
@@ -19537,8 +21606,15 @@ function scriptFormatGuide(host = "chat") {
19537
21606
  for directional ones), \`effects\`: [{ "id", "params"? }], \`sound\` (played at its start), \`id\`, \`label\` (its name in the page's options), \`opacity\` (0\u20131),
19538
21607
  \`z\` (px of depth, + toward the viewer, default 0: a real camera's dolly, orbit and depth of field separate layers by it), \`locked\`: true
19539
21608
  (the scene's camera doesn't move it: a logo, a caption). Keyframes also take a \`z\` track.
19540
- - **Scene**: \`duration\` (s), \`transition\` into it (default Cross Fade, 0.6 s; \`transitionDuration\`), \`camera\` (below; default push-in),
19541
- \`background\` (overrides style), \`sounds\`: [{ "sfx", "at" }]. Script-level \`sound\`: auto (default: a whoosh on each transition and on the first headline) | none.
21609
+ - **Scene**: \`duration\` (s), \`transition\` into it (default Cross Fade, 0.6 s; \`transitionDuration\`), \`transitionOptions\` (the
21610
+ transition's own settings, e.g. Circular Wipe's \`point\` { x, y } (% of the frame from its top-left: 50, 50 is the centre) and \`feather\`; ${host === "chat" ? 'every option: get_motion_reference "video-transitions"' : "every option: `npx greenlight-motion schema transitions`"}.
21611
+ A transition's vivid colours, such as Circular Wipe's beam, take the accent unless you set them), \`camera\` (below; default push-in),
21612
+ \`background\` (overrides style), \`sounds\`: [{ "sfx", "at" }]. Script-level \`sound\`: auto (default: a whoosh on each transition and
21613
+ on the first headline, from the GreenLight sound library${host === "chat" ? "" : ", which the CLI downloads into assets/sounds/ when it builds"}) | none (nothing from the library: when
21614
+ nothing may be downloaded, use \`music\` with a file you made).
21615
+ **A transition overlaps the scenes on both sides**, so the video lasts the scenes' durations added up MINUS every
21616
+ transition: five 3 s scenes with the default 0.6 s transitions run 15 \u2212 4 \xD7 0.6 = 12.6 s. To hit a length, add the
21617
+ transitions back to the scenes (${host === "chat" ? "build_video" : "`script`"} prints the total).
19542
21618
  - **camera** \u2014 a quick move of the whole scene: ${CAMERAS.join(" | ")}. Or a REAL camera that films the scene's elements in 3D (the
19543
21619
  Video Editor's own camera layer; the scene's backdrop stays put, so its edge never shows). One of:
19544
21620
  - \`{ "move": id }\` \u2014 a camera move from the catalogue (or just \`"camera": "cm-quiet-push"\`), spread over the scene;
@@ -19556,7 +21632,8 @@ function scriptFormatGuide(host = "chat") {
19556
21632
  the focus stays on its subject while the camera dollies or rides a rig. \`focusZ\` keys are a rack focus (measured from where the camera starts).
19557
21633
  - \`start\` / \`end\` (s in the scene; default the whole scene; outside them the camera rests). Keys and zooms count seconds into the camera.
19558
21634
  - **background**: a colour, a CSS gradient, { "shader": id, "look"? } \u2014 shaders: ${SHADERS.join(", ")} (looks: ${refOf(host, "video-backgrounds")}) \u2014 or { "image": src } / { "video": src } (covers the frame; b-roll behind the scene).
19559
- - **music** (script level): \`"music": { "src": file, "volume": 80, "fadeIn": 0.3, "fadeOut": 1.2, "startAt": 0 }\` \u2014 one track under the video.
21635
+ - **music** (script level): \`"music": { "src": file, "volume": 80, "fadeIn": 0.3, "fadeOut": 1.2, "startAt": 0 }\` \u2014 one track under the video.${host === "chat" ? "" : `
21636
+ The file must exist when you run \`script\` (it reads its length): write a sound you make in code before the first run.`}
19560
21637
 
19561
21638
  `;
19562
21639
  }