Autor Beitrag
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: So 04.04.10 00:40 
Ist mir gerade in folgendem Thema aufgefallen.
www.delphi-forum.de/...der=asc&start=20
In diesem www.delphi-forum.de/....php?p=601311#601311 Beitrag sind die Zeilennummern korrekt, aber in diesem hier www.delphi-forum.de/....php?p=601315#601315 sind sie nach unten verschoben, je weiter man runter scrollt. Siehe dazu den angehängten Screenshot.
Einloggen, um Attachments anzusehen!
_________________
PROGRAMMER: A device for converting coffee into software.
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: So 04.04.10 02:35 
Ein beliebter Bug, mit dem auch GeSHi zu kämpfen hat.

Ursache ist, dass in <pre> Zeilen, die kursive Zeichen enthalten 1 px höher sind als solche ohne, wenn man Größenangaben in em oder % verwendet.

Das DF hat da einen "Hack", der Kursive genau ein Pixel kleiner macht. Der ist aber buggy 8)

Die Class .codecompilerdirective hält sich für Kursiv und gibt deswegen font-size: 12px an. Das müssten 13px werden.

TUFKAPL, übernehmen Sie! ;)

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
JonS
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 43

XP, Vista, Seven, Ubuntu
Delphi for Win32, Delphi Prism, C#, Java, PHP, VB
BeitragVerfasst: So 04.04.10 10:05 
Man könnte doch einfach statt ner umrandenen div ne liste nehmen, dann müsste es doch gehen (nicht ausprobiert).

wfg Jon S.
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: So 04.04.10 11:58 
user profile iconXentar hat folgendes geschrieben Zum zitierten Posting springen:
In diesem www.delphi-forum.de/....php?p=601311#601311 Beitrag sind die Zeilennummern korrekt, aber in diesem hier www.delphi-forum.de/....php?p=601315#601315 sind sie nach unten verschoben, je weiter man runter scrollt. .....

mh..., bei mir nicht, im IE8 !?

EDIT: lol, bezog sich ja auf Firefox!
Gruss Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: So 04.04.10 13:10 
Selbiges Verhalten im Opera Mobile 10.
Wobei bei mir beide Beiträge buggy sind ;) . Aber Christian keine Sorge: nur für mich brauchst du das Forum nicht anpassen. Ich wollte es bloß erwähnen.
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: So 04.04.10 14:16 
user profile iconJonS hat folgendes geschrieben Zum zitierten Posting springen:
Man könnte doch einfach statt ner umrandenen div ne liste nehmen, dann müsste es doch gehen (nicht ausprobiert).

Aber man kann den Code nicht mehr rauskopieren.
Hat schon so seine Richtigkeit...

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: So 04.04.10 15:06 
Im GeSHi bin ichinzwischen dazu übergegangen eine Tabelle mit zwei Spalten zu nehmen. Im FF und zahlreichen anderen Browsern kann man dann den Code durch Festhalten der Strg+Shift-Taste markieren und entsprechend kopieren.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
JonS
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 43

XP, Vista, Seven, Ubuntu
Delphi for Win32, Delphi Prism, C#, Java, PHP, VB
BeitragVerfasst: So 04.04.10 16:09 
Ne alternative wäre folgendes: JavaScript-Highlighter

Muss der Benutzer zwar JavaScript auf ON haben, sonst wird nichts gehighlightet, aber für ein Web-Projekt von mir verwend ich den. Hat auch noch gute Anpassungsmöglichkeiten und bringt Copy und View as Plaintext von Haus aus mit :)

wfg Jon S.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: So 04.04.10 17:16 
Das ändert aber nix dran, dass der auch nur das umsetzen kann, was HTML kann. Den Fehler mit den Höhenangaben gibt's dort genauso.

Außerdem: Wozu JS-Highlighter einsetzen, wenn es Serverseitig wesentlich besser geht?

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
JonS
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 43

XP, Vista, Seven, Ubuntu
Delphi for Win32, Delphi Prism, C#, Java, PHP, VB
BeitragVerfasst: So 04.04.10 17:23 
Naja, dort gibt es das Problem soweit ich bisher bemerkt habe NICHT. Man kann den Code direkt in die Zwischenablage kopieren oder auch den Code in einem neuen Fenster plain (also ohne Highlighting oder Zeilennummern) ansehen.

Man könnte es ja einfach nach der Serverseitigen Bearbeitung noch einschieben -->
JavaScript = ON: JS-Highlighter
JavaScript = OFF: Normale Geshi-Highlighting

wfg Jon S.
Heiko
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: So 04.04.10 20:25 
user profile iconJonS hat folgendes geschrieben Zum zitierten Posting springen:
Man könnte es ja einfach nach der Serverseitigen Bearbeitung noch einschieben -->
JavaScript = ON: JS-Highlighter
JavaScript = OFF: Normale Geshi-Highlighting

Man oh man, JS macht auch nix anderes als HTML/CSS-Code zu erzeugen. Von daher hat das nix mit dem Problem zu tuen.

Die simple Lösung ist einfacvh, bei pre.sourcecode line-height auf 14px zu setzen (oder 13px, je nachdem was man eher mag ;) )
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: So 04.04.10 20:30 
user profile iconHeiko hat folgendes geschrieben Zum zitierten Posting springen:
Die simple Lösung ist einfacvh, bei pre.sourcecode line-height auf 14px zu setzen (oder 13px, je nachdem was man eher mag ;) )

Äh, Leute? Der genaue, aufs DF passende Bugfix kam heute Nacht schon von mir.

Der Rest der Diskussion hier gehört in den Mozilla Bugtracker...

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mi 07.04.10 11:12 
Moin,

ich habe gerade eine CSS3-Version des Syntax-Highlighters geschrieben. Der Vorteil dabei ist, dass die Zeilennummern nun gar nicht mehr in HTML stehen, sondern per CSS vom Browser generiert werden. Sie können auch gar nicht von den Sourcezeilen verschoben sein, da jede Zeilennummer direkt mit der Zeile verknüpft ist.

Es funktioniert im Firefox 3.6, Internet Explorer 8, Opera 9, Safari 4 und Google Chrome 3 einwandfrei. Wäre das eine Überlegung wert?

Edit: Der gesamte Quelltext steht in einem <div class="code"> ... </div>, und jede einzelne Zeile gehört in ein <div> ... </div>. An HTML ist das alles.

Grüße,
Yogu

Edit: Mir ist gerade aufgefallen, dass zweistellige Zeilennummern im gleichen Codeblock mehr Platz brauchen als einstellige. Um das zu umgehen können folgende CSS-Regeln zusätzlich verwendet werden:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
.code div {
  clear:both;
}

.code div:before {
  display: block;
  float: left;
  width: 3em;
}

So passen bis zu vierstellige Nummern rein.
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von Yogu am Sa 19.06.10 23:45, insgesamt 1-mal bearbeitet
Dude566
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: Mi 07.04.10 13:22 
Hey user profile iconYogu,

ich habe gerade mit (X)HTML & CSS angefangen und habe mich schon gefragt wie ich wohl so eine Codebox für meine eigene Homepage machen könnte.

Vielen Dank für die Anregung!

_________________
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mi 07.04.10 15:13 
Die Idee ist gar nicht mal so schlecht.

Nach www.quirksmode.org/css/contents.html#t15 und www.quirksmode.org/c...reafter_content.html sieht das auch mit der Unterstützung ganz gut aus, nur IE<=7 und was den Counter betrifft Konqueror halt nicht.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."