


Les icônes
SVG sont de plus en plus utilisées dans la conception Web moderne, grâce à leur évolutivité, leur petite taille de fichiers et leurs capacités de style CSS, ce qui les rend idéales pour les sites Web réactifs.
Bien que SVG puisse être stylé à l'aide de CSS, cela ne fonctionne que si le code SVG est intégré dans la page HTML. Cela signifie qu'une seule partie du SVG ne peut être modifiée que si le SVG est intégré.
Cet article présente le concept de "symboles SVG amovibles", où le "squelette" de l'image SVG reste inchangé, mais l'apparence de surface peut être facilement modifiée.
L'article propose une solution au problème de ne pas pouvoir modifier une seule partie de SVG. Cela implique la création d'un symbole pour chaque forme du SVG, chaque symbole de la même boîte de vue, permettant des styles pour chaque élément selon les besoins.
L'auteur détaille le flux de travail de la construction de symboles SVG à l'aide d'Adobe Illustrator et Gulp, et note que cette méthode est compatible avec tous les navigateurs modernes.
L'utilisation généralisée de SVG dans les pages Web modernes a été considérablement améliorée en 2016, grâce à la taille de son fichier, de l'évolutivité et des capacités de style CSS.
Il peut être utilisé dans le système d'icônes (voir la construction de vos propres icônes SVG), bien que les polices d'icônes puissent être préférables dans certains cas (voir Icon Wars: Fonts and SVG).
Mais SVG peut également être utilisé pour les éléments logo ou graphiques (du moins pas des éléments trop complexes), et sa flexibilité naturelle en fait la solution parfaite pour les sites Web réactifs (voir Sara Soueidan "Faire un SVG réactif avec CSS").
L'utilisation de SVG peut tirer parti des CSS pour localiser et modifier la taille et la couleur d'un élément entier, cependant, il n'est pas possible de modifier ses parties individuelles de cette manière à moins que votre code SVG ne soit intégré dans une page HTML.
Question
Regardons un exemple plus simple. Voici une image que nous devons afficher en plusieurs couleurs.
Traditionnellement, nous créons trois images distinctes - chacune avec un "style" différent. Mais que se passe-t-il si nous voulons utiliser un seul fichier SVG et le coiffer lors du rendu?
Aussi, existe-t-il un moyen de faire de nos images des "symboles SVG" pour profiter du cache du navigateur?
Je l'appelle le "symbole SVG skinable" - le "squelette" de l'image SVG reste le même, mais l'apparence de surface est facilement modifiée.
La solution idéale consiste à accéder à l'élément symbolique via le sélecteur CSS et à y ajouter des règles (même méthode utilisée par SVG embarqué).
Dans l'exemple ci-dessous, j'ai ajouté une classe (en haut, à droite, en bas et à gauche) à chaque triangle, organisé l'image en tant que symboles et essayé de le modifier via CSS, comme suit:
.top { fill: #356BA5; } .right { fill: #357FD9; } /* and so on... */
Malheureusement, pour le moment, cela ne fonctionne que pour Firefox, comme le montre la démonstration de codepen ci-dessous. Ce n'est que sur Firefox que la deuxième image apparaîtra dans une teinte bleue (j'intègre le code symbolique dans le stylo pour plus de commodité, mais l'utilisation d'un fichier SVG externe obtiendra le même résultat).
Dans les grands projets, nous pouvons avoir de nombreux éléments de ce type, et les problèmes de maintenance sont un facteur important, donc je suis toujours à la recherche d'un moyen de mieux organiser les ressources du projet.
Mon objectif est une solution CSS pure: l'exemple précédent pourrait être réécrit à l'aide d'un seul triangle SVG, qui peut être tourné, déplacé et ombré via CSS.
Mais je n'aime pas cette solution: il me semble que cela change simplement le problème et ne résout pas le problème. Combien de composants de logo du monde réel ont la même forme?
Sara Soueidan explique ce problème mieux que moi et nous fournit une solution intelligente à l'utilisation de variables CSS. Malheureusement, les variables CSS sont toujours une technique expérimentale et les navigateurs Microsoft ne les soutiennent pas.
Solution
Comme cela arrive souvent, la solution est si simple que vous vous sentirez stupide parce que vous ne vous y attendez pas auparavant.
Je l'ai découvert il y a quelques mois quand j'ai vu le nouveau logo Medium (il semble que Medium ait changé leur code de logo - vous devez me croire).
Vous pouvez voir que le logo moyen se compose de quatre "formes", chacune remplie d'une couleur unie différente. La version en noir et blanc est la même que la version verte (à l'exception de la couleur bien sûr).
La solution à la possession des deux versions d'un seul fichier est simplement de créer un symbole pour chaque forme, chaque symbole dans le même Viewbox .
Appliquons-le à notre exemple et créons un symbole pour chaque forme de l'image. Ils partagent tous la même Viewbox (0 0 54 54) de l'image entière, ils sont donc positionnés dans la bonne position sans aucune instruction supplémentaire. Veillez simplement à éviter d'utiliser le remplissage, la course, le style et d'autres attributs dans le code de symbole).
<svg xmlns="https://www.w3.org/2000/svg"> <symbol id="top" viewBox="0 0 54 54"> <polygon points="54 0 0 0 27 27 54 0"></polygon> </symbol> <symbol id="right" viewBox="0 0 54 54"> <polygon points="54 54 54 0 27 27 54 54"></polygon> </symbol> <symbol id="bottom" viewBox="0 0 54 54"> <polygon points="0 54 54 54 27 27 0 54"></polygon> </symbol> <symbol id="left" viewBox="0 0 54 54"> <polygon points="0 0 0 54 27 27 0 0"></polygon> </symbol> </svg>
Maintenant, nous pouvons les combiner en un seul conteneur SVG:
<svg> <use class="top" xlink:href="#top"></use> <use class="right" xlink:href="#right"></use> <use class="bottom" xlink:href="#bottom"></use> <use class="left" xlink:href="#left"></use> </svg>
Chaque élément d'utilisation peut être stylé au besoin, et surtout, il est compatible avec tous les navigateurs modernes:
c'est tout.
Nous avons juste besoin d'organiser nos fichiers SVG comme celui-ci. Bien sûr, nous pouvons le faire manuellement, mais si vous devez gérer de nombreux éléments graphiques, ou si vous devez les éditer et les réutiliser rapidement dans plus de projets, vous avez besoin d'un flux de travail plus intelligent et plus rapide. J'ai trouvé une solution utilisant Adobe Illustrator et un peu de gorgée.
Svg Symbol Construction Workflow
Le principe de cette technique est le même que j'ai introduit dans les articles "Créez vos propres icônes SVG" et "Créer des polices d'icônes avec illustrator et icomoon", alors vérifiez-les pour la première étape.
Supposons que nous ayons deux éléments, tout comme l'image ci-dessous. Chaque élément est disposé dans un tableau artistique spécifique:
Pour plus de commodité, nous leur avons ajouté quelques couleurs, bien que nous sachions que la couleur de remplissage (et le cas échéant, la couleur de course, la taille de course, etc.) sera modifiée via CSS.
Étant donné que chaque symbole doit avoir son artboard, nous devons maintenant segmenter chaque image en autant de planches artistiques que chaque partie colorée.
Cela peut être fait très rapidement dans Illustrator, coupant chaque élément, sélectionnant le Target Artboard et sélectionnant la commande Paste In Place.
Notez que chaque artboard a un nom spécifique: il sera utilisé pour l'ID symbolique.
Maintenant, nous pouvons exporter notre artboard en tant que SVG en utilisant le tout nouveau "Fichier → Exporter → Exporter en tant qu'écran" Commande.
Il s'agit d'un nouvel outil vraiment utile pour la dernière version de l'illustrator: il vous permet d'enregistrer chaque bétail art ou une ressource définie par l'utilisateur dans plusieurs formats à l'aide d'une seule commande.
Sélectionnez "Artboard" dans le panneau d'exportation, définissez "SVG" au format de sortie et sélectionnez le dossier cible:
Chaque art est exporté comme un seul fichier SVG:
Maintenant, nous devons combiner tous les fichiers en symboles SVG et supprimer certaines propriétés SVG indésirables: un petit script Gulp nous aidera à le faire rapidement.
en utilisant Gulp
La section suivante est un peu technique, mais - si vous préférez - cela vous donnera un moyen rapide et concis de générer un SVG aussi polyvalent.
J'ai écrit sur Gulp sur SitePoint, et vous pouvez également trouver beaucoup de ressources en ligne sur l'installation de Gulp et tous les paramètres connexes, donc je suppose que vous l'avez installé et vous savez de quoi nous parlons.
Quoi qu'il en soit, si vous n'aimez pas Gulp, vous pouvez également effectuer manuellement toutes les étapes suivantes. Je l'ai fait plusieurs fois avant de commencer à utiliser Gulp: c'est certainement un excellent moyen d'apprendre, et c'est suffisant sur de petits projets ou des endroits où il n'y a pas besoin d'édition et d'entretien continu.
Donc, nous avons des fichiers SVG, chacun disposé comme l'exemple ci-dessous (l'attribut D a été raccourci pour plus de commodité):
.top { fill: #356BA5; } .right { fill: #357FD9; } /* and so on... */
Notre objectif est d'organiser toutes les images en symboles SVG dans un seul fichier tout en supprimant toutes les propriétés indésirables:
<svg xmlns="https://www.w3.org/2000/svg"> <symbol id="top" viewBox="0 0 54 54"> <polygon points="54 0 0 0 27 27 54 0"></polygon> </symbol> <symbol id="right" viewBox="0 0 54 54"> <polygon points="54 54 54 0 27 27 54 54"></polygon> </symbol> <symbol id="bottom" viewBox="0 0 54 54"> <polygon points="0 54 54 54 27 27 0 54"></polygon> </symbol> <symbol id="left" viewBox="0 0 54 54"> <polygon points="0 0 0 54 27 27 0 0"></polygon> </symbol> </svg>
Autre que Gulp, notre travail nécessite d'autres extensions:
- Tout d'abord, Gulp-Svgstore et Gulp-Svgmin sont utilisés pour combiner et compresser nos fichiers SVG
- Gulp-rename est utilisé pour ajuster le nom de l'ID et spécifier un nom pour notre fichier cible. Ce module est particulièrement nécessaire si vous souhaitez utiliser la commande d'illustrator SVG illustratrice précédente, que nous couvrirons plus tard.
Maintenant, nous pouvons organiser notre gulpfile (le code peut également être obtenu en tant que Gist public):
<svg> <use class="top" xlink:href="#top"></use> <use class="right" xlink:href="#right"></use> <use class="bottom" xlink:href="#bottom"></use> <use class="left" xlink:href="#left"></use> </svg>
Après avoir chargé le module, nous demandons au fichier d'analyser (svg_files / *. Svg).
SVGSTORE utilise le nom de chaque fichier pour définir l'attribut ID de symbole (c'est-à-dire qu'un fichier nommé umbrella.svg deviendra un symbole avec id="umbrella"
). Si vous utilisez la nouvelle exportation illustratrice comme panneau d'écran, vous pouvez éviter la première commande Renommer , car vos fichiers seront nommés exactement les mêmes que le tableau artistique auquel ils appartiennent.
Mais l'ancienne version d'Iltative crée un nom de fichier en connectant le nom du fichier illustrator avec le nom de Board, nous devons donc renommer le fichier pour supprimer le préfixe de nom de fichier illustrateur:
<svg id="Layer_1" data-name="Layer 1" xmlns="https://www.w3.org/2000/svg" width="54" height="54" viewBox="0 0 54 54"> <title>umbrella-handle</title> <path d="..." fill="#603813"></path> </svg>
Maintenant, nous pouvons nettoyer nos fichiers. Gulp-Svgmin est une version Gulp de SVGO, "un outil basé sur NodeJS pour optimiser les fichiers graphiques vectoriels SVG" (Jake Archibald a publié une version en ligne de SVGO, ce qui est très utile si vous souhaitez organiser des fichiers manuellement).
SVGO a beaucoup d'options configurables (vous pouvez les parcourir toutes dans la page du projet), mais nous n'en avons besoin que quelques-uns (bien sûr, vous pouvez personnaliser les scripts comme vous le souhaitez):
- Cleanupides: supprimez tous les ID du fichier
- supprimer lectype, les supprimer et les éléments de suppression: supprimer toutes les déclarations de type de documents, commentaires et
<style></style>
éléments - supprimé: Si Viewbox existe, toutes les propriétés de largeur et de hauteur sont supprimées
- CleanupNumericValues: Termier la valeur à un niveau de précision raisonnable
- RemoveAttrs: supprimez tous les attributs spécifiés
Ensuite, passez le fichier au SVGSTORE pour combiner dans un fichier unique, puis renommer et enregistrer.
Après l'avoir utilisé plusieurs fois, vous devriez pouvoir le planifier pour chaque projet en quelques minutes, et cela vous permettra de reconstruire rapidement votre fichier de symbole SVG si vous en avez besoin.
Voici un exemple de résultat (même dans ce stylo, j'ai intégré le fichier SVG pour plus de commodité, mais vous pouvez le relier en toute sécurité en tant que fichier externe):
y a-t-il un avertissement?
Étant donné que cette méthode est basée sur des éléments d'utilisation stylisés, nous avons des problèmes lorsque les polyfills (comme SVG4Everybody) les suppriment.
dans les navigateurs qui ne prennent pas en charge les liens symboliques externes (tous IE), svg4everybody remplace tous les éléments d'utilisation par le contenu du symbole correspondant. Par conséquent, toutes les règles CSS appliquées à l'utilisation ne prendront pas effet.
Cela peut être résolu en ajustant le sélecteur CSS pour s'adapter aux éléments symboliques internes (chemin, cercle, etc.), mais cela peut être un peu délicat.
BONUS OUT
Il existe des variations illimitées de ce workflow: vous pouvez gérer les coups, le texte, etc.
Une autre fonctionnalité intéressante qui mérite d'être explorée est l'utilisation de symboles illustrateur: ils sont exportés sous forme de symboles SVG, qui apporte de nombreuses possibilités.
Merci d'avoir lu.
Des questions fréquemment posées sur les symboles SVG skinables
Quels sont les avantages de l'utilisation des symboles SVG au lieu d'autres formats d'image pour la conception Web?
Les symboles SVG présentent de nombreux avantages par rapport à d'autres formats d'image tels que JPEG, PNG ou GIF. Premièrement, les SVG sont des graphiques vectoriels évolutifs, ce qui signifie qu'ils peuvent être redimensionnés sans perdre de qualité. Ceci est particulièrement utile pour la conception Web réactive, où la même image doit être affichée sur différents appareils à différentes tailles. Deuxièmement, les symboles SVG peuvent être appelés à l'aide de CSS, améliorant ainsi la flexibilité de conception. Enfin, la taille du fichier de SVG est généralement plus petite que son homologue bitmap, ce qui peut accélérer le chargement et améliorer les performances du site Web.
Comment modifier la couleur du symbole SVG?
Vous pouvez utiliser CSS pour modifier la couleur du symbole SVG. Par défaut, SVG hérite de la couleur de son élément parent. Cependant, vous pouvez remplacer ce paramètre en positionnant le SVG ou ses éléments enfants dans CSS et en appliquant la couleur souhaitée. Par exemple, vous pouvez utiliser l'attribut fill
pour changer la couleur à l'intérieur du SVG, ou utiliser l'attribut stroke
pour modifier la couleur de son contour.
Puis-je utiliser des symboles SVG dans tous les navigateurs Web?
Les symboles SVG sont largement pris en charge dans tous les navigateurs Web modernes, notamment Chrome, Firefox, Safari et Edge. Cependant, les versions plus anciennes d'Internet Explorer (IE8 et ci-dessous) ne prennent pas en charge SVG. Si vous devez prendre en charge ces anciens navigateurs, vous devrez peut-être fournir des images PNG ou JPEG en tant que repli.
Comment animer les symboles SVG?
Les symboles SVG peuvent être animés à l'aide de l'animation CSS ou JavaScript. Les animations CSS sont plus simples et fonctionnent mieux, mais JavaScript offre plus de contrôle et de flexibilité. Vous pouvez animer diverses propriétés d'un SVG telles que sa position, sa taille, sa rotation, sa couleur et sa opacité.
Puis-je utiliser des symboles SVG dans HTML?
Oui, les symboles SVG peuvent être intégrés directement dans HTML. Cela peut être fait en utilisant les balises <svg></svg>
et <symbol></symbol>
. La balise <symbol></symbol>
est utilisée pour définir le symbole SVG, et la balise <use></use>
est utilisée pour l'instancier. Cela vous permet de définir le symbole SVG à la fois et de le réutiliser plusieurs fois dans le HTML.
Comment rendre mes symboles SVG plus accessibles?
Pour rendre vos symboles SVG plus accessibles, vous devez utiliser les balises <title></title>
et <desc></desc>
dans le SVG pour fournir un texte alternatif. La balise <title></title>
fournit un court titre descriptif pour SVG, et la balise <desc></desc>
fournit une description plus longue. Ces balises sont lues par les lecteurs d'écran et fournissent un contexte vital aux utilisateurs malvoyants.
Puis-je utiliser des symboles SVG dans CSS?
Oui, le symbole SVG peut être utilisé comme image d'arrière-plan dans CSS. Cela peut être fait en codant pour le SVG en tant qu'URL de données et en l'utilisant comme valeur de l'attribut background-image
. Cependant, cette méthode ne vous permet pas de style ou d'animer le SVG avec CSS.
Comment optimiser mes symboles SVG pour les performances?
Il existe plusieurs façons d'optimiser vos symboles SVG pour les performances. Tout d'abord, vous pouvez compresser le code SVG pour réduire sa taille de fichier. Deuxièmement, vous pouvez utiliser la compression GZIP pour réduire davantage la taille du fichier. Enfin, vous pouvez utiliser HTTP / 2 pour servir votre SVG, ce qui permet un transfert de données plus rapide et plus efficace.
Puis-je utiliser des symboles SVG dans JavaScript?
Oui, les symboles SVG peuvent être utilisés dans JavaScript. Cela vous permet de modifier dynamiquement les propriétés du SVG, telles que sa couleur, sa taille, son emplacement et sa visibilité. Vous pouvez également utiliser JavaScript pour animer les SVG, créer des SVG interactifs et charger les SVG dynamiquement.
Comment créer des symboles SVG réactifs?
Pour créer un symbole SVG réactif, vous devez utiliser des unités relatives (telles que des pourcentages) pour la largeur et la hauteur du SVG, plutôt que des unités absolues (telles que les pixels). Cela permet au SVG de se mettre à l'échelle avec son élément parent. Vous pouvez également utiliser l'attribut viewBox
pour spécifier le rapport d'aspect et le système de coordonnées du SVG, ce qui lui permet d'échelle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

La montée en puissance du pouvoir technologique des femmes chinoises dans le domaine de l'IA: l'histoire de la collaboration d'honneur avec la contribution des femmes en profondeur au domaine de la technologie devient de plus en plus significative. Les données du ministère des Sciences et de la Technologie de la Chine montrent que le nombre de travailleuses scientifiques et technologiques est énorme et montre une sensibilité à la valeur sociale unique dans le développement des algorithmes d'IA. Cet article se concentrera sur l'honneur des téléphones mobiles et explorera la force de l'équipe féminine derrière qu'elle soit la première à se connecter au grand modèle Deepseek, montrant comment ils peuvent promouvoir le progrès technologique et remodeler le système de coordonnées de valeur de développement technologique. Le 8 février 2024, Honor a officiellement lancé le Big Model de Deepseek-R1, devenant le premier fabricant du camp Android à se connecter à Deepseek, excitant la réponse enthousiaste des utilisateurs. Dant ce succès, les membres de l'équipe féminine prennent des décisions de produits, des percées techniques et des utilisateurs

Deepseek a publié un article technique sur Zhihu, présentant en détail son système d'inférence Deepseek-V3 / R1, et a révélé pour la première fois des données financières clés, ce qui a attiré l'attention de l'industrie. L'article montre que la marge de bénéfice des coûts quotidiens du système atteint 545%, ce qui établit un nouveau profit mondial dans le modèle mondial de l'IA. La stratégie à faible coût de Deepseek lui donne un avantage dans la concurrence du marché. Le coût de sa formation sur modèle n'est que de 1% à 5% des produits similaires, et le coût de la formation du modèle V3 n'est que de 5,576 millions de dollars, bien inférieur à celui de ses concurrents. Pendant ce temps, la tarification de l'API de R1 n'est que de 1/7 à 1/2 d'Openaio3-MinI. Ces données prouvent la faisabilité commerciale de la voie technologique profonde et établissent également la rentabilité efficace des modèles d'IA.

MIDEA publiera bientôt son premier climatiseur équipé d'un grand modèle Deepseek - MIDEA Fresh and Clean Air Machine T6. Ce climatiseur est équipé d'un système de conduite intelligent avancé, qui peut ajuster intelligemment les paramètres tels que la température, l'humidité et la vitesse du vent en fonction de l'environnement. Plus important encore, il intègre le grand modèle Deepseek et prend en charge plus de 400 000 commandes vocales AI. La décision de Midea a provoqué des discussions animées dans l'industrie et est particulièrement préoccupé par l'importance de la combinaison de produits blancs et de grands modèles. Contrairement aux paramètres de température simples des climatiseurs traditionnels, MIDEA Fresh Air Machine T6 peut comprendre des instructions plus complexes et vagues et ajuster intelligemment l'humidité en fonction de l'environnement familial, améliorant considérablement l'expérience utilisateur.

La construction du site Web n'est que la première étape: l'importance du référencement et des backlinks La construction d'un site Web n'est que la première étape pour la convertir en un actif marketing précieux. Vous devez faire l'optimisation du référencement pour améliorer la visibilité de votre site Web dans les moteurs de recherche et attirer des clients potentiels. Les backlinks sont la clé pour améliorer le classement de votre site Web, et il montre à Google et à d'autres moteurs de recherche l'autorité et la crédibilité de votre site Web. Tous les backlinks ne sont pas bénéfiques: identifier et éviter les liens nocifs Tous les backlinks ne sont pas bénéfiques. Les liens nocifs peuvent nuire à votre classement. Excellent outil de vérification de la liaison backlink gratuite surveille la source des liens vers votre site Web et vous rappelle les liens nuisibles. De plus, vous pouvez également analyser les stratégies de liaison de vos concurrents et en apprendre. Outil de vérification gratuite de backlink: votre agent de renseignement SEO

Deepseek-R1 autorise la bibliothèque Baidu et NetDisk: L'intégration parfaite de la pensée et de l'action profondes s'est rapidement intégrée à de nombreuses plateformes en seulement un mois. Avec sa disposition stratégique audacieuse, Baidu intègre Deepseek en tant que partenaire modèle tiers et l'intégre dans son écosystème, qui marque un progrès majeur dans sa stratégie écologique de "Big Model Search". Baidu Search et Wenxin Intelligent Intelligent Platform sont les premiers à se connecter aux fonctions de recherche profonde des grands modèles Deepseek et Wenxin, offrant aux utilisateurs une expérience de recherche IA gratuite. Dans le même temps, le slogan classique de "Vous saurez quand vous allez à Baidu", et la nouvelle version de l'application Baidu intègre également les capacités du Big Model et Deepseek de Wenxin, lançant "AI Search" et "Wide Network Information Raffinement"

Ce scanner de vulnérabilité de réseau basé sur GO identifie efficacement les faiblesses de sécurité potentielles. Il exploite les fonctionnalités de concurrence de GO pour la vitesse et comprend la détection de services et la correspondance de vulnérabilité. Explorons ses capacités et ses éthiques

Ingénierie rapide de l'IA pour la génération de code: guide d'un développeur Le paysage du développement du code est prêt pour un changement significatif. La maîtrise des modèles de grande langue (LLMS) et de l'ingénierie rapide sera crucial pour les développeurs dans les années à venir. Ème


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code