Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Schriftgröße in Abhängigkeit von Zeichenlänge

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Schriftgröße in Abhängigkeit von Zeichenlänge

Geplant Angeheftet Gesperrt Verschoben Visualisierung
5 Beiträge 3 Kommentatoren 331 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K Offline
    K Offline
    Kuddel
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    Ich lasse im Wohnzimmer auf meiner VIS die Infos vom Echo bzgl. Spotify / TuneIn anzeigen.

    Je nach dem wie lang die Info (Interpret und Titel ist) wird sie komplett oder abgeschnitten angezeigt.

    Kann man die Schriftgröße in Abhängigkeit der Zeichenanzahl setzen?

    OliverIOO Ro75R 2 Antworten Letzte Antwort
    0
    • K Kuddel

      Hallo zusammen,

      Ich lasse im Wohnzimmer auf meiner VIS die Infos vom Echo bzgl. Spotify / TuneIn anzeigen.

      Je nach dem wie lang die Info (Interpret und Titel ist) wird sie komplett oder abgeschnitten angezeigt.

      Kann man die Schriftgröße in Abhängigkeit der Zeichenanzahl setzen?

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von OliverIO
      #2

      @kuddel

      Theoretisch schon möglich
      https://stackoverflow.com/questions/18229230/dynamically-change-the-size-of-the-font-size-based-on-text-length

      Allerdings funktioniert das meiner Meinung nach nur wenn sich die Texte nur um wenige Zeichen jeweils von der Länge her unterscheidet. Ansonsten kommst du sehr schnell in den Unleserlichbereich, weil die Schrift einfach nur noch vier Pixel hoch ist oder so.

      Besser wäre es einen Scroll Effekt einzubauen, bei dem dann der über lange Text einfach durch rollt.

      Am einfachsten wäre das marquee Element. Das ist allerdings deprecated.
      Du kannst allerdings mal probieren, ob es dein Browser doch noch unterstützt.
      https://developer.mozilla.org/en-US/docs/Web/HTML/Element/marquee
      Der Tabelle nach, tun, dass die meisten Browser noch.

      Und dann bleibt dann noch die Lösung mit css Animation
      https://blog.hubspot.com/website/scrolling-text-css

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      1 Antwort Letzte Antwort
      0
      • K Kuddel

        Hallo zusammen,

        Ich lasse im Wohnzimmer auf meiner VIS die Infos vom Echo bzgl. Spotify / TuneIn anzeigen.

        Je nach dem wie lang die Info (Interpret und Titel ist) wird sie komplett oder abgeschnitten angezeigt.

        Kann man die Schriftgröße in Abhängigkeit der Zeichenanzahl setzen?

        Ro75R Offline
        Ro75R Offline
        Ro75
        schrieb am zuletzt editiert von
        #3

        @kuddel sagte in Schriftgröße in Abhängigkeit von Zeichenlänge:

        Kann man die Schriftgröße in Abhängigkeit der Zeichenanzahl setzen?

        mache es doch umgekehrt. Sage wie lang es maximal sein darf und daraufhin wird der Text in der Länge bestimmt. Das können mal mehr und mal weniger Zeichen sein (wegen der Breite der Zeichen - W und I)

        var pixelWidth = require('string-pixel-width');
        
        function TextNorm(sText, sFonts, vFontSize, bBold, bItalic, vPixel) {
            if(vPixel == 0) {
                return sText;
            } else {
                let nText;
                for (let i = 0; i < sText.length; i++) {
                    nText = sText.slice(0,i+1);
                    const width = pixelWidth(nText, { font: sFonts, size: vFontSize, bold: bBold, italic: bItalic });
                    if(width >= vPixel) {
                        break;
                    }
                }
                return nText;
            }
        }
        
        console.log('Das ist mein Beispieltext. Der kann ganz schön lang oder auch kurz sein.", 'Georgia', 12, false, false, 330));
        

        Füge string-pixel-width als zusätzliches NPM in den JS Adapter hinzu.

        Ro75.

        SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

        OliverIOO 1 Antwort Letzte Antwort
        0
        • Ro75R Ro75

          @kuddel sagte in Schriftgröße in Abhängigkeit von Zeichenlänge:

          Kann man die Schriftgröße in Abhängigkeit der Zeichenanzahl setzen?

          mache es doch umgekehrt. Sage wie lang es maximal sein darf und daraufhin wird der Text in der Länge bestimmt. Das können mal mehr und mal weniger Zeichen sein (wegen der Breite der Zeichen - W und I)

          var pixelWidth = require('string-pixel-width');
          
          function TextNorm(sText, sFonts, vFontSize, bBold, bItalic, vPixel) {
              if(vPixel == 0) {
                  return sText;
              } else {
                  let nText;
                  for (let i = 0; i < sText.length; i++) {
                      nText = sText.slice(0,i+1);
                      const width = pixelWidth(nText, { font: sFonts, size: vFontSize, bold: bBold, italic: bItalic });
                      if(width >= vPixel) {
                          break;
                      }
                  }
                  return nText;
              }
          }
          
          console.log('Das ist mein Beispieltext. Der kann ganz schön lang oder auch kurz sein.", 'Georgia', 12, false, false, 330));
          

          Füge string-pixel-width als zusätzliches NPM in den JS Adapter hinzu.

          Ro75.

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von OliverIO
          #4

          @ro75
          er hat wahrscheinlich nur begrenzt platz auf dem bildschirm

          und irgendwann ist immer schluss.
          das ist wohl der längste songtitel der welt

          A song from the Hives EP Oh Lord! When? How?
          The full name is "Some People Know All Too Well How Bad Liquorice, Or Any Candy For That Matter, Can Taste When Having Laid Out In The Sun Too Long - And I Think I Just Ate Too Much" from 1996

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          Ro75R 1 Antwort Letzte Antwort
          0
          • OliverIOO OliverIO

            @ro75
            er hat wahrscheinlich nur begrenzt platz auf dem bildschirm

            und irgendwann ist immer schluss.
            das ist wohl der längste songtitel der welt

            A song from the Hives EP Oh Lord! When? How?
            The full name is "Some People Know All Too Well How Bad Liquorice, Or Any Candy For That Matter, Can Taste When Having Laid Out In The Sun Too Long - And I Think I Just Ate Too Much" from 1996

            Ro75R Offline
            Ro75R Offline
            Ro75
            schrieb am zuletzt editiert von
            #5

            @oliverio ich habe mir für Parcel ein Ersatz für den OWL geschaffen. Und dort brauchte ich auch so eine Lösung

            742e42bd-002f-40fc-8dc1-f2069325715d-image.png

            a9411511-e61d-4865-b91c-e607a001d341-image.png

            hier kann man es sehen wie es arbeitet. Genau so wollte ich es. Ggfs. ist es ja auch für andere nutzbar.

            Ro75.

            SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

            1 Antwort Letzte Antwort
            0
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            702

            Online

            32.6k

            Benutzer

            82.3k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Anmelden

            • Du hast noch kein Konto? Registrieren

            • Anmelden oder registrieren, um zu suchen
            • Erster Beitrag
              Letzter Beitrag
            0
            • Home
            • Aktuell
            • Tags
            • Ungelesen 0
            • Kategorien
            • Unreplied
            • Beliebt
            • GitHub
            • Docu
            • Hilfe