The advent of web fonts popularised the use of icon fonts, i.e. fonts that consist solely of symbols and images rather than letters. Icon fonts such as Pictos, Font Awesome and Lucide have become well-known alternatives to image sprites, offering greater convenience and versatility. However, despite the abundant choice, pre-made sets don’t always meet the requirements of a specific website.
This article demonstrates how to create a custom icon font using FontForge. It describes the steps of importing an SVG image into a glyph in a web font. A tailor-made font lets you select icons that perfectly match your website’s needs.
Some SVG files require minor adjustments to work seamlessly in a web font. For example, if an element is used to create a ‘hole’ through another element (as seen in BBC, LinkedIn or Samsung logos), it should be ‘merged’ with the base to produce a single path element that incorporates the ‘hole’. Inkscape’s Union and Difference operations can help with that. It’s also prudent to inspect all paths for any anomalous nodes, self-intersecting contours or open paths.
For this tutorial, I’ve prepared the Bluesky logo devoid of such issues. The official SVG image has a minor oddity with its shape which may lead to a self intersecting path and rendering artefacts. I’ve fixed that problem in the provided file. You can grab the SVG file and carry on with the next step.
Now launch FontForge. If this is the first time starting the application, it’ll open with an empty font; otherwise, ‘File’ → ‘New’ (Ctrl+N) will create a new font. A few settings require changing before importing the image. Fig. 1 Main FontForge window. (Click on the image to open it on its own).
Firstly, we need to name the typeface. Go to ‘Element’ → ‘Font Info’ (Ctrl+Shift+F) dialogue. In ‘PS Names’ section set ‘Fontname’ to a name of your choosing, e.g. ‘MyIcons’.
Secondly, we need to set the font’s em size or units per em (UPM). By convention OpenType fonts use 1000 units while TrueType fonts use powers of two with 1024, 2048 and 4096 being the most common. All glyphs’ control points must be aligned to the grid so theoretically higher em size allows for more detailed shapes; in practice 1024 is sufficient. In the ‘General’ section of the ‘Font Info’ dialogue, set ‘Em Size’ to ‘1024’. You can now close the dialogue.
Lastly, we need to use Unicode encoding in the font since we’re going to define a character from the Supplementary Multilingual Plane (SMP). By default, FontForge uses ISO-8859-1 encoding. This can be changed via ‘Encoding’ → ‘Reencode’ → ‘ISO-10646-1 (Unicode Full)’.
Now, find the U+1F98B butterfly character in the main FontForge window (shown in Fig. 1).1 This can be done via ‘View’ → ‘Goto’ (Ctrl+Shift+>) which accepts the U+NNNN notation. Once found, double-click the box corresponding to the character to open the glyph editing window. In that window, import the prepared SVG icon with ‘File’ → ‘Import’ (Ctrl+Shift+I) dialogue. Make sure you change ‘Format’ to ‘SVG’, as shown in Fig. 2, or the import will fail. With the image imported, only a few minor adjustments are necessary.
It may be helpful to include the space character as well. With the glyph editing window still open, use ‘View’ → ‘Goto’ (dot) to jump to U+0020 and then via ‘Metrics’ → ‘Set Width…’ (Ctrl+Shift+L) set its size to 240.2
Now create the web font via ‘File’ → ‘Generate Fonts…’ (Ctrl+Shift+G). Use a Web Open Font Format (WOFF2) and create MyIcons.woff2 file. FontForge will run validation steps, but since we’ve addressed all the issues already, the font will generate without a glitch. For future editing, you can also save the font as MyIcons.sfd file (although FontForge is capable of opening the WOFF2 file).
Before the custom font can be used on a website, it has to be defined in a CSS file using the @font-face rule as shown below:
@font-face {
font-family: MyIcons;
font-style: normal;
font-weight: 400;
font-display: block;
/* File path is relative to the CSS file
or absolute to website’s root. */
src: url(/path/to/MyIcons.woff2) format('woff2');
}
.my-icons {
font-family: MyIcons;
}
Once done, it can be used like any other font, e.g. <span class=my-icons>🦋</span> markup will produce: 🦋.
Key considerations when using an icon font include accessibility and fallback behaviour when the font isn’t loaded. Even though 97% of browsers support web fonts, there are numerous reasons why web fonts might not be used, including user configuration forcing a specific font (e.g. OpenDyslexic) or the file not being downloaded to conserve bandwidth.
Depending on the character the image is mapped to, screen readers may say the name of the Unicode character, a cryptic ‘symbol codepoint’ message, nothing or something else completely as chosen by their developers. Because of this, the icon should be hidden from screen readers using an aria-hidden attribute, as in:
<span class=my-icons aria-hidden=true>🦋</span>
At the same time, if the icon carries information unavailable through other means, an additional label is necessary. In the case of buttons and links, an aria-label attribute can be used, as in:
<button aria-label=Bluesky>
<span class=my-icons aria-hidden=true>🦋</span>
</button>
However, the attribute is not always allowed. Another approach is to introduce an element hidden from visual browsers. There’s no ‘screen reader only’ attribute or CSS property,3 but a class giving that effect can be created as follows: <style> .sr-only { position: absolute; left: -10000px; width: 1px; height: 1px; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; } </style> <button> Share on <span class=my-icons aria-hidden=true>🦋</span> <span class=sr-only>Bluesky</span> </button>
The sr-only class can be applied to any element to render it invisible while remaining perceivable by screen readers. Combining it with aria-hidden allows pairing visual-only icons with screen-reader-only labels.
Alternatively, if the icon is added through a content property of a pseudo-element, an alternative content after a forward slash should be included. This syntax is supported by 95% of browsers and can be applied as follows:
<style>
.bluesky::before {
font-family: MyIcons;
/* To support old browsers: */
content: '🦋 ';
/* Screen readers will ‘see’ the text. */
content: '🦋 ' / 'Bluesky ';
}
</style>
<a href=//bsky.app/profile/mina86.com>
class=bluesky>@mina86.com</a>
Since we’ve defined a glyph for an existing Unicode character, if the font is not used, the browser will fall back to one of its system fonts. For example, compare: 🦋 🦋 Fig. 3 The butterfly character. First, reference SVG image. Second, the character rendered with our custom font (should look like the reference). Third, the character using browser’s default font.
An advantage of a custom font is that fallback behaviour can be tailored to best fit the website. While it’s not ideal to see a butterfly image instead of a Bluesky logo, ‘Share on 🦋’ is is undoubtedly a more graceful failure mode than ‘Share on ’ which might happen on websites using Font Awesome if the icon font is not loaded.
Unfortunately, Unicode does not have characters for arbitrary icons. Picking one as a fallback is not always possible. The next article will describe how ligatures can be used to address accessibility and fallback issues.
1 If you’re using your own icon, you’ll probably need to pick a different mapping for it. If there’s no other matching Unicode character, use a slot in the Private Use Area (PUA) which spans U+E000–U+F8FF. ↩
2 In some contexts, space character may be the simplest way to control spacing around the icon. For greater flexibility, other white-space characters can be added, including: CharacterWidthU+0020 space240approx. 1/4 emU+00A0 no-break space240same as spaceU+2002 en space5121/2 emU+2003 em space10241 emU+2004 three-per-em space3411/3 emU+2005 four-per-em space2561/4 emU+2006 six-per-em space1701/6 emU+2009 thin space205approx. 1/5 emU+200A hair space85approx. 1/12 emU+202F narrow no-break space1201/3–1/2 of space
Widths are provided at 1024 UPM based on recommendation from the Microsoft Typography documentation. Strictly speaking, web browsers will fall back to other fonts if necessary but that reduces control over the spacing and may cause needless loading of other web fonts. ↩
3 CSS 2.1 has a speak property which allows preventing element from being read, but no browser implements it correctly. As of now, CSS speech module cannot be relied on in web development. ↩
Óðinn jest pracownikiem socjalnym, dostaje do skontrolowania dom opieki, w którym przed 30 laty mogło dojść do nadużyć. Zabiera się do sprawy nieco niechętnie, bo zajmująca się wcześniej sprawą współpracowniczka, która nagle zmarła na serce, zostawiła niekompletną dokumentację. Do tego też pozmieniało mu się w życiu prywatnym - jego była żona uległa śmiertelnemu wypadkowi i nie dość, że z weekendowego ojca stał się ojcem na cały etat, to jeszcze próbuje uporać się 11-letniej córce z traumą po śmierci matki. Narracja z wydarzeń z feralnego domu opieki sprzed lat przeplata się ze współczesnością i - jak się łatwo domyślić - w pewnym momencie sprawa staje się osobista.
Całkiem zgrabna historia, ale chyba niepotrzebnie ubrana w sztafaż sugerujący zjawiska nadnaturalne, ze zjawami i proroczymi snami. Oczywiście, jak to u autorki, finał wali po nerkach, więc może niekoniecznie dla osób wrażliwych.
Inne tej autorki.
#34
Dawno, dawno temu przestałem używać EncFS. Przestałem z kilku powodów. Po pierwsze, pojawiło się ostrzeżenie o tym, że nie jest to rozwiązanie do końca bezpieczne. Niby nic i w moich zastosowaniach nie przeszkadzało[1], ale jakaś tam zadra w pamięci i niechęć zostały. Po drugie, zwykłe dyski zacząłem szyfrować „normalnie” przy pomocy LUKS. A backupy itp. przy pomocy GPG. Dziś …
Artykuł gocryptfs pochodzi z serwisu Pomiędzy bitami.
Odkąd mamy nowe rowery, stare zbierały kurz w rowerowni. No more!
Założyciele akcji Rowerowa Zrzutka właśnie zabrali naszą Barracudę i Bouldera, aby dać im nowe życie. Na pewno sprawią jeszcze komuś radość. Są w dobrym stanie, choć wiekowe; z jednego zdjęliśmy dzisiaj bilet kolejowy z 1998 roku (sentyment!).
041/100 of #100DaysToOffload
... albo manifest feministyczny w piętnastu wskazówkach
Jestem nieco rozczarowana, bo to esej, którego tytuł dokładnie odpowiada treści - Adichie wysyła list do swojej przyjaciółki, która właśnie została matką. W liście w punktach wskazuje, jak należy wychować feministkę w Nigerii, utrzymując oprócz feminizmu dumę z bycia częścią konkretnego plemienia. Pomijając kwestie typowo kulturowe, to dość uniwersalny przekaz na temat równości płci i wychowania dziecka w tym nurcie. Czemu wspomniałam o rozczarowaniu? To esej, do tego krótki, całość można przeczytać w niecałą godzinę. Szkoda, lubię długie powieści Adichie.
Inne tej autorki.
#33
Trudno mi inaczej określić nowy i mocno promowany produkt, jakim jest Macbook Neo A18 inaczej, niż tak, jak zrobiłem to w tytule. Z jednej strony 8 GB to jednak nie tak mało jak niektórzy sugerują. Mój chromebook ma 4 GB i śmiga. Tak, inny system. Ale przeglądarki itd. maja podobny apetyt na RAM. Z drugiej, porównując z …
Czytaj dalej „Chromebook od Apple”
Artykuł Chromebook od Apple pochodzi z serwisu Pomiędzy bitami.
Hercules Poirot dostaje list od znanego milionera, pana Renauld, który obawia się o swoje życie. Detektyw zabiera więc do Francji swojego przyjaciela, Hastingsa, ale przyjeżdżają za późno - Renauld nie żyje. Po drodze Hastings zaprzyjaźnia się z piękną młodą dziewczyną, której daje pseudonim “Kopciuszek”, chwilę później zachwyca się równie uroczą młodą sąsiadką Renauldów; strasznie kochliwy człowiek. Relacja z feralnej nocy z chilijskimi porywaczami, opowiedziana przez żonę denata, okazuje się być łudząco podobna do sprawy sprzed lat. Niezależnie, rozpoczyna się rywalizacja między Poirotem, zwolennikiem analizy psychologicznej, a lokalnym śledczym, który wierzy tylko w ślady. Na tej podstawie następuje aresztowanie syna Renaulda, ale Poirot interweniuje i prowokuje mordercę do ujawnienia się. A potem zostają skojarzone dwie pary.
Intryga jest strasznie skomplikowana, sprawy z przeszłości, szantaż, zmiana nazwisk, niespodziewane spotkania po latach, pomyłki co do osoby, zawiedziona miłość, a tak naprawdę chodziło o pieniądze. Dużo przewracałam oczami, głównie nad łatwowiernością Hastingsa, który we wszystko wierzy.
Inne tej autorki.
#32
Nie pamiętam już, jaką drogą trafiłam na tę książkę, w każdym razie byłam przekonana, że jej główną osią jest sposób porządkowania wspomnień metodą “pałacu pamięci” (u Judta jest to szwajcarski chalet). Tymczasem to książka o czymś zupełnie innym. Autor jest funkcjonalnie sparaliżowany z powodu postępującego ALS, ale głowę ma sprawną. Niespecjalnie jest w stanie spać, więc myśli, wspomina i dzięki luźno wspomnianej metodzie w głowie układa eseje. I to jest treścią właściwą - eseje o mydle i powidle: o istocie bycia Żydem, powojennych niedoborach w Wielkiej Brytanii, szkolnictwie, USA, polityce, kibucach, zimnej wojnie i różnicach w radzeniu sobie między Europą Zachodnią a Wschodnią, rewolucji seksualnej, miłości do pociągów, pracy i rodzinie. Nie znam książek autora, bo głównie pisał o historii, eseje w zależności od konkretnego są dość ciekawe albo składają się z pustego filozofowania. Znacznie bardziej przejmujący jest wstęp, gdzie autor zwierza się z trudności funkcjonowania z głęboko upośledzającą chorobą bez nadziei na wyzdrowienie. Bez tego kontekstu same eseje niekoniecznie.
#31
Boczna uliczka w Kioto, na którą zapuszczają się chyba tylko ci, którzy na pewno tego potrzebują. A do tej grupy należą klienci restauracji Kamogawa; jedna grupa przychodzi, żeby zjeść coś pysznego, druga, żeby odkryć zapomniany smak potraw z przeszłości. I zjeść to coś pysznego. Knajpkę prowadzi ojciec z córką, z ołtarzyka spogląda ze zdjęcia zmarła żona i matka. Oboje gotują, ale dodatkowo ojciec ma niesamowity zmysł śledczy i z garstki oderwanych od siebie, często niekonkretnych wspomnień potrafi odtworzyć smak i zapach sprzed lat, córka zaś umie zadać tak pytania, żeby pomóc wyciągnąć z pamięci dawno zapomniane szczegóły. Dla mnie to książka nie o jedzeniu jako takim, czemu - za chwilę, ale o nostalgii, powrocie do jakiegoś momentu świata, którego już nie ma. I o empatii oraz uważności na drugą osobę. Wiele recenzji skupia się na zachwytach jedzenie, ale mimo że opisy jedzenia zajmują prominentną część wszystkich historii, dla mnie to puste pojęcia: nie lubię szeroko pojętej kuchni dalekowschodniej, nie uruchamia mi się ośrodek głodu, kiedy czytam o sushi, dolewaniu herbaty do ryżu czy tempurze. Zdecydowanie nie jest to wina autora, ani tym bardziej tłumaczki (serdecznie pozdrawiam, ^Aniuklaro!), możecie mieć znacznie bardziej sensualne doznania z lektury.
#30
CMYK is a subtractive colour model commonly used in printing. Letters in the acronym stand for the four colours used in the model: Cyan, Magenta, Yellow and… uhm… blacK? The myth goes that using ‘B’ for black would be confusing (on account of blue and brown existing), so powers that be decided to use the last letter of the word ‘black’ in the acronym. This is not quite true.
In fact, K in CMYK stands for Key or Key Plate.
The concept goes back to the dawn of colour printing. George Baxter is regarded as the inventor of commercially viable colour printing technique. His method starts from pressing a key plate which defines outline and key details of the image. Once that’s printed, several more blocks proceed — one for each colour — each perfectly aligned (or registered) to the key plate.1
Similarly in other printing techniques, the key plate was the one with most detail which other plates were registered to. Since the human eye is more sensitive to changes in lightness than hue,2 the key plate is usually printed in black or otherwise dark colour.
There are a few reasons to include black as a separate ink in the printing process. Probably the most obvious is cost. It’s cheaper to use single ink rather than a mixture of three. Especially as black ink is cheaper than colour ones.3 Cost is hardly the only consideration though.
Inks are physical approximations of idealised primaries. Combining them doesn’t result in a perfect colour mixture.4 In practice, layering maximum densities of cyan, magenta and yellow results in a muddy, dark brown rather than a neutral black. It is possible to compensate with calibration, but resulting black would be lighter than one produced by dedicated black ink. That in turn reduces the dynamic range, and thus quality, of the print.5
Furthermore, the three colours would need to be precisely aligned. Any imperfection would lead to blurry image especially apparent with text. In fact, with halftone printing method, such flawless alignment is not possible at all. In that technique, the intensity of a colour is simulated by dots of varying sizes printed alongside parallel lines as illustrated in the figure below. To avoid Moiré patterns, for each colour those lines are oriented at different angles. As a result, dots of different colours never perfectly align. Illustration of halftone printing process. For each of the four colours — cyan, magenta, yellow and black — dots of varying sizes according to intensity of that colour are printed. With dots small enough, the pattern appears as a uniform colour to the human eye.
Another reason to use dedicated black is coverage. In print, Total Ink Coverage (or TIC) refers to the cumulative amount of ink applied to a given spot on the substrate (such as paper). For example, a mix of 40% cyan, 50% magenta and 30% yellow results in 120% coverage. Excessive coverage reduces print quality and can damage the substrate. While high-quality paper might handle 300% coverage, cheaper stocks may warp, tear or smudge. Using black ink reduces the TIC improving the reliability of the print.
1 Syd Exton, Yvonne Smith. 2024. George Baxter and his patented ‘Baxter Process’ prints. Virtual Museum of Printing, UK. Retrieved from https://www.vmop.org.uk/blog/baxter ↩
2 Brian A. Wandell. 1995. Foundations of Vision. Sinauer Associates, Sunderland, MA, USA. ISBN 0-87893-853-2. ↩
3 For example, at the time of writing, Litho supplies lists black at £22.14 while cyan, magenta and yellow at £24.94–25.53 per 2 kg can. ↩
4 One simplified way to conceptualise the CMYK colour space is that cyan, magenta and yellow are minus red, minus green and minus blue respectively. An ideal cyan ink absorbs red light and lets the rest through. Printed on white paper, the paper reflects the remaining wavelengths resulting in cyan hue. In this model, stacking cyan, magenta, and finally yellow would absorb blue, green, and finally red light resulting in black. However, in reality inks don’t conform exactly to this theoretical model. ↩
5 Christopher Brown. 2014. The Question of K: A Primer on Gray Component Replacement. SGIA Journal (September/December 2014). Printing United Alliance, Philadelphia, PA, USA. https://www.printing.org/docs/default-source/default-document-library/journal/brown.pdf ↩
17-letnia Naomi ulega wypadkowi, w wyniku czego traci pamięć - ostatnie cztery lata jej nastoletniego życia są dla mniej niedostępne, przy czym doskonale pamięta to, co wcześniej. Zaskakuje ją fakt, że jej rodzice się rozstali, że ma popularnego chłopaka Ace’a, że gra w tenisa, że redaguje księgę pamiątkową, nie pamięta nawet najbliższych przyjaciół, w tym ekscentrycznego Willa, współredaktora. Do tego zakochuje się w Jamesie, tym “dziwnym” chłopcu, który o jej wypadku zawiadomił szpital i przyjechał z nią karetką. A, jeszcze za semestr czekają ją egzaminy, do których absolutnie nie jest przygotowana.
To typowa literatura YA, więc zaskoczki fabularne są dość przewidywalne, największą tajemnicą jest, z którym z trzech chłopców Naomi ostatecznie zostanie. Bo czy wróci jej pamięć i przypomni sobie wszystko przed egzaminami, czy wybaczy obojgu rodzicom, czy odkryje siebie na nowo - to oczywiste. Nie jest to zła książka, ale w porównaniu z poprzednią to taki zwyklak.
Inne tej autorki.
#29
Zrobiliśmy coś nowego i zabawiliśmy się w orientację z użyciem roweru. Skorzystaliśmy z pierwszego otwartego treningu Projektu TOTEM.
Jak na pierwszy raz chyba nieźle. Odwiedziliśmy 11 z 20 punktów. Szukanie ostatniego przypłaciliśmy przekroczeniem czasu o ponad 8 minut (z dozwolonych 3 godzin). Ale nie byliśmy ostatni w klasyfikacji!
Straciliśmy czas na wymianę dętki, w środku lasu pośród latających w powietrzu jeszcze jesiennych liści. Sprawdziłem się, po szkoleniu i zakupie odpowiednich narzędzi, zmiana dętki zajęła mi w terenie pół godziny.
Wnioski na przyszłość. Nabędziemy jakiś mapnik rowerowy: jest to panel na kierownicę trzymający mapę. Łatwiej się jeździ kiedy do nawigacji nie trzeba się zatrzymywać i wyciągać mapy z torby.
Patrzenie na warstwice jest kluczowe. W nawigacji pieszej podejście pod stromą górę nie jest problemem. Z rowerem często szybciej jest objechać dookoła i dostać się do punktu po łagodniejszym przewyższeniu. A że TPK jest górzyste, a my mamy nawyki piesze, to na koniec byliśmy naprawdę wypruci.
Mimo przejechania tylko 22km i 420m przewyższeń, podprowadzanie naszych dość ciężkich elektryków dało w kość. Pierwszy raz widziałem, żeby opaska pokazała mi żywotność na poziomie 5%!
Żałuję, że po dojechaniu na metę od razu zwinęliśmy się do domu (to zmęczenie!). Warto chyba było zostać i porozmawiać z praktykami jak oni podeszli to tej trasy.
Szkoda też że imprezy typu Harpagan nie mają osobnej kategorii dla ebików i kategorycznie zabraniają startu ze wspomaganiem.
040/100 of #100DaysToOffload
Byłam na 100% pewna, że czytałam tę książkę w dzieciństwie, po czym okazało się, że jednak niekoniecznie. A szkoda, bo to fantastyczny zestaw nieco odjechanych historii, taki łagodniejszy Edgar Allan Poe dla dzieci, zwykle z pozytywnym zakończeniem, a jak są źli, to są niebrutalnie ukarani. Tytułowe opowiadanie to historia zamku, gdzie w jednym pokoju rośnie drzewo, będące zupełnie odrębnym światem i dzięki temu chłopiec może uratować zamek przed sprzedażą do Ameryki. Urocza jest historia ogłoszenia wymiany pokoi, która prowadzi do fizycznej zmiany jednego pokoju w drugi, również z widokiem za oknem. Mimo że rzecz się dzieje w czasach współczesnych autorki (lata 60-70), pojawiają się królowie, królewny, moralnie elastyczne wróżki, magiczne gołębice czy spełniający życzenia (uwaga na trzecie życzenie) czarownicy. Jednym z moich ulubionych jest historia pechowego baletu, podczas premiery którego balerina poślizgnęła się na skórce banana i rzuciła klątwę.
Oczywiście musiałam się dowiedzieć, że jest oddzielny tomik bajek o rodzinie Armitage, która pojawia się w historii o zamianie pokojów, na szczęście już do mnie idzie przez vinted.
#28
[26.02.2026-1.03.2026]
Lubię Liberec. Nie powiem jeszcze, że czuję się w nim jak w domu, ale to Moje Miasto. Wiem, gdzie co jest, chodzę bez mapy, dużo rzeczy widziałam, oczywiście mam jeszcze parę miejsc do przespacerowania, ale zostawiłam je sobie na lato. Nieustająco, zawsze udaje mi się znaleźć coś nowego, nawet jeśli to tablica Járy Cimrmana.
Tu z pewnością nigdy nie pracował Jára Cimrman Jacuzzi z widokiemTo były najbardziej leniwe ferie, bo - pomijając obowiązkowy dla mnie spacer na Jested[1] - robiłam nic. To znaczy spałam, jadłam, czytałam, pokręciłam się po mieście, zabrałam rodzinę na ciepły basen oraz do jacuzzi, bo odkryłam, że do apartamentu przynależy taras, a na tarasie czeka ciepła woda z bąbelkami. W lutym. Ciepłym lutym, ale jednak lutym. A, jeszcze drobne zakupy spożywcze - ta radość z wietnamskiego napoju o smaku mango o dźwięcznej nazwie K#RWA COLLECTION (tyle pytań), pomazanki i czekolada Studentska, czy odzieżowe - krótki rajd z nastolatką po libereckich second handach (czarne koszulki, a jak). A, i na cmentarz poszłam, bo czemu nie (głównie dlatego, że rozłożyła mnie nazwa ulicy - U Krematoria; tak wiem, u nas nikogo nie dziwi ulica Cmentarna).
Adresy:
[1] Klasycznie już wjechaliśmy na najwyższy parking, bo przecież. Ale tuż przy wjeździe na drogę dookoła góry minęliśmy starszego pana w kowbojskim kapeluszu, który dzielnie pocinał pod górę na nieelektrycznym rowerze. Weszliśmy z parkingu na górę, wypiliśmy kawę i herbatę, zjedliśmy pieczone jabłka w cieście, pokręciliśmy się po szczycie, a schodząc na parking minęliśmy wspomnianego pana, który solidnie spocony wjeżdżał właśnie na górę. Żeby minutę później zjechać z góry z rozwianym włosem. Podziwiam, nie rozumiem.