6.32 et oeuf ?

Issue #36 new
H Labrande created an issue

http://inform7.com/mantis/view.php?id=1548 http://inform7.com/mantis/view.php?id=1559

je me souvenais plus qu'il y avait un truc dans LanguageContraction et glulx. Si on fait une release pour 6.31, on va pas avoir le même problème ? vu que zarf a fixé un truc dans 6.32 ? (pas sûr hein, dans ce truc y'a aussi mon idiotie)

Comments (1)

  1. Nathanaël Marion

    Si j'ai bien compris, le problème sera toujours présent. Pour l'enlever, il faut réécrire PrefaceByArticle pour que ça utilise un word array plutôt qu'un byte array.

    Pour I7, j'ai réglé le problème de la façon suivante.

    Il y a une routine qui se charge d'afficher le nom des objets. À chaque fois qu'un nom est affiché, cette routine se lance deux fois : la première fois, le nom est affiché dans un buffer pour permettre à Inform de choisir le déterminant (c'est là que PrefaceByArticle est appelé) ; la deuxième fois, le nom est affiché en vrai.

    Il suffit de court-circuiter la routine à la première étape pour afficher une voyelle quelconque dans le buffer : du coup, Inform croit que le nom commence par une voyelle et va provoquer l'élision.

    Voir ici pour le code dans l'extension I7, et ici pour l'extension dont c'est tiré (voir la documentation à la fin pour comprendre comment ça marche exactement si tu n'es pas familier avec I7).

    Du coup, n'y aurait-il pas moyen de faire un truc semblable si jamais on ne veut pas s'amuser à toucher à cette histoire d'array ? Comme ajouter une propriété pour les mots en « œ » qui est détectée dans la routine PrefaceByArticle directement sans passer par LanguageContraction ? Je dis ça comme ça, je ne sais pas si c'est faisable.

    (Autre problème vaguement lié : empêcher l'élision pour les « h » aspirés.)

  2. Log in to comment