Я думаю, идеально, как всегда, попросить исходники и работать в том же тулинге, что и автор шрифта. Я взял trial version RoboFont, им декомпилировал otf в ufo и в нем же рисовал лигатуры, прописал feature liga и экспортил обратно в otf. Я в шрифтах слабо разбираюсь, но как программист подозреваю что там куча информации могла потеряться в таком процессе реверс-инжиниринга. Мозилла выкладывает исходники Fira Mono в UFO, но я не смог ни одним редактором их открыть к сожалению.
Вы не слышали, что теперь просто Sonу? Претензия к автору лишь в том, что сейчас продаются ещё и Sony Ericsson, и Sony. Но по сути это одна и та же марка.
Я думаю будет в тему добавить ссылку на доклад от Chandler Carruth — Refactoring C++ with Clang. www.youtube.com/watch?v=yuIOGfcOH0k&feature=plcp
В нем объясняется и показывается на конкретном примере реализация ренейма метода.
А теперь, когда код оформлен, конструктивная критика:
1. Для Q_PROPERTY setter должен быть объявлен как public slot, иначе из того же QML нельзя будет например написать:
myObject.myProperty = 10
2. Changed сигнал должен emit'иться не абы где, а именно в setter'е и, желательно, только в том случае, если пришедшее значение действительно отличается от текущего.
3. Q_INVOKABLE относится не к группе методов, а к каждому конкретному методу, поэтому есть смысл писать его на одной строчке с объявлением метода.
4. Менять значение переменной использующейся в Q_PROPERTY напрямую — моветон, а вас же есть setter.
5. Ну и в общем Qt Creator умеет сам генерировать идейно правильный код для setter & getter если поставить курсор на слово Q_PROPERTY и нажать Alt+Enter
steam.wikia.com/wiki/List_of_DRM-free_games
Как уже было сказано, это решают сами разработчики, добавлять DRM или нет
www.youtube.com/watch?v=yuIOGfcOH0k&feature=plcp
В нем объясняется и показывается на конкретном примере реализация ренейма метода.
1. Для Q_PROPERTY setter должен быть объявлен как public slot, иначе из того же QML нельзя будет например написать:
2. Changed сигнал должен emit'иться не абы где, а именно в setter'е и, желательно, только в том случае, если пришедшее значение действительно отличается от текущего.
3. Q_INVOKABLE относится не к группе методов, а к каждому конкретному методу, поэтому есть смысл писать его на одной строчке с объявлением метода.
4. Менять значение переменной использующейся в Q_PROPERTY напрямую — моветон, а вас же есть setter.
5. Ну и в общем Qt Creator умеет сам генерировать идейно правильный код для setter & getter если поставить курсор на слово Q_PROPERTY и нажать Alt+Enter
Удивительно, вы где учитесь/учились?
Russian pack
ссылка на бета-версию
Сайтик — www.secretgeometry.com/apps/cathode
Демо — www.youtube.com/watch?v=J25oGug4wUU
Microsoft Coding Standards
Linux kernel coding style
Boost Guidelines
Alexandrescu C++ Coding Standards
Mozilla C++ Portability Guide