Fonts in Linux

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fonts in Linux

    Ich habe ein Problem mit Fonts in Linux. Wenn ich die Fonts Van Helsing.ttf und TektonPro-BoldCond.otf unter einem Windows Server benutze hab ich damit keine Probleme. Aber wenn ich dies mit EInem Linux Server mache werden die SChriften nicht angezeigt.

    Kann ich was machen damit damit es auch unter Linux geht?
    Vielleicht was installieren oder die Fonts umändern?

  • #2
    WIE benutzt du sie denn? Und vor allem: Womit?
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Die angezeigten Schriften sind ja vom Client abhängig, nicht vom Server. Ausser du brauchst sie innerhalb von Grafikfunktionen.
      Gruss
      H2O

      Kommentar


      • #4
        Original geschrieben von H2O
        Die angezeigten Schriften sind ja vom Client abhängig, nicht vom Server. Ausser du brauchst sie innerhalb von Grafikfunktionen.
        Ja es hat mit Grafikfunktionen zu tun.

        PHP-Code:
        <?php

        error_reporting
        (E_ALL);
        @
        mysql_connect('''''') or die("Keine Verbindung zum Server!");
        mysql_select_db('') or die("Datenbank nicht gefunden!");

        if (!empty(
        $_GET['char']))
            {
            
        $sql "
                 SELECT 
                    c.guid, 
                    c.name, 
                    c.race, 
                    c.class, 
                    c.gender, 
                    c.level, 
                    c.skills, 
                    c.online,
                    gd.guildid, 
                    gd.playerid,
                    g.guildName
                FROM 
                    characters c
                INNER JOIN
                    guild_data gd ON gd.playerid = c.guid    
                INNER JOIN
                    guilds g USING(guildId)
                WHERE 
                    name = '" 
        htmlspecialchars($_GET['char']) . "'";
                    
            
        $query mysql_query($sql) or die(mysql_error());
            
        $row mysql_fetch_assoc($query);
            
        $counter mysql_num_rows($query);

            if(
        $counter == 0)
                {
                die(
        "Char nicht vorhanden!");
                }
            else
                {
                
        $name $row['name'];
                
        $race $row['race'];
                
        $classe $row['class'];
                
        $gender $row['gender'];
                
        $level $row['level'];
                
        $skillstring $row['skills'];
                
        $online $row['online'];

                
        $guild "" $row['guildName'];

                if(
        $race >= && $race <= 11)
                    {
                    
        $im_ar = array('''Mensch_''Orc_''Zwerg_''Nachtelf_'
        'Untoter_''Taure_''Gnom_''Troll_''''Blutelf_''Draenei_') or die("Rasse nicht spezifizierbar!");
                    
        $imag2 $im_ar[$race];
                    
        $im_ar = array('''Krieger_''Paladin_''Jaeger_''Schurke_',
         
        'Priester_''''Schamane_''Magier_''Hexenmeister_''''Druide_') or die("Klasse nicht spezifizierbar!");
                    
        $imag3 $im_ar[$classe];
                    
        $im_ar = array('m.png''w.png') or die("Geschlecht nicht spezifizierbar!");
                    
        $imag4 $im_ar[$gender];
                    }
                    
                
        Header("Content-Type: image/png");
                
                
        $img ImageCreateFromPNG ('images/' $imag2 $imag3 $imag4);
                
        $yellow ImageColorAllocate($img25521888);
                
        $red ImageColorAllocate($img255188);
                
        $black =  ImageColorAllocate($img000);
                
        $font_1 "fonts/Van Helsing.ttf";
                
        $font_2 "fonts/TektonPro-BoldCond.otf";
                
        $size_1 10;
                
        $size_2 19;
                
        $size_3 9;
                
        $size_4 18;
                
        $banner_x 500;
                
        $banner_y 167;
                
        $banner_pos1 27;
                
                
        //Charname
                
        $banner_s1 imagettfbbox($size_20$font_1$name);
                
        $char_font 500 - ($banner_pos1 $banner_s1[4]);
                
        $charn_x $char_font;
                
        $charn_y 134;
                
        imagefttext($img$size_20$charn_x$charn_y$black$font_1$name);
                
        imagefttext($img$size_20$charn_x 2$charn_y -2$yellow$font_1$name);
                
                
        //Leveltext
                
        imagefttext($img$size_10266164$black$font_2$level);
                
        imagefttext($img$size_10265163$yellow$font_2$level);
                
                
        //Gilde
                
        $banner_s1 imagettfbbox($size_40$font_1$guild);
                
        $char_font $banner_x - ($banner_pos1 $banner_s1[4]);
                
        $guildn_x $char_font;
                
        $guildn_y 164;
                
        imagefttext($img$size_40$guildn_x$guildn_y$black$font_1$guild);
                
        imagefttext($img$size_40$guildn_x 2$guildn_y -2$yellow$font_1$guild);

                
                
                if( 
        stristr$skillstring ";" ) )
                        {
                          
        $skillType 1// new type
                          
        $allparts explode";" $skillstring );
                        }
                else
                        {
                         
        $skillType 0// old type
                         
        $allparts explode" " $skillstring );
                      }

                    
        $professions = array( 164 165 171 182 186 197 ,
         
        202 333 393 755 );
                    
        $badprofessions = array( 65700657016570765718,
         
        657226573365738658696592966291 );
                    
        $parts = array();
                
        $newskillstring = array();
                
        $skill_0 = array ();
                
        $skill_1 = array ();


            
                    for( 
        $i 0$i count$allparts ) ; $i += )
                        {
                          
        $parts[$i] = $allparts[$i];
              
                          if( !isset( 
        $allparts[$i+1] ) )
                    
        $parts[$i+1] = 0;
                
                          else
                            
        $parts[$i+1] = $allparts[$i+1];
                    
                
                          if( !isset( 
        $allparts[$i+2] ) )
                            
        $parts[$i+2] = 0;
                    
                          else
                    
        $parts[$i+2] = $allparts[$i+2];
                

                          if( 
        $skillType == )
                        {
                                
        $newskillstring[$i] = str_replace"\n" "" 
        $parts[$i] . " " $parts[$i+1] . " " $parts[$i+2] );
                        }
                    else
                        {
                                
        $newskillstring[$i] = str_replace"\n" "" ,
         
        $parts[$i] . ";" $parts[$i+1] . ";" $parts[$i+2] );
                        }
                    }
           
           
           
                
        $beruf = array();
                
        $endskill = array();

                    foreach( 
        $newskillstring as $key => $val )
                    {
                          if( 
        $newskillstring[$key] != "0 0 0" and $newskillstring[$key] != "0;0;0" )
                              {
                                if( 
        $skillType == )
                            {
                                      
        $subparts explode" " $newskillstring[$key] );
                            
        $skillid $subparts[0];
                            
        $skill_00 $subparts[0];
                            
        $skill_01 $subparts[1];
                            
        $skill_0 = array ($skill_00);
                            
        $skill_1 = array ($skill_01);
                            
        $skilling array_combine($skill_0$skill_1);
                            }
                                else
                            {
                                      
        $subparts explode";" $newskillstring[$key] );
                            
        $skillid $subparts[0];
                            
        $skill_00 $subparts[0];
                            
        $skill_01 $subparts[1];
                            
        $skill_0 = array ($skill_00);
                            
        $skill_1 = array ($skill_01);
                            
        $skilling array_combine($skill_0$skill_1);
                              }

                                
        //$skillid = $subparts[0] - 0x10000;

                        
        switch( $skillid )
                                    {
                                      case 
        164:
                                      
        $beruf[] = "professions/Schmiedekunst.png";
                            
        $endskill[] = $skilling[164];
                                      break;
                                      case 
        165:
                                      
        $beruf[] = "professions/Lederverarbeitung.png";
                            
        $endskill[] = $skilling[165];
                                      break;
                                      case 
        171:
                                      
        $beruf[] = "professions/Alchemie.png";
                            
        $endskill[] = $skilling[171];
                                      break;
                                      case 
        182:
                                      
        $beruf[] = "professions/Kraeuterkunde.png";
                            
        $endskill[] = $skilling[182];
                                      break;
                                      case 
        186:
                                      
        $beruf[] = "professions/Bergbau.png";
                            
        $endskill[] = $skilling[186];
                                      break;
                                      case 
        197:
                                      
        $beruf[] = "professions/Schneiderei.png";
                            
        $endskill[] = $skilling[197];
                                      break;
                                      case 
        202:
                                      
        $beruf[] = "professions/Ingenieurkunst.png";
                            
        $endskill[] = $skilling[202];
                                      break;
                                      case 
        333:
                                      
        $beruf[] = "professions/Verzauberungskunst.png";
                            
        $endskill[] = $skilling[333];
                                      break;
                                      case 
        755:
                                      
        $beruf[] = "professions/Juwelenschleifen.png";
                            
        $endskill[] = $skilling[755];
                                      break;
                                      default:
                                      
        $proficon "";
                            }

                        @
        $skill_0_pos imagettfbbox($size_30$font_2$endskill[0]);
                        @
        $skill_0_x =  16 - ($skill_0_pos[4] / 2);
                        @
        $skill_0_y 121;
                        @
        $beruf_0 imagecreatefrompng($beruf[0]);
                        @
        imagecopy($img$beruf_0486002222);
                        @
        imagefttext($img$size_30$skill_0_x$skill_0_y$black$font_2$endskill[0]);
                        @
        imagefttext($img$size_30$skill_0_x -2$skill_0_y 2$yellow$font_2$endskill[0]);
                        }
                    }
                    
                    if(@
        $beruf[0] == @$beruf[1])
                        
                            
        "";
                        
                    else
                        {
                        @
        $skill_1_pos imagettfbbox($size_30$font_2$endskill[1]);
                        @
        $skill_1_x =  42 - ($skill_0_pos[4] / 2);
                        @
        $skill_1_y 125;
                        @
        $beruf_1 imagecreatefrompng($beruf[1]);
                        @
        imagecopy($img$beruf_13191002222);
                        @
        imagefttext($img$size_30$skill_1_x$skill_1_y$black$font_2$endskill[1]);
                        @
        imagefttext($img$size_30$skill_1_x 2$skill_1_y 2$yellow$font_2$endskill[1]);
                        }
                
        ImagePNG($img);
                }
            }

        ?>
        Zuletzt geändert von trainmen; 09.04.2008, 20:54.

        Kommentar


        • #5
          Also Du bist noch neu hier, deshalb erstmal Willkommen. Aber die Code-Wüste muß nicht sein - hier reicht ein "Ja, ich benutze imageftttext() um die Schriften anzuzeigen" und generell tust du gut daran, dein Problem sehr genau zu beschreiben.

          Als allererstes entferne mal die @s vor den Anweisungen, damit Du die Fehlermeldungen siehst. Grundsätzlich funktionieren TTF-Schriften unabhängig vom verwendeten System. Das Problem muß woanders liegen.

          Ich wette ein Bier (via PayPal), daß es an der Groß- und Kleinschreibung der Fontdateien liegt:

          PHP-Code:
          $font_1 "fonts/Van Helsing.ttf";
          $font_2 "fonts/TektonPro-BoldCond.otf"
          Zuletzt geändert von pekka; 09.04.2008, 21:17.

          Kommentar


          • #6
            OffTopic:
            Finde ich ja ulkig das error_reporting hoch zu schrauben und anschließend jede Zeile wieder Fehler unterdrücken zu lassen

            Kommentar


            • #7
              Irgendwie ist das Mode die Fehlerausgabe der GD-Funktionen zu unterdrücken.
              [FONT="Helvetica"]twitter.com/unset[/FONT]

              Shitstorm Podcast – Wöchentliches Auskotzen

              Kommentar


              • #8
                Leerzeichen im Dateinamen? Muss der nicht urlencode()´d sein?

                Btw
                OffTopic:
                Das Script kommt mir vom Aufbau der Datenbank her bekannt vor, allerdings von einem Guildwars-bezogenen Script

                Kommentar


                • #9
                  Leerzeichen im Dateinamen? Muss der nicht urlencode()´d sein?
                  Nicht im Dateisystem. Und selbst im Netz sollte das so gehen!

                  Kommentar

                  Lädt...
                  X