Improve hatched heading fill fidelity in vectorInk PDF

Abierto
#100 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Tranquilo
Stack tecnológico
typescript

Línea de trabajo

Start by comparing the current PDF line approximation from #98 with the headings-and-marker fixture and its SVG vectorInk output. Investigate pdf-lib support for a real PDF tiling or shading pattern, including direct content-stream operators or a pattern XObject. Done means visual fidelity and file-size tradeoffs are evaluated and a decision is made about retaining the older-viewer fallback.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Follow-up to #95 / #98.

The SVG vectorInk renderer uses a <pattern> element for hatched Heading backgrounds (the cross-hatch variant). In PDF, #98 approximates the same hatch by drawing a white rectangle underneath and then stroking diagonal lines on top.

Next investigation:

  • Compare the line approximation with a real PDF tiling pattern (Tiling Pattern type 1) or a shading pattern. pdf-lib supports drawRectangle({ color: undefined }) and direct content-stream operators, but may require embedding a pattern XObject.
  • Evaluate visual fidelity versus file size. The current line approximation adds one PDF line per stripe; a tiling pattern may be reused per page.
  • Decide whether to keep the line-approximation fallback for older PDF viewers or to require a pattern.

This matters most for the headings-and-marker fixture, where a hatched heading behind black text should remain mostly see-through but visibly striped, matching the device export.

Lenguaje dominante
TypeScript
Estrellas
42
Forks
9
Merge medio
30 min
PR fusionados (30 d)
2

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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de philips/supernote-typescript

Todos los issues de philips/supernote-typescript

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.