furo-org / littleslam Goto Github PK
View Code? Open in Web Editor NEW2D-Laser SLAM for educational use
License: Mozilla Public License 2.0
2D-Laser SLAM for educational use
License: Mozilla Public License 2.0
このプロジェクトでは一部のファイルのエンコーディングとしてCP932が使われています。
これによって、以下の問題が生じています。
-finput-charset=cp932
, -fexec-charset=cp932
を指定してもgccのバージョンによっては正しくエンコーディングを変換できない、macOSのclang, gccで正しくエンコーディングを変換できない、といったことがある。macOSについてはこのプロジェクトではサポートしていないようですが、対応すれば、プログラムを動作させられる読者を増やすことができるはずです。また、私はエンコーディングの変更と多少の修正を加えて、macOS上での動作の確認をしているので、対応のためのPull Requestを出す準備はあります。
*.cpp, *.h, *.md, CMakeList.txt
のファイルエンコーディングを一律、UTF-8 (BOM付き) に変換する
*.cpp, *.h
の変換は、ビルドに係る文字コードの問題を解決するために行います。
*.md, CMakeList.txt
の変換はブラウザ等で閲覧したときの文字化けの問題を解決するために行います。
従来これらのファイルはcp932とASCIIが混在していましたが、同じ拡張子のものは同じエンコーディングにするため、一律UTF-8(with BOM) とすることを提案します。
UTF-8は標準的なUnicode符号化方式なので採用する妥当性はあると思います。
BOMを付与するのは、WindowsのVisual Studioにおいて、バージョンによってはBOM無しのUTF-8を正しく解釈できないが、BOMを付与すれば正しくエンコーディングを認識できるためです。
上記の変更適用後、以下のOSで問題なく動作することを確認しました。
OS | コンパイラ |
---|---|
Windows 10 | VisualStudio 2017 C++ Compiler |
Ubuntu 16.04 | gcc 5.4.0 |
MacOS High Sierra (参考) | clang-900.0.39.2, gcc 7.3.0 |
上記提案に対応するPullRequestを作成しました #2
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.