Utilizar fuentes elegantes en el desarrollo web mejora considerablemente la experiencia del usuario.
En este artículo, se presentan métodos para usar la fuente web Poppins en proyectos de Django,
y cómo utilizar de manera estable la fuente base del sistema sans-serif incluso en entornos de contenedores.


Visual de compatibilidad de fuentes de Django y Docker

1. ¿Qué tipo de fuente es Poppins?

Poppins es una fuente sans-serif moderna y elegante ofrecida por Google Fonts.
Sin embargo, no admite idiomas como coreano, japonés y chino, por lo que es necesario configurar otra fuente como respaldo.


2. Usar Google Fonts directamente (método CDN)

La forma más sencilla es incluir el enlace de Google Fonts en <head>.

<!-- base.html -->
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&family=Noto+Sans+KR&family=Noto+Sans+JP&display=swap" rel="stylesheet">
body {
    font-family: 'Poppins', 'Noto Sans KR', 'Noto Sans JP', sans-serif;
}
❗ Aviso: En algunos países como China, se puede bloquear el acceso a Google Fonts

En este caso, la fuente no se cargará y los caracteres se verán distorsionados o se reemplazarán por la fuente básica del sistema.
Para resolver este problema, es recomendable utilizar el método de instalación local.


3. Método de instalación y uso de fuentes locales

📁 Ejemplo de estructura del directorio del proyecto

your_project/
├── static/
│   ├── fonts/
│   │   ├── poppins/
│   │   │   ├── Poppins-Regular.woff2
│   │   │   └── Poppins-Bold.woff2
│   │   └── noto/
│   │       ├── NotoSansKR-Regular.woff2
│   │       └── NotoSansJP-Regular.woff2
│   └── css/
│       └── fonts.css

🎨 Ejemplo de fonts.css

/* Poppins */
@font-face {
  font-family: 'Poppins';
  src: url('/static/fonts/poppins/Poppins-Regular.woff2') format('woff2');
  font-weight: 400;
}
@font-face {
  font-family: 'Poppins';
  src: url('/static/fonts/poppins/Poppins-Bold.woff2') format('woff2');
  font-weight: 700;
}

/* Noto Sans KR */
@font-face {
  font-family: 'Noto Sans KR';
  src: url('/static/fonts/noto/NotoSansKR-Regular.woff2') format('woff2');
}

/* Noto Sans JP */
@font-face {
  font-family: 'Noto Sans JP';
  src: url('/static/fonts/noto/NotoSansJP-Regular.woff2') format('woff2');
}

📌 Ejemplo de aplicación de CSS

:root {
  --font-default: 'Poppins', 'Noto Sans KR', 'Noto Sans JP', sans-serif;
}

body {
  font-family: var(--font-default);
}

4. ¿Es necesario instalar sans-serif por separado?

✅ Entorno Ubuntu normal

  • sans-serif no es tanto un nombre de fuente sino más bien una familia de fuentes (genérica), y realmente se reemplaza automáticamente por la fuente sans-serif básica que tiene el sistema. (Ej: Arial, Helvetica, Noto Sans, DejaVu Sans, etc., será diferente dependiendo del sistema.)
  • Es decir, si se usa font-family: sans-serif;, el navegador buscará la fuente sans-serif predeterminada en ese sistema operativo y la mostrará.
  • La mayoría de las veces, DejaVu Sans, Liberation Sans, Noto Sans, etc., están instalados por defecto.
  • Por lo tanto, simplemente configurando sans-serif se mostrará correctamente gracias al mapeo automático.

❌ Entorno de contenedores Docker

Muchos contenedores (especialmente python:3.x-slim, debian-slim) no tienen fuentes básicas instaladas
→ Podría mostrarse en cuadros (□) incluso para el inglés, además de los caracteres coreanos y japoneses.


5. Instalación de fuentes en el entorno Docker

🐳 Ejemplo de Dockerfile

FROM python:3.12-slim

RUN apt update && apt install -y \
    fonts-dejavu \
    fonts-noto \
    fonts-noto-cjk \
    && rm -rf /var/lib/apt/lists/*
  • fonts-dejavu: Para el mapeo básico de sans-serif.
  • fonts-noto: Soporte para idiomas de todo el mundo.
  • fonts-noto-cjk: Soporte para caracteres chinos, japoneses y coreanos.

6. Conclusión

Elemento Contenido
Poppins Solo para caracteres latinos, no admite coreano ni japonés.
Google Fonts Conveniente, pero bloqueado en países como China.
Instalación local Método más estable.
sans-serif Fuente básica del sistema, alta probabilidad de no estar instalada en Docker.
Compatibilidad con Docker Necesita instalación de fonts-dejavu, fonts-noto, fonts-noto-cjk.

📦 Bonificación: configuración recomendada para fuentes de respaldo

font-family: 'Poppins', 'Noto Sans KR', 'Noto Sans JP', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  • Apple SD Gothic Neo: macOS
  • Malgun Gothic: Windows
  • Fuentes coreanas bonitas de respaldo según el sistema.

🙋 ¿Te fue útil?

  • Déjanos tus comentarios o envíanos un correo con tus opiniones.
  • Este blog sigue creciendo gracias a tu interés.