const fs = require('fs');
const path = require('path');

// 读取历史配置
const historicalFile = path.join(__dirname, '../electron/config/default-subtitle-templates-v2.json');
const historical = JSON.parse(fs.readFileSync(historicalFile, 'utf-8'));

// 读取当前配置
const currentFile = path.join(__dirname, '../electron/resources/extra/common/config/system-templates.json');
const current = JSON.parse(fs.readFileSync(currentFile, 'utf-8'));

console.log('=== 历史配置 vs 当前配置对比 ===\n');

const historicalTemplates = historical.subtitleTemplates || [];
const currentTemplates = current.subtitleTemplates || [];

// 按ID匹配模板
const historicalMap = {};
historicalTemplates.forEach(t => {
  historicalMap[t.id] = t;
});

const currentMap = {};
currentTemplates.forEach(t => {
  currentMap[t.id] = t;
});

// 对比每个模板
['template_system_11', 'template_system_22', 'template_system_33', 'template_system_44', 
 'template_system_55', 'template_system_66', 'template_system_77', 'template_system_88'].forEach(templateId => {
  const hist = historicalMap[templateId];
  const curr = currentMap[templateId];
  
  if (!hist || !curr) {
    console.log(`模板 ${templateId}: 缺失配置`);
    return;
  }
  
  console.log(`\n=== 模板 ${hist.name} (${templateId}) ===`);
  
  // 对比关键词组样式
  console.log('\n关键词组样式差异:');
  const histKeywords = hist.config.keywordGroupsStyles || [];
  const currKeywords = curr.config.keywordGroupsStyles || [];
  
  histKeywords.forEach((histKw, idx) => {
    const currKw = currKeywords[idx];
    if (!currKw) return;
    
    if (histKw.groupName === currKw.groupName) {
      const histFont = histKw.styleOverride?.fontName || 'N/A';
      const currFont = currKw.styleOverride?.fontName || 'N/A';
      const histEffect = histKw.effectId || 'N/A';
      const currEffect = currKw.effectId || 'N/A';
      const histColor = histKw.color || 'N/A';
      const currColor = currKw.color || 'N/A';
      
      if (histFont !== currFont || histEffect !== currEffect || histColor !== currColor) {
        console.log(`  ${histKw.groupName}:`);
        if (histFont !== currFont) {
          console.log(`    字体: ${histFont} -> ${currFont}`);
        }
        if (histEffect !== currEffect) {
          console.log(`    特效: ${histEffect} -> ${currEffect}`);
        }
        if (histColor !== currColor) {
          console.log(`    颜色: ${histColor} -> ${currColor}`);
        }
      }
    }
  });
  
  // 对比标题字幕配置
  console.log('\n标题字幕配置:');
  const histTitle = hist.config.titleSubtitleConfig;
  const currTitle = curr.config.titleSubtitleConfig;
  
  if (histTitle && currTitle) {
    console.log(`  每行字符数: ${histTitle.maxCharsPerLine} (历史) vs ${currTitle.maxCharsPerLine} (当前)`);
    console.log(`  行数: ${histTitle.lines.length} (历史) vs ${currTitle.lines.length} (当前)`);
    
    if (histTitle.lines.length === currTitle.lines.length) {
      histTitle.lines.forEach((histLine, idx) => {
        const currLine = currTitle.lines[idx];
        if (currLine) {
          if (histLine.fontName !== currLine.fontName || histLine.fontColor !== currLine.fontColor) {
            console.log(`  第${idx + 1}行:`);
            if (histLine.fontName !== currLine.fontName) {
              console.log(`    字体: ${histLine.fontName} -> ${currLine.fontName}`);
            }
            if (histLine.fontColor !== currLine.fontColor) {
              console.log(`    颜色: ${histLine.fontColor} -> ${currLine.fontColor}`);
            }
          }
        }
      });
    }
  }
});

console.log('\n\n=== 总结 ===');
console.log('历史配置文件中，标题字幕配置：');
console.log('- 模板 11, 33, 55, 77: 8字符/行，2行');
console.log('- 模板 22, 44, 66, 88: 15字符/行，1行');
console.log('\n历史配置文件中，关键词组样式使用 "Noto Serif CJK" 字体');
console.log('当前配置文件中，关键词组样式已更新为不同字体');














