{
  "schema_version": "1.0",
  "study_date": "2026-07-31",
  "title": "Contador de palabras en un texto: comparación de reglas Unicode",
  "route": "/investigacion/contador-de-palabras-en-un-texto",
  "corpus": {
    "cases": 160,
    "groups": 8,
    "license": "CC0-1.0",
    "construction": "Ejemplos literales creados para esta investigación; los casos Unicode citan UAX #29 revisión 47."
  },
  "preprocessing": "Solo los tres conteos de palabras normalizan CRLF/CR a LF y Unicode NFC.",
  "methods": [
    {
      "id": "site",
      "name": "Contador de Palabras",
      "rule": "Intl.Segmenter es/isWordLike, uniendo palabras separadas solo por guion Unicode o apóstrofo.",
      "source_commit": "2b196e1d8d022b214d9a763de57be10ab45a20d6"
    },
    {
      "id": "unicode",
      "name": "Segmentación Unicode del runtime",
      "rule": "Intl.Segmenter('es', {granularity:'word'}) y filtro isWordLike, sin ajustes."
    },
    {
      "id": "whitespace",
      "name": "Separación por espacios",
      "rule": "trim(); texto vacío=0; en otro caso split(/\\s+/u)."
    }
  ],
  "character_metrics": "UTF-16, puntos de código, grafemas, bytes UTF-8 y espacios se miden sobre el texto literal, sin normalizar.",
  "summary": {
    "cases": 160,
    "groups": 8,
    "all_three_agree": 96,
    "any_disagreement": 64,
    "by_group": [
      {
        "id": "puntuacion-espanola",
        "name": "Puntuación española",
        "cases": 20,
        "all_three_agree": 17,
        "site_vs_unicode": 1,
        "whitespace_vs_unicode": 3,
        "site_vs_whitespace": 2
      },
      {
        "id": "apostrofos-guiones-abreviaturas",
        "name": "Apóstrofos, guiones y abreviaturas",
        "cases": 20,
        "all_three_agree": 11,
        "site_vs_unicode": 9,
        "whitespace_vs_unicode": 9,
        "site_vs_whitespace": 0
      },
      {
        "id": "numeros-fechas-unidades",
        "name": "Números, fechas y unidades",
        "cases": 20,
        "all_three_agree": 12,
        "site_vs_unicode": 2,
        "whitespace_vs_unicode": 8,
        "site_vs_whitespace": 6
      },
      {
        "id": "urls-correos-hashtags",
        "name": "URL, correos y hashtags",
        "cases": 20,
        "all_three_agree": 5,
        "site_vs_unicode": 1,
        "whitespace_vs_unicode": 15,
        "site_vs_whitespace": 15
      },
      {
        "id": "espacios-saltos-nbsp",
        "name": "Espacios, saltos y NBSP",
        "cases": 20,
        "all_three_agree": 18,
        "site_vs_unicode": 0,
        "whitespace_vs_unicode": 2,
        "site_vs_whitespace": 2
      },
      {
        "id": "acentos-precompuestos-combinantes",
        "name": "Acentos precompuestos y combinantes",
        "cases": 20,
        "all_three_agree": 17,
        "site_vs_unicode": 2,
        "whitespace_vs_unicode": 3,
        "site_vs_whitespace": 1
      },
      {
        "id": "emoji-zwj",
        "name": "Emoji y secuencias ZWJ",
        "cases": 20,
        "all_three_agree": 3,
        "site_vs_unicode": 0,
        "whitespace_vs_unicode": 17,
        "site_vs_whitespace": 17
      },
      {
        "id": "mezcla-es-en-cjk",
        "name": "Mezcla de español, inglés y CJK",
        "cases": 20,
        "all_three_agree": 13,
        "site_vs_unicode": 2,
        "whitespace_vs_unicode": 7,
        "site_vs_whitespace": 5
      }
    ]
  },
  "sources": [
    {
      "name": "Unicode Standard Annex #29, revisión 47",
      "url": "https://www.unicode.org/reports/tr29/tr29-47.html"
    },
    {
      "name": "Ayuda de recuento de Google Docs",
      "url": "https://support.google.com/docs/answer/39003"
    },
    {
      "name": "Ayuda de recuento de Microsoft Word",
      "url": "https://support.microsoft.com/en-us/office/show-word-count-3c9e400d-2fca-4c2b-934f-269e6b2303a8"
    }
  ],
  "correction": "support@contadordepalabras.app"
}
