pdf: search marks sit about three letters right of the hit in WebKit
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
Línea de trabajo
Start by reproducing the search in Safari or the iOS simulator, then compare the computed font for the .sr run with Chrome and measure its mark against the .vis glyphs. The issue identifies the .sr and .vis runs but names no source files or tests. Done means the highlight aligns with the searched text in WebKit and no longer obscures the letters beneath it.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Found by the iOS session while it moved OpenDocument.ios to 7.6.0 (opendocument-app/OpenDocument.ios#219). iPhone 18 Pro simulator, iOS 27.0, default dual layer.
Repro:
- Make the file:
soffice --headless --convert-to pdf book.txt, where book.txt holds 60 chapters of 39 lines like "This is line 1 of chapter 3. The quick brown fox jumps over the lazy dog." - Search
chapter 3.
What happens: the count is right (440 in that file), and the search reaches pages that have not loaded. But each yellow mark covers "pter 3. ", not "chapter 3": it starts about three characters late and runs past the end. Page 1 shows it too, so lazy loading is not the cause. The marks are opaque, so they also hide the letters they cover.
What I measured in Chrome: the mark is where it belongs. In the 38-page file, the first "chapter 1" mark starts at x=230, and the monospaced visible text puts that word at about 229. The .sel run is <span class="sr f0 w1">. It sets its text in the substitute face sf, sans-serif and stretches the run to the PDF's width (w1). So a character's place in the run depends on the metrics of the substitute font. My guess: in WebKit that face resolves to another font, or WebKit treats one of its descriptors differently, so positions drift within the run. Not checked in WebKit yet.
To do:
- Measure the mark against the
.visglyphs in WebKit (Safari or the simulator). - Compare the computed font of the
.srrun in WebKit and Chrome. - Then fix the metrics, or position the mark from the visible glyphs.
- Separately: the highlight could be translucent, or
mix-blend-mode: multiply, so it never hides the text below it.
Not compared with 7.5.2: there, the same search did not jump to a hit at all.
- Lenguaje dominante
- C++
- Estrellas
- 41
- Forks
- 10
- Merge medio
- 10 h 30 min
- PR fusionados (30 d)
- 342
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de opendocument-app/OpenDocument.core
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
opendocument-app/OpenDocument.core#1281 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 57/100
opendocument-app/OpenDocument.core#1280 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
opendocument-app/OpenDocument.core#1278 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
opendocument-app/OpenDocument.core#1221 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
opendocument-app/OpenDocument.core#1214 ·
Los mantenedores suelen responder en 1 día
Todos los issues de opendocument-app/OpenDocument.core
Issues similares
-
bug priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
chipsalliance/verible#2644 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
grafana/pyroscope-dotnet#470 ·
Los mantenedores suelen responder en 1 día
-
documentation P5 XS
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
open-astro/AlpacaBridge#1848 ·
Los mantenedores suelen responder en 1 día
-
DiskANN AnnIterator returns unconverted IP distances after the graph walk runs out of candidatesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
zilliztech/knowhere#1933 ·
Los mantenedores suelen responder en 1 día