Forum Linux.débutant Xfig installé sur Windows 7 avec Cygwin ne peut ouvrir aucun fichier .fig

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
2
17
juil.
2014

J'utilise régulièrement Xfig pour créer des dessins pour articles ou publications.

Jusqu'à présent j'avais une installation de cygwin sur Windows XP, qui ne posait aucun problème.

Je viens d'installer Cygwin sur mon portable et sur mon ordinateur au bureau, qui ont Windows 7 : dans les deux cas , il est impossible d'ouvrir les fichiers ".fig": j'obtiens systématiquement le message

"Xfig: error" "Bad format"

Je reçois d'ailleurs le même message d'erreur lorsque je cherche d'ouvrir un fichier ".fig" généré et sauvé sur un même ordinateur qui a Windows 7.

Est-ce que quelqu'un pourrait m'aider?

Merci

  • # Tests

    Posté par  . Évalué à 3. Dernière modification le 17 juillet 2014 à 18:20.

    Il y a plein de choses à vérifier :

    • Peux-tu jeter un œil au fichier dans un éditeur de texte ? Le format Xfig est lisible (difficilement, mais lisible quand même), peut-être pourras-tu découvrir une corruption de fichier évidente (p.ex. est-ce que Xfig supporte les fins de ligne \r\n de Windows ?)
    • Peux-tu ouvrir le fichier en question à partir d'un autre ordinateur ? Cet autre ordinateur peut avoir Windows ou bien linux sur un livecd.
    • Peux-tu ouvrir ce fichier sur ton ordinateur sous windows mais à partir d'un autre logiciel ? Par exemple le logiciels libres sK1 et scribus ouvrent les fichiers xfig, et sont disponible pour windows et linux (peut-être aussi cygwin).
    • [^] # Re: Tests

      Posté par  . Évalué à 1.

      Salut,

      Merci pour la réponse.

      Tous mes fichiers fonctionnent correctement sur le vieux ordinateur avec lequel je les ai générés, (Windows XP, cygwin et Miktex installés ça fait 5-6 ans). Aucun fichier ne fonctionne sur deux autres ordinateurs, qui sont plus récents et tournent sous Windows 7 (cygwin et Miktex installés cette année).

      J'ai déjà désinstallé et réinstallé Cygwin trois fois (parfois avec tous les paquetages, parfois avec un choix réduit), mais chaque fois j'ai le même problème.

      La chose qui me surprend le plus est la suivante : si je crée un nouveau fichier .fig tout simple avec Xfig sous Windows 7, et je l'enregistre, par la suite je ne peux plus l'ouvrir!!

      Le message d'erreur complet que je reçois est :

      • Figure resolution or coordinate specifier missing in line 5.

      J'ai essayé la première partie des mesures préconisées au lien suivant :

      http://www.cygwin.com/ml/cygwin-xfree/2010-06/msg00004.html

      mais sans succès, et je ne suis pas suffisamment compétent pour appliquer le conseil final:

      • adding
      • xfig()
      • {
      • LANG=''\
      • /usr/bin/xfig -specialtext -latexfonts -startlatexFont default \
      • "$ " 2>/dev/null
      • } *
      • to my .bash_wrappers file, solved the problems.

      PS: ce n'est pas un problème de fin de ligne, ça je sais résoudre!

      Merci

      • [^] # Re: Tests

        Posté par  . Évalué à 2.

        yaurai'til pas un pb avec le 64b et 32b sous windows ? genre cygwin 32 sur un windows 64 ?

        c'est censé etre transparent :) mais sait on jamais

        • [^] # Re: Tests

          Posté par  . Évalué à 1.

          Mais non… j'y ai pensé, mais j'ai (quand même) mis la bonne version 64b.

          J'ai des collègues qui ont installé cygwin (avec Xfig) sur Windows 7, et ça fonctionne sans problèmes.

          En effet, ma question pourrait être modifiée de la manière suivante :

          " Comment installer correctement cygwin sur Windows 7? Faut-il installer quelques choses d'autre avant? Faut-il modifier certaines variables système? Quel paquetages choisir? Quel Mirror choisir? "

          Avec Windows XP j'avais l'habitude que tout roule tout seul… mais apparemment avec W7 ce n'est pas le cas (pour moi, en tout cas…).

          • [^] # Re: Tests

            Posté par  . Évalué à 1.

            D'ailleurs, je me demande quels sont les "prérequis" pour installer correctement cygwin : faut-il avoir déjà installé gs et miktex ? Est-ce qu'il faut que tout soit dans le même répertoire?

            • [^] # Re: Tests

              Posté par  . Évalué à 1.

              Et dernière refléxion : est-ce que le mauvais fonctionnement peut être le résultat des contrôles de comptes d'utilisateurs de Windows 7 (UAC)… c'est à dire que cygwin n'est pas certifié pour Windows 7 qui le bloque?

              • [^] # Re: Tests

                Posté par  . Évalué à 2.

                Dans le lien que tu indiques je comprends qu'il s'agit d'un problème de locale et séparateur décimal. Peux-tu poster ta ligne 5 à toi et la valeur de $LANG ?

                J'ai une installation de Cygwin sous Windows 7 mais que du mode texte, peux pas tester désolé :/

              • [^] # Re: Tests

                Posté par  . Évalué à 2.

                En complémente de la remarque sur la locale, est-ce que tu as des espaces ou des caractères spéciaux dans le nom de ce fichier, ou bien dans le nom des répertoires de l'arborescence où il est situé ?

            • [^] # Re: Tests

              Posté par  . Évalué à 2.

              Personnellement je ne comprends pas en quoi gs et miktek seraient liés au problème que tu rapportes. Miktex et gs ne sont pas du tout utilisés par Cygwin pendant son fonctionnement. D'ailleurs si tu utilises des logiciels sous Cygwin qui en ont besoin, Cygwin les installera automatiquement à l'intérieur de Cygwin (et non pas sous Windows en soi). Pour latex ce ne sera même pas Miktex (qui est spécifique à Windows) mais texlive. Cela dit la fonctionnalité de base de xfig n'a pas besoin de latex ni de gs, donc en principe tu devrais pouvoir ouvrir ton fichier sans les avoir installés du tout (ni sous Windows ni sous Cygwin).

              • [^] # Re: Tests

                Posté par  . Évalué à 2.

                Certainement de mes questions sont certainement un peu "hors lieu", car je ne suis pas du tout expert dans tout cela et j'ai de la peine à m'orienter: j'ai posé la question sur les possibles "interférences" entre cygwin, miktex et ghostscript car j'ai trouvé à deux ou trois reprises des indications sur internet précisant, par exemple, de ne pas choisir certains paquetages lors de l'installation de cygwin en cas d'utilisation simultanée de miktex… je me suis dit alors que, par exemple, l'un pourrait influencer les variables de l'autre…

                Pour finir, je pense que c'est un problème d'"internationalisation" et j'ai trouvé une manière de lire mes fichiers :

                • quand je lance cygwin, $echo LANG me restitue fr_FR.UTF-8
                • si je ne modifie rien, Xfig genère des fichiers dans lesquels la virgule "," est utilisée à la place du point comme séparateur décimal #FIG 3.2 Produced by xfig version 3.2.5b Landscape Center Inches Letter 100,00 Single -2 1200 2 2 2 0 1 0 7 50 -1 -1 0,000 0 0 -1 0 0 5 2175 2325 4875 2325 4875 3750 2175 3750 2175 2325
                • si je donne l'instruction LANG=en_US.UTF-8 dans cygwin avant d'ouvrir xwin, par contre, Xfig génère des fichiers qui utilisent correctement le point et, du coup, arrive à lire et modifier tous mes anciens fichiers. #FIG 3.2 Produced by xfig version 3.2.5b Landscape Center Metric Letter 100.00 Single -2 1200 2 ...

                Donc actuellement j'ai une solution "qui tient la route".

                C'est quand même bizarre qu'il y ait de telles différences entre une langue et l'autre.

                En outre, c'est quand même ennuyant de devoir donner l'instruction LANG=en_US.UTF-8 chaque fois que je lance cygwin.

                Sais-tu s'il est possible de modifier les paramètres d'internationalisation de manière "permanente" ?

                Pour finir, je trouve que le fonctionnement sur mon ordi "windows 7" reste tout de même bizarre:

                • la commande "startxwin.bat" ne fonctionne plus : maintenant il faut taper juste "startxwin", ou bien "startxwin.exe". Ils ont apparement change le type de fichier;

                • si je quitte Xwin avec l'instruction "exit" dans la ligne de commande, la fenetre xwin se ferme effectivement, mais le processus Xwin ne se termine pas et je dois passer par le taskmanager pour le tuer…

                Salut

                • [^] # Re: Tests

                  Posté par  . Évalué à 3.

                  Bravo pour avoir trouvé la solution. C'est à vrai dire un problème récurrent, mais auquel on ne pense jamais immédiatement.

                  Je ne connais pas bien les spécificité des Cygwin, mais sur un système unix en général tu peux choisir la commande pour chaque application ou mettre un choix par défaut. Pour tester juste pour une application, tu prends une ligne de commande (de Cygwin) et tu entres "LANG=C xfig" ou bien "LC_ALL=C xfig" (sans les guillemets). Cela devrait ouvrir xfig en imposant la langue C (l'anglais). Si ça ne fonctionne pas avec LANG, essaye LC_ALL (qui change plus de propriétés de langues et ne peut pas être ignoré par le système). Si tout marche comme attendu, tu peux placer la ligne "export LANG=C" (ou l'autre) dans le fichier ~/.bashrc, qui est lu à chaque lancement de la ligne de commande (la solution sera donc permanente).

                  J'ai trouvé un lien vers la page de manuel Cygwin pour le changement de langue : https://cygwin.com/cygwin-ug-net/setup-locale.html

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.