Kamalaskuri: näin paljon maksat TO-mafialle

Kir­joi­tin web-so­vel­luk­sen, jol­la voi las­kea Suo­mes­ta os­ta­mien­sa tal­len­nus­vä­li­nei­den ja -tar­vik­kei­den ka­set­ti­mak­sun osuu­den.
Kuva: Openclipart

Blogissani olen aiemminkin käsitellyt yksityisen kopioinnin hyvitysmaksun, kavereiden kesken kasettimaksun, järjettömyydestä. Esimerkiksi helmikuisessa Tämän takia tyhjät levyt maksavat niin h-sti -kirjoituksessani laskin, että ostaessani Suomesta 100 tyhjää DVD:tä, on hinnasta lähes kaksi kolmasosaa tätä Teostolle tilitettävää haittamaksua.

Kasettimaksu ei kuitenkaan rajoitu vain tyhjiin CD-, DVD- ja BluRay-levyihin, vaan se maksetaan myös lähes jokaisessa Suomesta ostetussa ulkoisessa kiintolevyssä, tallentavassa digiboksissa, MP3-soittimessa, erilaissa kaseteissa ja muutamissa muissa tallennusvälineissä. Määrä vaihtelee välineen tai laitteen tyypin ja kapasiteetin mukaan.

Jotta olisi helpompaa ymmärtää, kuinka paljon oikestaan tätä TO-mafiamaksua kerätään eri tuotteista, koodasin HTML5- ja JavaScript-pohjaisen web-sovelluksen, joka määrän näppärästi laskee. Nimesin sovelluksen Kasettimaksulaskuriksi, eli Kamalaskuriksi. Sovellus toimii kaikilla JavaScriptiä ja HTML5:tä tukevilla selaimilla.

Palveluun voi syöttää haluamansa määrän erilaisia tallennusvälineitä, ja se laskee niiden hinnassa olevan yksityisen kopioinnin hyvitysmaksun suuruuden. Esimerkiksi Verkkokauppa.comin tyhjien levyjen hinnoissa kasettimaksun osuus on huomattava:

Verk­ko­kaup­pa.comin tar­jon­nas­ta koo­tun esi­merk­ki­pa­ke­tin hin­nas­ta yli puo­let on yk­si­tyi­sen ko­pi­oin­nin hy­vi­tys­mak­sua.

Kuva: Riku Eskelinen/ PD

Vastaavanlaisen paketin saisi tilattua Nierlen verkkokaupasta 44 eurolla. Huvin vuoksi kuvitelkaamme, että Nierle olisi suomalainen verkkokauppa:

Jos Nierle oli­si suo­ma­lai­nen verk­ko­kaup­pa, sen pi­täi­si myy­dä le­vy­jä mel­koi­sel­la tap­piol­la tar­jo­tak­seen ny­kyi­sen hin­ta­ta­son­sa.
Kuva: Riku Eskelinen/ PD
* * *
En kuitenkaan tällä kertaa lähde paasaamaan sen enempää siitä, miten järjetöntä osuutta tekijänoikeusmafia tallennusvälineiden hinnasta vaatii. Suosittelen kuitenkin edelleen, että yksityisen kopioinnin hyvitysmaksun piirissä olevat tuotteet hankitaan muualta jo ihan periaatteen takia.
Tulevaisuudessa kasettimaksua on tarkoitus laajentaa koskemaan entistä laajempaa laite- ja välinekirjoa, ja odotettavissa on, että tilanne käy kuluttajan kannalta entistä sietämättömämmäksi1. Pyrin päivittämään laskuria sitten, kun uudet hinnat ja laiteluokat tulevat voimaan, seuraavan kerran oletettavasti vuoden 2013 alussa.

1) Taipuuko tämä sana näin?

Eri fontteja Facebookkiin: onnistuu (tavallaan)

Luo­vuut­ta ja Uni­coden laa­jaa merk­ki­kir­joa hy­väk­si käyt­täen on mah­dol­lis­ta saa­da teks­tiin­sä ko­ros­tus­ta – vaik­kei tyy­le­jä oli­si­kaan käy­tet­tä­vis­sä.
Kuva: Kuva­kaap­paus artik­kelin web-so­vel­luk­sesta

Kirjoittaessani vaikkapa Twitteriin tai Facebookiin haluaisin välillä korostaa jotakin osaa tekstistäni, mutta *lihavointi* ja _alleviivaus_ tuntuvat rujoilta. Kun julkaisupaikka ei tue tekstin muotoilua, en voi kuitenkaan oikeasti lihavoida kirjoittamaani. Vai voisinko sittenkin?

Eräänlainen ratkaisu löytyy Unicode-merkkiavaruudesta, jota voi kokonaisuudessaan käyttää lähes missä tahansa. Sen Mathematical Alphanumeric Symbols -lohko (u1D400 … u1D7FF) sisältää matemaattiseen käyttöön tarkoitettuja kirjainmuotoja: niin lihavoituja, kursivoituja, päätteellisiä, päätteettömiä kuin fraktuurejakin.

Lohko on tarkoitettu nimenomaan matemaattiseen käyttöön, ja Unicode-standardi painottaakin olemaan käyttämättä merkkejä tavallisessa tekstissä:

To be used for mathematical variables where style variations are important semantically. For general text, use standard Latin and Greek letters with markup.

Mikään laki ei kuitenkaan käske edellä olevaa ohjetta noudattamaan, joten halutessaan merkkejä voi käyttää myös luovasti hyväkseen. Haluttujen merkkien valinta yksitellen merkkikarttaohjelmasta on kuitenkin varsin työlästä.

Ratkaisin ongelman JavaScriptillä, ja tein sillä pienen web-sovelluksen, joka muuttaa syötetyt kirjaimet vastaamaan haluttua symbolia. Käyttöliittymä on karu, mutta toimiva: valitaan haluttu tyyli, kirjoitetaan, ja sovellus pulauttaa halutun merkin pihalle.

Aivan yksinkertaista sovelluksen kirjoittaminen ei kuitenkaan ollut. Ensimmäinen ongelma oli se, että JavaScriptissä muiden kuin BMP-alueen (u0000 … uFFFF) merkkien tuottaminen vaatii UTF-16 -surrogaattiparien käyttämistä. Käytännössä siis esimerkiksi merkkiä ”𝐀” (u1D400) ei saada ulos String.fromCharCode(0x1D400) -komennolla. Sen sijaan merkille pitää määrittää sen surrogaattipari, tässä tapauksessa uD835 ja uDC00. Nuo koodit taas kelpaavat fromCharCode:lle, ja peräkkäin niistä tulee tuo 𝐀-merkki.

Suomea kirjoitettaessa vaikeutta lisäsi myös se, että nuo matemaattiset symbolit sisältävät vain kirjaimet A:sta Z:aan. Ääkkösten poisjättäminen ei kuitenkaan ole vaihtoehto. Tuohonkin ongelmaan on toki ratkaisu, sillä tarkemerkit löytyvät Unicode-lohkosta Combining Diacritical Marks (u0300 … u0322). Tarkkeet eivät varsinaisesti ”tartu” noihin vain kirjaimen näköisiin erikoismerkkeihin, mutta näkyvät kuitenkin siedettävästi kunkin kirjaimen päällä, kun ne ”kirjoitetaan” halutun merkin perään. Esimerkiksi Ä:hän ja Ö:hön tarvittavat pisteet ( ̈) löytyvät merkistä u0308.

Viimeisenä pulmana oli se, ettei kaikista koneista löydy tarvittavaa fonttitukea näyttämään noita ”kirjaimia”. Nopealla Facebook-kyselyllä vaikutti kuitenkin siltä, että valtaosalla merkit näkyivät kunnolla. Ongelmaa ei voi poistaa kenenkään muun puolesta, joten jos tekstiinsä haluaa välttämättä korostusta tehdä, pitää hyväksyä se, että jotkut eivät näe tekstiä lainkaan.

Optimaalinen tapahan tuollainen väkisinmuotoilu ei tietenkään ole muutenkaan, sillä esimerkiksi oikoluku ja hakukoneet ovat pois pelistä hämärien merkkien takia. Myöskään kaikki verkkopalvelut eivät tue kunnolla merkkejä, ja ne saattavat kadota tai korvautua jommallakummalla surrogaatillaan. Esimerkiksi tämän blogin alustan Bloggerin editori hävittää jälkimmäisen surrogaatin vaihdettaessa HTML-tilasta WYSIWYG:iin.

Mutta kyllä, jos välttämättä haluaa, on tekstiään yleensä mahdollista tehostaa käyttämällä Unicodea luovasti hyväkseen. Teknisesti puhdasta se ei ole, mutta työkaluni avulla se on ainakin suhteellisen helppoa.