과거 Windows Live Writer를 잘 쓰다가, 갑자기 MS 에서 정책을 바꾸더니 해당 솔루션이 없어져 버렸다.
다른 제품들은 모르겠지만, 이 Windows Live Writer는 블로그 글작성 시 가장 훌륭하게 동작하는 Offline 버전의 Blogger Writer App이다.
거의 포기하고 있었을즈음, 구글링으로 우연찮게 Open Live Writer 라는 것을 발견했다. 과거에 개발되어 배포 되던 Windows Live Writer의 원본 소스 그대로 가져와서 Open Source화를 하여 제공한다고 했다.
문제는 2017년 이후 더 이상의 버전업이나 업데이트 없이 현재는 0.67 로 Stop 된 상태.
다 좋은데, 이상하게 Source 탭만 넘어갔다오면 Source 내의 Html Source들이 한 줄로 쭉 표시된다는 점이였다. 게다가, Font도 너무 작아서 해상도가 높은데서는 완전히 쥐약과 같은 모습이였다. 다른 것보다 한글은 정말이지....
그래서 2가지 목표를 삼고 Open 된 소스를 수정해야 겠다는 생각을 갖게되었다.
이 작업을 위해 공식 사이트에서 Source를 다운로드 받았다.
현재 Visual Studio 2017 Community Edition을 사용하는데 다행히 Open은 되었다. 이제 다음을 Focus로 수정을 하도록 하겠다.
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAl8AAACOCAYAAAAPQm2+AAAezUlEQVR4nO2d728U17nH+5ccg3td0lgFbnESSnBAtpU4iZOg1jUEey8GAsIEpKYEFJGggPnh2AXT2+aKG+Q1yMamVAkQbHcNht5IDQ5emyTY2EL1vOo/cKX7Dzz3xZnZPXPmnNmZ/TXHO98XH2nZmTlnZnat/fA8zzznJ4wxKheJRIJGRkZy7veLX/yCPvjgg7KdlylzAwAAAKDy+Uk5JwsqXwAAAAAAlQrkCwAAAACgjEC+AAAAAADKiJHy9dOf/pSam5sjuSFRzg0AAACAysdI+ULBPQAAAAAqFciXQXMDAAAAoPKBfBk0NwAAAAAqHyPlCwAAAACgUoF8AQAAAACUEcgXAAAAAEAZMVK+0GoCAAAAAJWKkfKFgnsAAAAAVCqQL4PmBgAAAEDlA/kyaG4AAAAAVD5GyteqVavoueeei+SGRDk3AAAAACofI+ULgIJpSFLLwBK9dXhX9OeyEsD9qiBqqX/KIstapu+udJRpzjpafzRNbZfu0ou/ivr6VwZrfz9LbQP3aeOG6M8FKNh+lR5ZFllP71Hfq8UfH/IVCxL08ieDVFtVirG7qfGTswWPs+HjxeL+8L/7NbUNLFFbXudWmvu14eNFfk4DD2lzU1XxP4uGJDXlew8Lul/5U3PgOs1ZFlkOzyaomzFirIYOXJ+z339GE93lO6f84dLzbKLbfX3L39GVDmm/Sec687tX4hxu+H3Tb/ejjtZ/8GWe8tREG88uUdtAml55s0z3e/8oPZ4fp5Ob/fd7/cJt+vLk5pDj76fRx/Z3MsAc4XmbXup+Qm0DM7R124bwx7eMUtN7jeW5zwWy5fQEzYt/4wJzI3uKNM92ujo5Qns027dffUSW9ZTu9b2q2T5JI3t8zn9OP3a+lFW+glJdXU319fWxm7tkvPs1tZ2/UhL5qj30bVF+sIsuX4beL8a6qbFE8mXUPQwAlwkxOlNDB64NuaWk5gBdn6ss+ao5cJ3mnoWXr8w98pErtewFpO7P1LySIleB5Gs/jT6ep/HQ8hVmjnLDxa15hciXyParj+jpvT56tcjj+gvSdrr66CnNzs6r595ymibm57TyxY8vpihySipfIyMjgZCPi1fBfYJe/sMiNR0epJaBJR59kH74nR/V2kPf2pET9z7ZiIp8bDc1Ou8LNLWvzs7vRDxU2xTbMz/udprKPbZbKlznNTBGdaLMiMefv0KbPwkmDvweqMdyzl2c13M9Gfnh9919XTnul0fKJJGS7pVaSvOUL3ls8R54tknbG5LUMjBGdVXu6wtyvxy5rtNG7cQxx2hzYBnnErH83RXq8NtPK19iZMwiSxKO2v4p1/+wPUL0bIJ6M/uIAlhL/VPudF1t/1T2PGv7aWr5O7o2OqUYO4d81Ryg63Py//6duWqpf+oZTU5O2WP2alKHfvLlnT+LE5nKsu33h7TbvNt/pNd2J3hq0d7+m1P9tIYxLm3Ocf85SmvFeZ8/Slv/mKZXdmb3yRzHGGXSlQNL1DbwI7126FpwAbTF6PPLU7Ro38/p5K8z2/ePPvZGW6aT9Gt72/TkJD223+u1950fP0mbFXMUVb5+dZFeu2Tfrz/eoPXPi9sP05Y/zdDWXZey+5z5M9XY29fsvku/kf/WPWMo2H6VHlkKwdhymibm7YhQRkK4bMjRKR49UketuPzcomsT8/Z2dZRJK19Oik8ee8tpmpi3yBLEyomkzY3syW53fc7S3Nuv0qOn96jvw6v0yCVoW+h05nyzqM5vy+kJmi9y+rHk8rVx40Zas2aNknXr1kG+mCMBzo8l/7coIs6Po0tOGhJUW2X/OMoiJv/46SI5krTwH3Hvj7r4g7xh5xnXGLrIlyxJ7vOSrjFUvRH/sRfPSb4Huv3E92WJqG1M5L5fOeRrw8eiFNpSrZW/MPLl/U6wd8+4BZT5RL4yous+v9pGr0Qp5Ut4332v7e9u5nO1720Q+ao5QNfnAtQkaeSrtn9KEC5Z5KS0njSGk75zJMUdLQogX5Yl/dsZu5DIl3BsbT9N2dLlmptlr1UpWD73tHrbX+kdl9Q0Ud3OQ+79tJEvR85+pNd2v5UdszEhSBSjmvceaORLkLLnj9LWP2bHqXnvgVAnFrJubP8oPRaFaf8oPbamKflrcT915Gv/6GNbxHh6cX78JG1WiVYJI19rdt+l3yjlSxQq/m93lCufyBeP/tzre9UWHeG1IxUZkRElbQvt3v0qedJ6UrTIJURMLytK+bLnzQiXLIqiIGqiUH6Rr8w2XYQrZ+RLcU5FoOTyVV1drd1eXV0N+VL+sH7tFSplGkxzrBwZ0siEV5zcwqAUOZZrDO84jDEh+uK8FgVEcR2B59Qd6y9fvnPlKV8y6vuXX+RL/x1w7+MnX957kft+ecRW/BwV1xLkO8MYK1C+vILkRKTU6Ta3FHmEyDVHEPkSz0eUIafQXSKwfNnzCtdSc+A6zQaVL8+5CdT9mZoleVLu4yNf7oiVF718ifNyweJRNfE1398riT54ZEslWnr54tImbH/9Ak3NmiFfolit/f0svfPhh1Sd2Scf+dpCpydm6V7fq7Tl9ATNzs7SP0b2cKlwpEWWIF/cEuSVLUH2hONU8uUVJx6R8kTWnt6ja189UhbA6+VLHMs7Lstcdw6xcglgcT5/I+UrXq0mFKIiCZT+B03xg+kRG6aVCXdaUE4tBhMitXyp03eZaJNCEEPVK+UQAO298X1fIF/5UqViiyRf7vHHPFEv33uo+k4E+S6pPl9fiQ5RA1iIfCnTd+7CfE8hvxzpeqaLjAVLO2ZlSoy6FRr5ss8hT/ni1+xXH5dN8YnCkyGHfCmPEefXypdYhC8Kl2LcMHVnHjEKJ188RWmifLmL8IsnX1w8tl/9hu5d+4q+uddHu0VpySEYqsJ5l3y55EcdoVLJl5zOVKf/nFSo+vy08iWJ1farj1wpTNU+SkKJaTDKIl/r16+nF1980YNOvuJFxPKl/aEsXL60glOofLEEvfwHQeSUEaFyy5c3oqa/NwUW3GsiWSbIV1kiX7mOFdJ2/D23sFSqfPlGvlzYEiaLkgHyFTryBfkKDBefa/TVozka+eg0TczySFJGcvzkS0xVMkZyFKlg+cr5NGGe8iXVklmq1hGVHPn6+9//Tv/61788QL4YqSQnUB2X5tjQaUefVFahaUetTLkiVwH218z71uFdPtJWBvkS5SOwiBTnaUfV2GWXL7nmy4nMBSq456KSX8G9X2G5SngUacfA8iXVk3kERxw7YvkKKrSM2WlIqS1E2eVLrvmya8tWiny9foGmFrNF/GH/hsstXzx1N0uz/xihPXYacnZ2Xipu95EbT1rRJ+2oGUubdsxRzL79Kk83hk07eudTpENR8+V+Pz6tJuwfsMyPujeC4idBgQvuVakqRQSl9tAd6ek9qTbrkKLgXid2smBlemdJsmUX9odqk9CQpJbzD+ktrVQUKF/a+yUW2C8K90caV9s3Kw/5akhSi2scdd2a9ntSMvliUqo1zNOOqlYTjGrPX3PXbQUquGfkKrKXBMl58jGYfKlkSy6wl8bKp+Be1furUPnSPkFaR+uP/o9LtNzSY6MSMsaolPLlftIyv6cdc8uX+ylIxooY+VIW+QejUPlyvxcAOwrkyIin91XOyJeUvpPTjsJYjizlVXDPGG05/RXdcs7DFXXj0hdM4FTRNx6xcx0fIKoVLDoXDiPlK44F965WE4qIht8Pmr7VhHof91OTcp2SImqmajUhnb+qVYGrNYZ8XXm2mvDMK1+vsgWGeN4B5MvnfonX1NR+Rt9q4vwVqvOJCurvp8+1+taSZa/N0xLCT75y3K+c8qW4b2E+R32TVQd3EbsoHXI7CVE6xG3L3w3R+cBpR+auKbNbUuhbTchtKoI0WXW3ychGzYLIl3Td8v3SpB6rt/2V3nF9xupmqDXvPfC2kvCVrzpX+4kMjkDllC/FecoCpyOQfLHMU5Fiw9TA8uVEtyyLLEs3drg+Yryzvfw353S6DyJfzN2uImiXfElyuDDpnir0Hi/WZj2999/0X560o9hqQh0l0raa8LSMsI+333cdI0kkH8PdNmJuZI/3+mxU77vq2ZQ1YcVNOTIG+TJgbl1LAgDMx9V6JFCEbYXj+1SlGdT2Tykk1kyq3zhD/y60vwgSYTMHoU1F5OcSLaXqAh89ikhZkSi5fK1bt45WrVql5Gc/+xnkC/IFVjDyE7MV/z1eAfLFmBMdK+fajvkhR+RytbMwhdcv8MauEC9ORcqXMsJWPIzscB+vVhMAAAAAiBNGru0IAAAAAFCplFW+Dh48iNYSAAAAAIg1RspXvFpNAAAAACBOGClf8Sq4BwAAAECcgHwZNDcAAAAAKh/Il0FzAwAAAKDyMVK+YttqoidFy06X3bt9tNqALwgAAAAAiouR8hVPOmk4bdHsyF6qivxcAAAAAFAqIF/GwOXrbl+FdwgHAAAAYo6R8hXPVhOQLwAAACAOGClf8Sy4h3wBAAAAcQDyZcrcncOUtmZpZG9V5F8KAAAAAJQOyFfkc/dQapk/4YhiewAAAKDyMVK+YtlqonOY0hbSjgAAAEClY6R8xRPUfAEAAABxAPJlDJAvAAAAIA4YKV9oNRH9FwMAAAAApcFI+YpXwb0DOtwDAAAAcQDyZdDcWNsRAAAAqHwgXwbNDQAAAIDKx0j5imWrCQAAAADEAiPlCwAAAACgUoF8AQAAAACUESPlK56tJgAAAAAQB/KSrxde+DktPvvIw/Ubu32PQ8E9AAAAAOJOXvK1cePz9L//d8bD1IP3fY+DfOlZvXo1/fKXv4z8CwEAAACA0gL5MmRuRNzAyqaeTk3Mk2VZNDe6z37vJfqi9zQtnXyHal2v+TEnjne7/h2OZrp5+SxN/+4VqnG9Lvxaqpra6WHyLN3Z6X7tbN91+BgtJQ/Qaek1Y4y2JafJsixavN9Pb0T+mQAATMVI+YoyChTV3JHIV0+KlmdHaG+V/349qUnqWx1y7M5hSkfRMLZjiGYWUtTT6L9fw7mbdKunMeT4HTQ0Y19TgDlctA7StHM/bLKSUiitNDhtj7t4j843l/E7ZNM6OE2L985Ts/R+VrC4fLkEaesO+mbgfeqtyWdOcTwuX3/7j38rzvVUtdCYS76OUVL4rFe1d7nl6/xOSrjG2ESfjj2h7//SVfbPAQCwMjBSvuKIsfLVOUxp6254+bLpHE4bKF8dNDSzQKnQ8hVmDonWQZoWxah1kKatRbp3vrl41y7PUS5aB2namqPRfd5tO7qO0ENbuE4c75YEiQtUvtKUHe8l+qL3GA01F2td1E00eMEWrqoWGhMiW4zZQmYL16r2Llr8pMU7xrYkTVvf01+6yvxZAABWBJAvQ4gk4mbLV+9wOhONyS7szdeatKRojbP2ZE9qme5OTvLlkO72UW9q2bXdmSMq+bp0KUUL9jmnhxOZ7R1DM55rstLDlLC3pScnacZ+r9fedyHVQ42KOQqSLztNJ0aLWgenhfMSZKb+FE3Mz9HtaxM0b29XRZm08iVH3eZGaZ/r2GzK0DO333lpriMMO7qO0FNN6vHE8W6a/t0rlOg6Qk+TZ2kpeZaW+hO0r7qMfyN5w6NfyvTjtiT/PL7/C3VFfp4AgCgwUr7imHaMBHstyYww9aRoWY5yaSJfPallW6p6KLVsj6GIpIWWr5rf0pmRcRof93Lrwt7cx3cM0YwoTB1DNGOlaTgh7qeOfHUMzdgixtOLC6kealSJVgnkq/7UBM0LYtM6OJ2VpPpTNDFvSf9WRM008tU6OCkIE583m/K0xUs8rv4I9R7nY/ueF2PkpDzzT6E2083LHymjVieOd9NSUqrl2rqJEitCvuz6L5VgOfK1eJ/634j+PAEA5cdI+YpjwX0keGSrh1LLszSytyq7j498cWkTjukcpnSh8lUoHtlSiZZevri0CdsbzlFqtgTyZUejuLTIQsQy0a7RfUwpW8oaq4BpR6/Y6dKfOc4r5/HBcCJccrH8iePdKyjS5WXTp2P0BIIFAFAA+TJk7ijTjllZCidfPEVpoHy5xCicfPEUZYnkS0p3ZuVJKJh3YUuNLDxMFYFievlyImeq1KNPvVbO88ocX2DtWts+mldIVmFPQ0bPpk/H6AnqvgAACiBfhsxtRsG9AfJVjLSjqfLliJFHpnKk7gqSLz62GCWrPzVB8yHkyzelWITIly71WBHyhcgXAECBkfIVx5ovyFeRiFq+atvps9Fxun35KDWJ70ti5JanHEXrHsHR7K+SL03KMkza0b+YvtCaL45KtAqWr4M36AfLoid3TtCmcn3/BLQ1X5s+pbEn6AUGQJwxUr7iiNnyJb3HKkG+3E9BMlYc+apt/4xGx8dp/PZlOtokbJPFSJIeubCdsXo69eVtIVImRK90qT6fyFdGjpz0pyR+riha6+d0Lch52fsro3BhadtH80l3z69iRL7evPiAFp/coRObyvh3xRgxto2S05a61xcK7gGIPZAvQzC25ovZAiU1TA0qX84Tlfz4/PuFBSaQfLHMU5Fiw9TA8tVwjlILzjV5x37hwz/RZx3SeSnEiLdwkAVMUZelaDWhjDS5arvkuqxsE9YvPhfSjoxRrlYT2vNyzVto6tHb86to8mU9pIG3y/h3xQKkHNEHDIBYY6R8xTHtCIAWRc2XadSfmqD5Ahu87ug6Qk+L+XTjmxfpwaJFDwfeLu/92PQpjT1ZpPv9b2j28YmKAQBigZHyFceCewC0rAD5YiwbISveskn5c/DGD2RZ5RcvvrajXryctR8hXgDEG8iXIXMj4gYAAADEA8iXIXMj4gYAAADEAyPlK441X5AvAAAAIB4YKV9xBPIFAAAAxAPIlyGg5gsAAACIB0bKVxzTjgAAAACIB0bKVxwL7gEAAAAQDyBfhsyNiBtY2WS75Gf7fPGu9bxLvfiaH1NYB/tmunn5LE3/7hWqcb0u/FqqmtrpYfIs3dnpfs0YI1bVQmPiv0OxiQYvnKVvD/2q+Oe19iLdtyyy/jlNybzODQBQTiBfhsxtxtqOanpSk+GXBeocprS0JFFZrslv0WuBhnM36Za85FBO+JqQ4pJEgY8Vl/jxWyIoL/j6jc7yQYV0mc+X1sFp5QLcWcHi8uUSpK076JsB93qOwRHH4/IlLk1UEIJgcck5Rknhs951+BgtftKS19ir2rto6fxOSpTgvBhjtOb9GzT3bIxOlvnzBwCEw0j5imPNl7Hy1TlM6QLWZIx+YW0VmvUeizqHhLy2o25x7EJQLqxdBloHadpSd+Df0XWEHtrCdeJ4tyRI3vUcw5Ad7yX6ovcYDTWvLtI1baLBC7bYVLXQWPIAnRa2c/FxvxeYqhYaU0hTMc6Ls5Yu3rfo2djJ8n4HAAChMFK+4kiU8tUrLJzNF8tmxFgnDafdkRrLsmh2ZC9VMXth7clJvmj23T7qTS27tjtzRCVfly6laME+Z75YNt/eMTTjuSYrPUwJe1t6cpIvuJ0epl5734VUDzUq5ihIvuw0nRgt4gttKxa3ViysrYoyaeVLjrrJC2PnWFhbe16a6wjDjq4j9FSVenSiYu37aD55lpaSxUsrFg5PHypTjxm54vss2eeeTTVW0ZkT6tSjI3Vn2rsUxwVnzfs3aE6ZfuRiZlnPaOxk1PcQgHgD+TKESCJuPSlaFoWpJ0XLcpRLE/nqSS3bUtVDqWV7DEUkLbR81fyWzoyM0/i4l1sX9uY+vmOIZkRh6hiiGStNwwlxP3Xkq2NoxhYxnl5cSPVQo0q0SiBffF3ErNi0Dk5nJan+FE3MW9K/FVEzjXy1Dk4KwsTnzaY8bfESj6s/Qr3H+di+58UYOSnP/FOozXTz8kfeqNXWHfTNwNlsTdjWHfTNgGK/iNCmD+3U4JIU3Uo0ZiVKFzlz6riclKYutZiTtRfpvlKwHPn6J00nd0Z+DwGIM0bKVxzTjpHgka0eSi3P0sjequw+PvLFpU04pnOY0oXKV6F4ZEslWnr54tImbG84R6nZEsiXHY3i0iILEXMvpq2QLWWNVcC0o1fsdOnPHOeV8/hgnDje7Y1qeWSrsBRl0dGlD2358o9YqSNnXtnyibD5seZ9ujEHwQLAZIyUrzgW3EeCJ1IVTr54itJA+XKJUTj54inKEsmXlO7MypNQMO/ClhpZeJgqAsX08uVEzlSpR596rZznlTm+wNq1tn0035+gfdXCe55ifMPkS5c+DPg0pKpo3xsRK0S+UPcFgMlAvgyZO7K0o2nyVYy0o6ny5YiRR6ZypO4Kki8+thglqz81QfMh5Ms3pViEyJcy9Wi8fGlSjwHlS5V6LK58IfIFgMlAvgyZ24ynHQ2Qr0KJWr5q2+mz0XG6ffkoNYnvS2LklqccResewdHsr5IvTcoyTNrRv5i+0JovjqfnVzHk6+AN+sGy6MmdE7SpFN81lWgF7gPm7flVNPnS1nytofdvzKEXGAAGYKR8xbHmy2z5kt5jlSBf7qcgGSuOfNW2f0aj4+M0fvsyHW0StsliJEmPXNjOWD2d+vK2ECkTole6VJ9P5CsjR076UxI/VxSt9XO6FuS87P2VUbiwtO2j+aQgW0WKfL158QEtPrlDJzaV4vvGU4+u9GGIJqy7Dh9zRc6KJV9rL94nS9nrCwX3AJiCkfIVR4yVL2YLlNQwNah8OU9U8uPz7xcWmEDyxTJPRYoNUwPLV8M5Si041+Qd+4UP/0SfdUjnpRAj3sJBFjBFXZai1YQy0uSq7ZLrsrJNWL/4XEg7Mka5Wk1oz8s1b6GpR0muiilf1kMaeLs03zePMIXpgC8V7RdFvnKmHNEHDAATgHwZQqyesgThUNR8mUb9qQmaL7DB646uI/RULrwvhDcv0oNFix4OvF3Cay9kySBF5KwgeFrxn9NJ2qnZRx8VAwCUEyPlK45pRwC0rAD5YiwbISveskn5c/DGD2RZpRYvg7DXdtSKl7P2I8QLACMwUr7iWHAPAAAAgHgA+TJkbkTcAAAAgHgA+TJkbkTcAAAAgHhgpHzFseYL8gUAAADEg7zk64UXfk6Lzz7ycP3Gbt/j8LSjHsgXAAAAEA/ykq98gXzpQc0XAAAAEA+MlK84ph0BAAAAEA+MlK84FtwDAAAAIB5AvgyZe9WqVfTcc89F/oUITzc1fnLWgPOw8Vv0WqDh3E26JS85lBO+JqS4JFHk1wsAAGDFAfkyZO6VGnGrPfQtta04+dKs91jUOQAAAAA1RspXHGu+opGvBL38h0Vqal9NGz5epLaBJU5Gpvj2zPvnr1Cts2h2Q5JanPczPKTNTXxR7g0fL9Jbh3dl53r3a9fxGWl792vh+DGqq8ruW3fo28y2pvbVwa7JFqNLl1K0YC8EzRfL5ts7hmaEBaRt0sOUsLelJyf5gtvpYeq1911I9VCjYg6lfDmLbkPOAAAAaDBSvuJIlPIly01tI5eVDR8vCsLE93UJFdNHvgLJl0v0GLGGBN9uC1nm+He/zopZrmvqGKIZUZg6hmjGStNwQtxPHfnqGJqxRYynFxdSPdSoEq0g8uWZEwAAAOBAvgyhurqa6uvryzyvLV/KtGE3NQqRLMaYR6AYK1S+NELlkS3FuejwyJZKtPTyxaVN2N5wjlKzIeQLAAAAyIGR8hVl8fnKLXzPB3U0izGmSSsueYSpIPmSRE63b2j5colROPniKUrIFwAAgNJhpHzFseA+GnLJV27hgXwBAAAA4YB8GTJ3NBE3H/li3dQYoNA9qHzJslW58mW3o7CL+KP4DgMAADAbyJchc0dZcK+WL7ngnpGqp5dOotzvc5EzS77cT0EyViT5QsE9AACAHBgpX9EUn0c7t4nyxRhzt6AQn0CUxvC2hBDfH6O6nSalHVnmqUixYWpg+coIlkWWpRi74RylFgroIwYAAKCiMVK+4ki8as0qmQY6l1rw9gYDAAAAbCBfhhBltA8Uh4ZzvLErxAsAAIAfRsoXWk0AAAAAoFIxUr7iWHAPAAAAgHgA+TJkbkTcAAAAgHgA+TJkbkTcAAAAgHhgpHzFsdUEAAAAAOKBkfIFAAAAAFCpQL4AAAAAAMqIkfIVr1YTnTScdrqlz9LI3gBd3AEAAACwYjFSvuJYcM8Yo57UMll3+2i1AV8MAAAAAJQGyJdBc3cOpyFfAAAAQIUD+TJobsgXAAAAUPkYKV9xbTUB+QIAAAAqHyPlK7b0pGjZukt9qw04FwAAAACUBMiXYfSklvmTj7MjtLcq+vMBAAAAQHExUr7i1WoiS+dwmixEvgAAAICKxkj5QsF99F8MAAAAAJQGyJdBc0O+AAAAgMoH8mXQ3JAvAAAAoPIxUr7i2moCHe4BAACAysdI+YoXWNsRAAAAiBOQLwAAAACAMmKkfMW11QQAAAAAKh8j5SuuBfcAAAAAqHwika9169a5kPeDfAEAAACgUolEvmTk/SBfAAAAAKhUyipfiUQCrSYAAAAAEGuMlC8AAAAAgEoF8gUAAAAAUEaMlC+0mgAAAABApWKkfKHgHgAAAACVCuTLoLkBAAAAUPlAvgyaGwAAAACVj5HyhVYTAAAAAKhU/h/tAi3E+5/kfgAAAABJRU5ErkJggg==)
이 부분의 수정은 Text 라는 프로퍼티를 이용해서 데이터를 쓸 때, \n 을 \r\n 으로 수정될 수 있게 한다. 혹시 모를 \r 이 있을지 모르니 작업전에 \r 을 모두 없애는 로직까지 포함한다. 이 작업을 위해 Text를 Override 처리한다.
![](data:image/png;base64,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)
이제 완성되었으면 배포를 한다.
그래서 방법은 Open Live Writer 자체는 그냥 공식 사이트에서 받아서 그대로 설치하고 Dll 만 패치했다. 설치된 위치는 필자 기준으로 c:\Users\xxxxx\AppData\Local\OpenLiveWriter\app-0.6.2\ 위치에 설치되어 있었다. 해당 위치에 다음 DLL을 복사하면 된다.
이렇게 수정하면 Source 창을 보다 편하게 사용할 수 있다!
나중에 활용을 위해 해당 DLL만 여기에 등록한다.
(Google Drive : OpenLiveWriter.HtmlEditor.dll )
거의 포기하고 있었을즈음, 구글링으로 우연찮게 Open Live Writer 라는 것을 발견했다. 과거에 개발되어 배포 되던 Windows Live Writer의 원본 소스 그대로 가져와서 Open Source화를 하여 제공한다고 했다.
문제는 2017년 이후 더 이상의 버전업이나 업데이트 없이 현재는 0.67 로 Stop 된 상태.
다 좋은데, 이상하게 Source 탭만 넘어갔다오면 Source 내의 Html Source들이 한 줄로 쭉 표시된다는 점이였다. 게다가, Font도 너무 작아서 해상도가 높은데서는 완전히 쥐약과 같은 모습이였다. 다른 것보다 한글은 정말이지....
그래서 2가지 목표를 삼고 Open 된 소스를 수정해야 겠다는 생각을 갖게되었다.
- 폰트를 바꾸자 : D2Coding
- 폰트의 사이즈를 바꾸자 : 12.6f
- 소스 상에서 줄 바꿈한 것도 원래대로 표시하자
이 작업을 위해 공식 사이트에서 Source를 다운로드 받았다.
현재 Visual Studio 2017 Community Edition을 사용하는데 다행히 Open은 되었다. 이제 다음을 Focus로 수정을 하도록 하겠다.
1. 폰트 변경하기.(폰트 및 사이즈)
Font 부분은 OpenLiveWriter.HtmlEditor 프로젝트에 있는 HtmlSourceEditorControl.cs 파일에서 수정한다. 위치는 57 Line이고 해당 부분에 폰트 이름과 사이즈를 등록하면 된다.2. 줄바꿈 문제 해결.
이 부분은 OpenLiveWriter.HtmlEditor 프로젝트에 있는 TextBoxEditorControl를 수정한다. 이 문제의 원인은 Html 소스에서는 \n 만 사용하다 보니, Textbox에서 작성된 \r\n 이 \n 으로 전환되서 발생되는 문제이다. 일단 \r\n 을 \n 으로 변경하는 부분은 손대지 않도록 한다. 그렇지 않으면 Blog에 포스팅할 때 문제가 되니, 그냥 Textbox로 전환될 때 \r\n 으로 전환되도록 한다. ( 아무래도 이 프로그램을 Linux에서도 쓸 수 있게 하려다가 보니, 자연스럽게 해당 코드가 적용된듯...)이 부분의 수정은 Text 라는 프로퍼티를 이용해서 데이터를 쓸 때, \n 을 \r\n 으로 수정될 수 있게 한다. 혹시 모를 \r 이 있을지 모르니 작업전에 \r 을 모두 없애는 로직까지 포함한다. 이 작업을 위해 Text를 Override 처리한다.
이제 완성되었으면 배포를 한다.
그래서 방법은 Open Live Writer 자체는 그냥 공식 사이트에서 받아서 그대로 설치하고 Dll 만 패치했다. 설치된 위치는 필자 기준으로 c:\Users\xxxxx\AppData\Local\OpenLiveWriter\app-0.6.2\ 위치에 설치되어 있었다. 해당 위치에 다음 DLL을 복사하면 된다.
- OpenLiveWriter.HtmlEditor.dll
이렇게 수정하면 Source 창을 보다 편하게 사용할 수 있다!
나중에 활용을 위해 해당 DLL만 여기에 등록한다.
(Google Drive : OpenLiveWriter.HtmlEditor.dll )
2019. 11. 8. 오후 6:41
728x90