Smilies nicht aus Bildern, sondern aus Unicode

Started by Raumschiff, May 07, 2020, 05:31:28 PM

Previous topic - Next topic

Raumschiff

Hallo liebe SMF-Gemeinde,

ich benutze die SMF-Version 2.0.17.

Ziel: Die einfache Erstellung eines Smiley-Sets.
Ohne PNGs.
Nur per Unicode.

Ich habe mir gedacht, da ja die Smileys sozusagen alle als Unicode vorhanden sind, und auch jeder gängige Browser diese darstellt, wozu braucht man noch PNGs?

Im Idealfall ein Button anklicken, daraufhin geht ein Popup auf, und man kann zwischen Hunderten Smileys auswählen.
Diese markiert man, und SMF-intern wird eine 'Smiley-Tabelle' erstellt, in der einfach nur steht: "&#12345" z.B.
Mehr nicht.

Wenn ich jetzt einen Beitrag schreiben will, schaut SMF einfach in die 'Smiley-Tabelle', und stellt die Unicode-Bezeichnung sowohl oben beim Smiley-Auswähl-Menü dar, als auch,
wenn man einen Smiley anklickt, trägt SMF einfach den gleichen Code in den gerade geschrieben werdenden Beitrag.

Man braucht sich weder irgendwelche 'Codes' ausdenken,
noch irgendwelche Smiley-Bilder,
noch braucht man diese in SMF einbinden.

Man könnte sogar den Ordner 'Smileys' sparen?? Ich hoffe, ich lehne mich nicht zu sehr aus dem Fenster!  ;) Ist nur eine Idee.
Wenn man keine Smileys mehr reinladen braucht, wird Simple Machines noch mehr 'Simple'.

(Und selbst wenn man den 'Zeichensatz' ändert, und einen bestimmten Smiley-Unicode beim Beitrag verfassen den Usern nicht mehr anbietet, würde der 'Smiley' trotzdem, da Unicode, bis in alle Ewigkeit angezeigt werden.)
Ich sehe nur Vorteile.

So. Das waren meine Gedanken.

Meine Frage lautet:
Ist das überhaupt möglich,
und wo finde ich die Smiley-Tabelle? Ich würde da gerne händisch bei 'png' den Unicode eintragen, und bei 'Code' ebenfalls, und damit rumspielen, bis das klappt.

Ich hoffe, da ich Anfänger in SMF bin, ist das keine zu blöde Frage.

Und ich würde auch gerne ein bischen in der Dateistruktur von SMF durchblicken. Gibt's da irgend ne Art von 'Überblick', 'Grundrissplan'-mäßiges?

Liebe Grüße,  :)

'Raumschiff'.

m4z

Quote from: Raumschiff on May 07, 2020, 05:31:28 PM
Hallo liebe SMF-Gemeinde,

ich benutze die SMF-Version 2.0.17.

Ziel: Die einfache Erstellung eines Smiley-Sets.
Ohne PNGs.
Nur per Unicode.

Ich habe mir gedacht, da ja die Smileys sozusagen alle als Unicode vorhanden sind, und auch jeder gängige Browser diese darstellt, wozu braucht man noch PNGs?

Ganz so einfach ist das leider nicht... Es ist z.B. vom Betriebssystem und Zeichensatz abhängig, welche Teile der Unicode-Smileys unterstützt werden. (In der Browser-Spalte siehst du an leeren Rechtecken, welche dein Browser nicht unterstützt. Für meinen Firefox auf Linux sind das jede Menge, z.B. fehlen 7, 9, 14, 16, 22, 26, 28-34, ...)
Dann unterstützen Datenbanken wie z.B. MySQL verschiedene Unicode-Zeichensätze, und je nachdem, welchen du verwendest, kannst du bestimmte Zeichen speichern oder nicht. Und die Art und Weise wie SMF die Smiley-Sets verwaltet, schränkt dich noch wesentlich stärker ein (bspw. musst du für jeden Smiley einen Dateipfad und eine Text-Repräsentation angeben; außerdem müssen alle installierten Smiley-Sets exakt dieselben Smileys unterstützen).
Will sagen: Du wirst vermutlich nicht drumrum kommen, ein nichttriviales Mod zu schreiben. Das haben auch schon andere getan (das verlinkte Mod nutzt weiterhin Bilder).


Quote from: Raumschiff on May 07, 2020, 05:31:28 PM
(Und selbst wenn man den 'Zeichensatz' ändert, und einen bestimmten Smiley-Unicode beim Beitrag verfassen den Usern nicht mehr anbietet, würde der 'Smiley' trotzdem, da Unicode, bis in alle Ewigkeit angezeigt werden.)

Mit den o.g. Einschränkunge würde das funktionieren, und es wäre ein Gewinn. Mit dem existierenden SMFs Smiley-Set-System kann es nicht funktionieren: Sobald du eine Text-zu-Bild-Zuordnung entfernst, siehst du nur den Text, wie zB. ;) statt des Smileys.


Quote from: Raumschiff on May 07, 2020, 05:31:28 PM
Meine Frage lautet:
Ist das überhaupt möglich,

Wie gesagt, nur wenn du SMF moddest.


Quote from: Raumschiff on May 07, 2020, 05:31:28 PM
und wo finde ich die Smiley-Tabelle? Ich würde da gerne händisch bei 'png' den Unicode eintragen, und bei 'Code' ebenfalls, und damit rumspielen, bis das klappt.

Nicht dass ich wüsste. Wenn du dich ein bisschen mit SQL auskennst, findest du die Puzzleteile aber schnell:
1.) In *_smileys (der Prefix ist bei deinem Forum ggf. anders) sind die Eigenschaften der Smileys (hier die ersten fünf):

select * from smf_smileys limit 5;
id_smiley | code |  filename  | description | smiley_row | smiley_order | hidden
-----------+------+------------+-------------+------------+--------------+--------
         1 | :)   | smiley.gif | Smiley      |          0 |            0 |      0
         2 | ;)   | wink.gif   | Wink        |          0 |            1 |      0
         3 | :D   | cheesy.gif | Cheesy      |          0 |            2 |      0
         4 | ;D   | grin.gif   | Grin        |          0 |            3 |      0
         5 | >:(  | angry.gif  | Angry       |          0 |            4 |      0
(5 rows)

2.) Weitere Dinge verstecken sich in den Einstellungen:

select * from smf_settings where variable like '%smiley%';                                                                                                               
        variable        |                      value                     
------------------------+-------------------------------------------------
smiley_sets_names      | Alienine's Set                                 +
                        | Aaron's Set                                    +
                        | Akyhne's Set
smiley_sets_known      | default,aaron,akyhne
smiley_sets_default    | default
dont_repeat_smileys_20 | 1
smileys_url            | https://[...]/Smileys
smileys_dir            | /home/[...]/public_html/Smileys
(6 rows)



Quote from: Raumschiff on May 07, 2020, 05:31:28 PM
Und ich würde auch gerne ein bischen in der Dateistruktur von SMF durchblicken. Gibt's da irgend ne Art von 'Überblick', 'Grundrissplan'-mäßiges?

https://wiki.simplemachines.org/smf/Coding_Guidelines#Model_View_Controller_.28MVC.29
"Faith is what you have in things that don't exist."
--Homer Simpson

Es gibt hier im Forum ein deutsches Support-Board!

Raumschiff

Vielen lieben Dank für die Informationen.

Ich werd sie alle Stück für Stück verarbeiten, mal sehen, wie weit ich komme.  :)

Ein Smileyset habe ich jetzt doch installiert.

Ich hoffe, es ist richtig, dass ich, da ich jetzt kein 'Problem' mehr mit Smilies habe, diesen Thread als 'gelöst' markiere, auch wenn ein Mod noch in weiter Ferne ist, wenn er jemals kommt.

Advertisement: